cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
435
Views
3
Helpful
2
Replies

Cat3750metro and Cat3550 etherchannel loadbalancing

okishare10
Level 1
Level 1

I want to know the correct behavior of loadbalancing using etherchannel.

I used Cat3750metro and Cat3550 to see the behavior of loadbalancing using etherchannel.

What I did is, connected 4 ports for

etherchannel and configured "port-channel load-balance src-mac" on both switch.

Confirmed that etherchannel is active using "sh etherchannel summary" and "sh etherchannel detail".

Sent 2 flow groups from traffic tester bi-directionally.

flow groups are below.

flow group1

flow1: src MAC=>0000.0000.0001, dest MAC=>0000.0000.0005

flow2: src MAC=>0000.0000.0002, dest MAC=>0000.0000.0006

flow3: src MAC=>0000.0000.0003, dest MAC=>0000.0000.0007

flow4: src MAC=>0000.0000.0004, dest MAC=>0000.0000.0008

flow group2

flow1: src MAC=>0000.0000.0005, dest MAC=>0000.0000.0001

flow2: src MAC=>0000.0000.0006, dest MAC=>0000.0000.0002

flow3: src MAC=>0000.0000.0007, dest MAC=>0000.0000.0003

flow4: src MAC=>0000.0000.0008, dest MAC=>0000.0000.0004

Before sending flow groups, I assumed that the flows should loadbalance equally on 4 ports.

But the traffic loadbalanced random on 4 ports. It did not loadbalance equally.

Is this a correct behavior to loadbalace random?

Or am I missing some configuration or something else?

2 Replies 2

glen.grant
VIP Alumni
VIP Alumni

They use some proprietary algorithim to achieve the load balance. Here is a little info.

Catalyst 3750/3560

The Catalyst 3750/3560 series switch can support up to eight compatibly configured Ethernet interfaces in an EtherChannel. The EtherChannel provides full-duplex bandwidth up to 800 Mbps (Fast EtherChannel) or 8 Gbps (Gigabit EtherChannel) between your switch and another switch or host. With Cisco IOS Software Release 12.2(20)SE and earlier, the number of EtherChannels has a limit of 12. With Cisco IOS Software Release 12.2(25)SE and later, the number of EtherChannels has a limit of 48.

EtherChannel balances the traffic load across the links in a channel through the reduction of part of the binary pattern that the addresses in the frame form to a numerical value that selects one of the links in the channel. EtherChannel load balancing can use MAC addresses or IP addresses, source or destination addresses, or both source and destination addresses. The mode applies to all EtherChannels configured on the switch. You configure the load balancing and forwarding method with use of the port-channel load-balance {dst-ip | dst-mac | src-dst-ip | src-dst-mac | src-ip | src-mac} global configuration command.

You can find out which interface will be used in the EtherChannel to forward traffic based on the load balancing method. The command for this determination is test etherchannel load-balance interface port-channel number {ip | mac} [source_ip_add | source_mac_add] [dest_ip_add | dest_mac_add].

Thanks for posting.

From your post I found the same page.

Is this the one you picked from?

http://www.cisco.com/warp/public/473/4.html

After reading Catalyst 3750/3560 and Catalyst 2950/2955/3550, I tried again.

For Catalyst 3750/3560, I used "test etherchannel load-balance interface port-channel number {ip | mac} [source_ip_add | source_mac_add] [dest_ip_add | dest_mac_add]."command to find out which flow(src and dest MAC) uses the port.

cat3750me#$interface port-channel 1 mac 0000.0000.0001 0000.0000.0007

Would select Fa1/0/1 of Po1

cat3750me#$interface port-channel 1 mac 0000.0000.0002 0000.0000.0008

Would select Fa1/0/3 of Po1

cat3750me#$interface port-channel 1 mac 0000.0000.0003 0000.0000.0009

Would select Fa1/0/4 of Po1

cat3750me#$interface port-channel 1 mac 0000.0000.0006 0000.0000.0010

Would select Fa1/0/2 of Po1

For Catalyst 2950/2955/3550, from the page it said, "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."

So the test result that the cat3550 loadbalanced randomly on a ouput port was a correct behavior.

To test again, used a traffic tester and made flows like this:

cat3750=>cat3550

flow group1

flow1: src MAC=>0000.0000.0001, dest MAC=>0000.0000.0007

flow2: src MAC=>0000.0000.0002, dest MAC=>0000.0000.0008

flow3: src MAC=>0000.0000.0003, dest MAC=>0000.0000.0009

flow4: src MAC=>0000.0000.0006, dest MAC=>0000.0000.0010

cat3550=>cat3750

flow group2

flow1: src MAC=>0000.0000.0007, dest MAC=>0000.0000.0001

flow2: src MAC=>0000.0000.0008, dest MAC=>0000.0000.0002

flow3: src MAC=>0000.0000.0009, dest MAC=>0000.0000.0003

flow4: src MAC=>0000.0000.0010, dest MAC=>0000.0000.0006

Before sending the flows, I assumed that for flow group1, it will loadbalance equally on the output port.

For flow group2 it will loadbalance randomly on the output port.

The result was what I assumed.

Thanks for giving me a good information!

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: