etherchannel and layer 2

Unanswered Question
Sep 21st, 2007
User Badges:
  • Bronze, 100 points or more

In a world with no redundancy, your workstation sends a packet to the IP address of the server on the same network. The workstation checks its arp table doesn't see the address, arps for it to get the mac address and sends the packet. At this point the switch *should* know of the mac address of the server.


The switch looks at it's table and either says, "i know where that mac is" and forwards it out the right port or, it says, "i don't know where that mac is" and forwards it out all ports but the one the packet came in on. The assumption is the server replied to the arp and from that point on the switch knows what port to send stuff to that server on.


Now, introduce etherchannel. Now you have one logical bundling of multiple physical links and, behind each link a different nic in the same server each with it's own mac address but sharing an IP address. Basically we've used etherchannel to create redundancy.


So now what happens? The workstation arps, the server replies, the switch learns and presumably associates that mac with both physical ports because it looks like one logical port. But as the nics load balance, one of two different macs could be replying every time at the layer 2.


How does the switch distinguish which port or ports to ship packets to the server on? Would we expect to see a lot of flooding of packets or would the switch store both of the server nic's mac addresses to the single ether channel and only send packets out both of those ports or...?


I find this confusing.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
scottmac Fri, 09/21/2007 - 07:41
User Badges:
  • Green, 3000 points or more

Etherchannel is a logical creation for bandwidth expansion, not (necessarily) redundancy.


Since it is treated as a single logical entity, routing / forwarding / bridging tables created with the channel are treated as if it were a single interface.


Good luck


Scott


JORGE RODRIGUEZ Fri, 09/21/2007 - 07:43
User Badges:
  • Green, 3000 points or more

Here you are doing NIC failover since both NICs are bound to one IP address only one MAC will be broadcast and not 2 MAC addresses and only one MAC address will map to a single IP address , from a server perspective I do not know how the server does this , look for NIC teaming to understand how server binds 2 NICS hardware address into one virtual MAC address with single IP, from a swithc perspective only one MAC address will be learned from that server in the etherchannel bundle.


Jorge


This is a good question. I would believe the switch would do just as it normally does with etherchannel; using a portion of the frame header, a hash algorithm is used to compute a value between 0 and 7 and then based on that value a port in the bundle is chosen and the frame is forwarded (if you have 2 ports in the etherchannel, each is assigned 4 values) By default the source mac-address is used by the load-balancing algorithm to compute the hash. This is so that packets don't arrive out of order at the destination. This means that traffic from the same source MAC always traverses the same port in the group. This doesn't always load-balance that well, but the load-balancing algorithm can be changed to hash on the src-dst-mac, src-dst-ip, etc.

Actions

This Discussion