本檔案介紹如何識別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.168.1.1的src-ip。由於本例中配置了src-dst ip負載平衡演算法,因此該命令需要包括192.168.1.1到172.1 6.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成員介面上流量分配不均的案例,以及為最佳化負載平衡所需的步驟。