目錄

簡介

必要條件

需求

採用元件

背景資訊

Catalyst 6500 系列交換器

Catalyst 4500 系列交換器

Catalyst 3750 系列交換器

潛在問題

簡介

本檔案介紹如何識別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

Catalyst 6500 系列交換器

1. 檢查運行負載均衡演算法。

2. 在交換器處理器(SP)中，輸入show etherchannel load-balance。

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

3. 查詢在所需流之間為資料包選擇的RBH值。

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

4. 查詢對映到RBH值的物理埠。（選用）

在某些Cisco IOS®版本中，命令輸出沒有指定所選擇的實體介面。僅當步驟2中未生成輸出介面資訊時，才執行此步驟。

6500-sp#test etherchannel load-balance int port-channel 1 ip 192.168.1.1 172.16.1.1

Computed RBH: 0x5
切換到路由處理器主控台，然後輸入命令show interface port-channel <num> etherchannel。檢視與物理介面對應的Load列輸出。將Load值轉換為二進位（請參閱本示例）。

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
這裡，gi3/2的負載值為AA,gi3/1的負載值為55。

7654 3210

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.
輸出說明為兩個介面中的每一個介面設定了四位。因此，當EtherChannel中有兩條鏈路時，每條鏈路被使用的可能性相等。

但是，當EtherChannel中有三條鏈路時，測試EtherChannel的輸出看起來與以下類似：

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     49     Gi3/1    Active    3

1     92     Gi3/2    Active    3

2     24     Gi3/3    Active    2
這裡，位共用比率為3:3:2。因此，與第三個連結相比，兩個連結被使用的可能性更高（在結尾的附加部分中更多）。

Catalyst 4500 系列交換器

1. 使用show etherchannel load-balances命令檢查已配置的負載均衡演算法。

2. 使用show platform software etherchannel port-channel 1 map命令查詢輸出介面。

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 系列交換器

在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成員介面上流量分配不均的案例，以及為最佳化負載平衡所需的步驟。

- 案例：如果EtherChannel中有兩個流和兩個物理介面，則其中一個流可能比另一個流更健談。如果存在五個流，其中一個流最健談，則此流可能會壓倒其他流。此流選擇的任何物理介面的利用率都高於其他物理介面。

- 解析度：流量控制超級說話者。您需要從主機端進行檢視。

- 案例：一個常見問題是沒有足夠的流，並且少數幾個流中的大多數都雜湊到同一個物理介面。

- 解析度：增加流的數量。嘗試將雜湊演算法更改為最適合流量的演算法。

- 案例：當EtherChannel中存在3、5、6或7條物理鏈路時，少數鏈路比其他鏈路接收流量的概率更高（基於分配給每個物理介面的雜湊位數），這可能導致流量分配不均。

- 解析度：在EtherChannel中使用2、4或8個鏈路數。