Port-channel only using one of two links?

mzinzmzinz Member Posts: 328
I set up a routed etherchannel between two 3550s, using ports fa0/1 and fa0/2 on each. I have also set up two PCs, one connected to each switch.

PC1-(192.168.1.2)
(192.168.1.1)-SW1-(10.1.1.2)----(10.1.1.1)-SW2-(192.168.2.1)
(192.168.2.2)-PC2

The port-channels show as up/up on each switch.

When I transfer a file from PC1 to PC2, it only runs at 10mbps, and only fa0/1 blinks on the switches. When looking at the output of 'sh etherchannel detail', it shows 0 load on each interface:

Ports in the Port-channel:
Index Load Port EC state No of bits
+
+
+
+
0 00 Fa0/1 On 0
0 00 Fa0/2 On 0

Likewise, only fa0/1 (on both switches) shows traffic in/out:

FastEthernet0/1 is up, line protocol is up (connected)
<...>
5 minute input rate 5799000 bits/sec, 545 packets/sec
5 minute output rate 164000 bits/sec, 281 packets/sec

FastEthernet0/2 is up, line protocol is up (connected)
<...>
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec

Here are my port-channel configs:
SwitchB#sh run | b Port-ch
interface Port-channel1
no switchport
ip address 10.1.1.1 255.255.255.0
!
interface FastEthernet0/1
no switchport
no ip address
channel-group 1 mode on
!
interface FastEthernet0/2
no switchport
no ip address
channel-group 1 mode on

SwitchA#sh run | b Port-ch
interface Port-channel1
no switchport
ip address 10.1.1.2 255.255.255.0
!
interface FastEthernet0/1
no switchport
no ip address
channel-group 1 mode on
!
interface FastEthernet0/2
no switchport
no ip address
channel-group 1 mode on

Not sure what I did wrong... anyone see anything?
_______LAB________
2x 2950
2x 3550
2x 2650XM
2x 3640
1x 2801

Comments

  • APAAPA Member Posts: 959
    It's to do with the decision process IOS uses to load balance traffic across a port-channel.

    You can play around with the 'port-channel load-balance' command but that's not going to solve your issue. just changes how IOS matches traffic patterns to a specific interface in the etherchannel.

    3550's for Layer 3 Etherchannels will, based on SRC & DST IP choose a specific interface that is part of it's configured etherchannel and maintain usage of that port for all traffic between that SRC and DST.

    If you created two new hosts with different IP's, and run traffic between all hosts at the same time you may potentially see IOS choose the second port in the Ethchannel due to a differing SRC IP <-> DST IP combination.

    For further reading

    Understanding EtherChannel Load Balancing and Redundancy on Catalyst Switches - Cisco Systems

    I know when I first started playing with etherchannels this caught me out as well as I thought the traffic would always be shared evenly across all links in the port-channel no matter how much traffic is traversing it, however that is not the case.

    CCNA | CCNA:Security | CCNP | CCIP
    JNCIA:JUNOS | JNCIA:EX | JNCIS:ENT | JNCIS:SEC
    JNCIS:SP | JNCIP:SP
  • mzinzmzinz Member Posts: 328
    Thanks for the reply.

    So what you're telling me is that it does not split up a single flow between multiple interfaces? Would it load-balance if I had two separate flows happening between the same hosts, or do they actually need to be different layer3 hosts?

    I originally thought that if I hit the ceiling on one set of interfaces it would roll over to the next to supply more bandwidth.

    Also - if it load balances by default (within the discussed constraints), then what does the load-balancing command do??
    _______LAB________
    2x 2950
    2x 3550
    2x 2650XM
    2x 3640
    1x 2801
  • mzinzmzinz Member Posts: 328
    Thanks for the link, I found my info:

    For the 2950/2955/3550 series switch, EtherChannel balances the traffic load across the links in a channel by randomly associating a newly learned MAC address with one of the links in the channel. EtherChannel load balancing can use either source-MAC or destination-MAC address forwarding.

    With source-MAC address forwarding, when packets are forwarded to an EtherChannel, the packets are distributed across the ports in the channel based on the source-MAC address of the incoming packet. Therefore, to provide load balancing, packets from different hosts use different ports in the channel, but packets from the same host use the same port in the channel. With destination-MAC address forwarding, when packets are forwarded to an EtherChannel, the packets are distributed across the ports in the channel based on the destination host MAC address of the incoming packet. Therefore, packets to the same destination are forwarded over the same port, and packets to a different destination are sent on a different port in the channel.
    _______LAB________
    2x 2950
    2x 3550
    2x 2650XM
    2x 3640
    1x 2801
  • networker050184networker050184 Mod Posts: 11,962 Mod
    mzinz wrote: »
    Thanks for the reply.

    So what you're telling me is that it does not split up a single flow between multiple interfaces? Would it load-balance if I had two separate flows happening between the same hosts, or do they actually need to be different layer3 hosts?

    I originally thought that if I hit the ceiling on one set of interfaces it would roll over to the next to supply more bandwidth.

    Also - if it load balances by default (within the discussed constraints), then what does the load-balancing command do??


    Did you actually read the link provided? It has the answers to all your questions.
    An expert is a man who has made all the mistakes which can be made.
  • mzinzmzinz Member Posts: 328
    Did you actually read the link provided? It has the answers to all your questions.

    Did you actually read my third post? :)
    _______LAB________
    2x 2950
    2x 3550
    2x 2650XM
    2x 3640
    1x 2801
  • networker050184networker050184 Mod Posts: 11,962 Mod
    mzinz wrote: »
    Did you actually read my third post? :)

    Obviously not. icon_redface.gif

    Sorry about that, we must have been posting at the same time.
    An expert is a man who has made all the mistakes which can be made.
Sign In or Register to comment.