You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cloudstack.apache.org by 汤聿津 <le...@gmail.com> on 2012/10/01 10:56:41 UTC

Traffic flow inside CloudStack

Hi, all,

I don't have a strong networking background, so I find the traffic
flow inside CloudStack sort of difficult for me.
Could anyone help me figure out the following traffic flow?

Scenario:
Guest A is sending packets to Guest B, A and B are in the same guest
network. They have never talked to each other. Router VM (denoted as
R) is in the same hypervisor as Guest A is.

Case I: Guest B is also in the same hypervisor
Since A, B and R are all in the same hypervisor, each of them should
have a vnetX interface connecting to the bridge cloudVirBrXXX, thus,
Guest A's arp can be answered directly form B over the bridge and
later traffic flows smoothly.

Case II: B is NOT in the same hypervisor
This is where I get confused.
Again, A and R each has a vnetX interface connecting to bridge
cloudVirBrXXX in hypervisorX. In addition, vlan interface cloud0.XXX
should also be in the same bridge. Guest A sends an arp, since B is
NOT in this bridge, we should follow the traffic to hypervisorY.
1) The arp packet goes from Guest A's vnetX interface to bridge
cloudVirBrXXX in hypervisorX, which then flows to vlan interface
cloud0.XXX in the same bridge.
2) Vlan interface cloud0.XXX adds a vlan tag=XXX to the packet and
then hand it over to interface cloud0.
3) Interface cloud0 is in bridge cloud0, to which R's link-local
interface is also connected.
4) Then what??? Bridge cloud0 has not eth0 connected as its port, how
exactly is the packet directed out of the machine?


Best regards,
Lerry