本文档介绍如何识别Cisco Catalyst 6500、4500和3750系列交换机上特定流量使用的EtherChannel成员链路。
思科建议您具备EtherChannel的基本知识。
本文档中的信息基于以下平台:Cisco Catalyst 6500、4500、2960、3750、3750G、3750X和3560系列交换机。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
EtherChannel负载均衡的工作方式是,交换机根据为流量类型配置的散列方法(负载均衡算法)分配0-7的散列结果。此哈希结果通常称为结果捆绑哈希(RBH)。
请注意,流数量取决于配置的负载均衡算法。下面是一个示例。
Source 192.168.1.1 (mac a.a.a ) sending a tcp stream to 172.16.1.1 ( mac b.b.b )
with a source tcp port of 50 and destination port 2000
Source 192.168.1.1 (mac a.a.a ) sending a tcp stream to 209.165.201.1 ( mac c.c.c )
with a source tcp port of 60 and destination 2000.
If configured load balancing algorithm is SRC_MAC
Then no of flows = 1
If configured load balancing algorithm is DST_MAC
Then no of flows = 2
If configured load balancing algorithm is DST_PORT
Then no of flows= 1
6500#remote login sw
Trying Switch ...
Entering CONSOLE for Switch
Type "^C^C^C" to end this session
6500-sp#show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
src-dst-ip
mpls label-ip
6500-sp#test etherchannel load-balance interface port-channel在本例中,流量介于192.168.1.1到172.16.1.1之间,所讨论的端口通道为port-channel 1。根据步骤1的输出选择命令的属性。如果配置的负载均衡算法为src_ip,请为数据包192.1指定src-ip68.1.1。由于本示例中配置了src-dst ip负载均衡算法,因此该命令需要包括192.168.1.1到172.16.1.1。
6500-sp#test etherchannel load-balance int port-channel 1 ip 192.168.1.1 172.16.1.1
Computed RBH: 0x5
Would select Gi3/2 of Po1
6500-sp#test etherchannel load-balance int port-channel 1 ip 192.168.1.1 172.16.1.1切换到路由处理器控制台并输入命令show interface port-channel <num> etherchannel。查看与物理接口对应的Load列输出。将Load值转换为二进制(请参阅本示例)。
Computed RBH: 0x5
6500-sp#exit
[Connection to Switch closed by foreign host]
6500#show interface port-channel 1 etherchannel
Port-channel1 (Primary aggregator)
Age of the Port-channel = 0d:01h:05m:54s
Logical slot/port = 14/1 Number of ports = 2
HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = LACP
Fast-switchover = disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 55 Gi3/1 Active 4
1 AA Gi3/2 Active 4
7654 3210输出说明为两个接口中的每个接口设置了四个位。因此,当EtherChannel中有两条链路时,每条链路获得使用的概率相等。
gig3/2 - AA - 1010 1010
---- ----
| |
A A
gi3/1 - 55 - 0101 0101
---- ----
| |
5 5
For gi3/2 bits 1,3,5 and 7 are set. So RBH value of 1,3,5,and 7 chooses gi3/2.
For gi3/1 bits 0,2,4 and 6 are set. So RBH value of 0,2,4,and 6 chooses gi3/1.
6500#show interface port-channel 1 etherchannel此处,比特共享率为3:3:2。因此,与第三条链路相比,这两条链路的使用概率更高(在结尾的附加部分中更多)。
Port-channel1 (Primary aggregator)
Age of the Port-channel = 0d:01h:05m:54s
Logical slot/port = 14/1 Number of ports = 2
HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = LACP
Fast-switchover = disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 49 Gi3/1 Active 3
1 92 Gi3/2 Active 3
2 24 Gi3/3 Active 2
4500#show platform software etherchannel port-channel 1 map ip 192.168.1.1
172.16.1.1
Map port for IP 192.168.1.1, 172.16.1.1 is Gi3/1(Po1)
NOTE: Software forwarded traffic uses Gi3/1(Po1)
在Catalyst 3750系列交换机上,使用类似的8位散列算法。在此,即使EtherChannel中的链路数为2、4或8,流量分配也更为严重。用于检查port-channel中接口的命令:
test etherchannel load-balance interface port-channel
假设在3750(非默认)上,端口通道负载均衡算法配置为src-dst ip。 本示例显示如何识别从192.168.1.1到172.16.1.1的流量使用的链路。
3750(config)#port-channel load-balance src-dst-ip
3750#show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
src-dst-ip
3750#test etherchannel load-balance interface port-channel 1 ip 192.168.1.1 172.16.1.1
Would select Gi3/1 of Po1
如果负载均衡算法基于MAC地址,则如果提供数据包的源MAC地址和目的MAC地址,则可以使用前面的命令。
以下是可能导致EtherChannel成员接口上流量分配不均的一些场景,以及优化负载均衡所需采取的步骤。