Port-channel only using one of two links?
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?
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
2x 2950
2x 3550
2x 2650XM
2x 3640
1x 2801
Comments
-
APA Member Posts: 959It'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 -
mzinz Member Posts: 328Thanks 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 -
mzinz Member Posts: 328Thanks 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 -
networker050184 Mod Posts: 11,962 ModThanks 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. -
mzinz Member Posts: 328networker050184 wrote: »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 -
networker050184 Mod Posts: 11,962 ModDid you actually read my third post?
Obviously not.
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.