文章目錄
前言
隨着網絡中部署的業務不斷增長,對於全雙工點對點鏈路,單條物理鏈路的帶寬可能已經不能滿足正常業務流量的需求,而且單條鏈路沒有冗餘備份功能,發生故障可能影響整個網絡。
想要升級帶寬的最直接粗暴的方式就是:換性能更高的設備,或者是具備更高帶寬的接口板,但是這個只有土豪老闆才能閉眼考慮的事情,不適用於普通企業,而且這樣做也比較浪費現有的資源。
還有一種方法就是直接增加設備間鏈路的數量,但添加三層接口,則需要在每個接口上配置IP地址,導致IP地址浪費,在二層上,則可能會出現環路,如果使用生成樹協議,則會被堵塞端口。
Eth-Trunk(鏈路聚合技術)
上述兩種方法都不夠合理,那麼我們可以使用:Eth-Trunk(鏈路聚合技術)
可以把多個獨立的物理接口綁定在一起作爲一個大帶寬的邏輯接口使用。
Eth-Trunk可以用於二層的鏈路聚合,也可以用於三層的鏈路聚合。缺省情況下,以太網接口工作在二層模式。如果需要配置二層Eth-Trunk接口,可以通過portswitch
命令將該接口切換成二層接口;如果需要配置三層Eth-Trunk接口,可以通過undo portswitch
命令將該接口切換成三層接口。
根據不同的鏈路聚合模式,Eth-Trunk接口可以實現增加帶寬、負載分擔等功能,幫助提高網絡的可靠性
Eth-Trunk鏈路聚合模式分爲:
1. 手工負載分擔模式
2. LACP模式
手工負載分擔模式
當兩臺設備中至少有一臺設備不支持LACP協議時,我們可以使用手工負載分擔模式來增加設備間的帶寬以及可靠性。
在手工負載模式下,加入Eth-Trunk的鏈路都進行數據的轉發。
手工負載分擔模式配置
創建手工負載分擔模式Eth-Trunk:
-
在系統視圖中執行命令
interface Eth-Trunk trunk-id
,創建Eth-Trunk接口並進入Eth-Trunk接口視圖。 -
執行命令
portswitch
,將Eth-Trunk接口切換爲二層模式。(默認爲二層模式)
執行命令undo portswitch
,將Eth-Trunk接口切換爲三層模式。 -
配置Eth-Trunk的工作模式:
mode manual load-balance
配置當前Eth-Trunk工作模式爲手工負載分擔模式。 (默認爲手工負載分擔模式)
Eth-Trunk中加入成員接口:
方法一:在Eth-Trunk視圖下,
- 執行
trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-16>
命令,批量增加成員接口。 - 執行
trunkport interface-type interface-number
命令,增加一個成員接口。
在成員接口視圖下:
- 進入想要加入Eth-Trunk的接口視圖,執行
eth-trunk trunk-id
命令,將當前接口加入Eth-Trunk。
LACP模式
LACP模式也稱爲M:N模式,其中M條鏈路處於活動狀態轉發數據,N條鏈路處於非活動狀態作爲備份鏈路。
圖中設置的活躍鏈路數爲2,即2條鏈路處於轉發狀態,1條鏈路處於備份狀態,不轉發數據,只有當活躍的鏈路出現故障時,備份鏈路才進行轉發。
LACP模式活動鏈路選取
如上圖:設備之間相連的鏈路爲3條,假如要求最大活躍鏈路爲2,1條鏈路爲備份狀態。
在LACP模式的Eth-Trunk中加入成員接口後,這些接口將向對端通告自己的系統優先級、MAC地址、接口優先級、接口號等信息。對端接收到這些信息後,將這些信息與自身接口所保存的信息比較以選擇能夠聚合的接口,雙方對哪些接口能夠成爲活動接口達成一致,確定活動鏈路。
兩端設備會選取主動端,根據以下條件選舉:
1. 設備系統優先級(LACP優先級):越小越優先,默認32768
2. 若系統優先級相同,則比較MAC地址:越小越優先
交換機接口會對接口進行排序,根據以下條件選舉:
1. 接口優先級:越小越優先
2. 如果接口優先級相同,則比較接口ID(接口號):越小越優先
接口LACP優先級是爲了區別同一個Eth-Trunk中的不同接口被選爲活動接口的優先程度,優先級高的接口將優先被選爲活動接口。
注意:只通過比較主動端的各接口接口優先級確定活躍鏈路
LACP搶佔機制
如上圖:若LACP開啓搶佔機制,假如一條主鏈路發生故障,此時備用鏈路就會被啓用,進行數據轉發。假設過了一段時間之後發生故障的主鏈路回覆正常,則端口開始搶佔,在搶佔延時超時後,成爲活躍端口,進入轉發狀態。備份鏈路不再轉發數據。
爲什麼要設置搶佔延時:
避免由於某些原因鏈路狀態頻繁變化而導致的鏈路聚合數據傳輸不穩定。(主動鏈路恢復後,立馬搶佔,然後突然又故障,有恢復。在恢復和故障之間來回徘徊)
注意:
- 若未開啓搶佔機制,則活躍端口故障恢復之後,不搶佔,不會重新成爲活躍端口,而是成爲備份端口。
- 若希望手動修改端口優先級來指定原本優先級低的端口成爲活躍端口,則需要先開啓搶佔功能,不然調高了優先級也不會切換成活躍端口。
LACP模式配置
創建LACP模式Eth-Trunk:
- 執行
interface eth-trunk trunk-id
命令,創建Eth-Trunk。 - 執行命令
portswitch
,將Eth-Trunk接口切換爲二層模式。(默認爲二層)
配置Eth-Trunk的工作模式:
- 在Eth-Trunk接口視圖。執行命令
mode lacp-static
,配置Eth-Trunk的工作模式爲LACP模式。
Eth-Trunk中加入成員接口:
- 與上文手工負載分擔相同。
Eth-Trunk接口負載分擔
Eth-Trunk接口進行負載分擔時,可以選擇IP地址或者包作爲負載分擔的散列依據;同時還可以設置成員接口的負載分擔權重。
散列依據
接口負載分擔 | 特點 |
---|---|
逐流負載分擔 | 當報文的源IP地址、目的IP地址都相同或者報文的源MAC地址、目的MAC地址都相同時,這些報文從同一條成員鏈路上通過。 |
逐包負載分擔 | 以報文爲單位分別從不同的成員鏈路上發送。 |
兩種散列依據造成的問題:
假如主機A向主機B發送一個數據比較大的100個包。
- 逐流負載分擔的處理方式是:這100個包都從一條物理鏈路發送。這時可能會造成一條物理鏈路負載較大,一條物理鏈路空閒。
- 逐包負載分擔的處理方式是:可能第1,3,5…個包從一條物理鏈路發送;第2,4,6…個包從另一條物理鏈路發送。此時數據包可能不能按順序到達目的端,可能會造成數據亂碼。
配置命令
進入Eth-Trunk接口視圖,執行命令load-balance { ip | packet-all }
,配置Eth-Trunk接口的散列依據。(缺省情況下,當Eth-Trunk接口根據IP進行散列。)
負載分擔權重
配置成員接口的負載分擔權重,某成員接口的權重值佔所有成員接口負載分擔權重之和的比例越大,該成員接口承擔的負載就越大。
配置命令
進入以太網接口視圖。執行命令distribute-weight weight-value
,配置Eth-Trunk成員接口的負載分擔權重。(缺省情況下,成員接口的負載分擔權重爲1。)
Eth-Trunk接口配置注意
將成員接口加入Eth-Trunk時,需要注意以下問題:
- 成員接口不能有IP地址等三層配置項,也不可以配置任何業務;
- 成員接口不能配置靜態MAC地址;
- Eth-Trunk接口不能嵌套,即成員接口不能是Eth-Trunk;
- 一個以太網接口只能加入到一個Eth-Trunk接口,如果需要加入其他Eth-Trunk接口,必須先退出原來的Eth-Trunk接口;
- 如果本地設備使用了Eth-Trunk,與成員接口直連的對端接口也必須捆綁爲Eth-Trunk接口,兩端才能正常通信;
- Eth-Trunk有兩種工作模式:二層工作模式和三層工作模式。Eth-Trunk的工作模式不影響成員鏈路的加入,例如,以太網接口既可以加入二層模式的Eth-Trunk,也可以加入三層模式的Eth-Trunk。
Eth-Trtunk綜合配置
實驗拓撲與要求
實驗要求:配置鏈路聚合,使該拓撲鏈路增加帶寬以及提高網絡可靠性。核心層通過三層配置實現,匯聚層與接入層通過二層配置實現。
實驗步驟
步驟一
搭建拓撲,配置PC的IP地址、子網掩碼、網關。
步驟二
核心層配置,以AR1爲例:
[AR1]interface Eth-Trunk 1 //創建Eth-Trunk 1
[AR1-Eth-Trunk1]undo portswitch //將接口轉換爲三層接口
[AR1-Eth-Trunk1]description "Core-AR1 to Aggregate-LSW5" //描述信息,便於管理員瞭解接口對端所連接的設備
[AR1-Eth-Trunk1]ip ad 192.168.1.254 24 //添加網關地址
[AR1-Eth-Trunk1]trunkport GigabitEthernet 0/0/0 0/0/1 //添加物理接口進入Eth-Trunk 1
Info: This operation may take a few seconds. Please wait for a moment...done.
[AR1-Eth-Trunk1]quit
---------------------------------------------------------------------------------------------
[AR1]
[AR1]interface Eth-Trunk 2
[AR1-Eth-Trunk2]undo portswitch
[AR1-Eth-Trunk2]ip ad 192.168.12.1 24
[AR1-Eth-Trunk2]trunkport GigabitEthernet 0/0/2 1/0/0
Info: This operation may take a few seconds. Please wait for a moment...done.
驗證:我們可以通過display eth-trunk
來查看鏈路聚合簡略消息。也可以通過display interface Eth-Trunk
來查看具體信息。
[AR1]
[AR1]display eth-trunk
Eth-Trunk1's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
---------------------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/0 Up 1
GigabitEthernet0/0/1 Up 1
Eth-Trunk2's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
---------------------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/2 Up 1
GigabitEthernet1/0/0 Up 1
[AR1]
步驟三
核心層匯聚層交換機使用二層互聯,所以不需要配置IP地址。核心層與匯聚層交換機以LSW5爲例:
[LSW5]int Eth-Trunk 1
[LSW5-Eth-Trunk1]trunkport GigabitEthernet 0/0/7 0/0/8
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW5-Eth-Trunk1]q
---------------------------------------------------------------------------------------------
[LSW5]int Eth-Trunk 2
[LSW5-Eth-Trunk2]trunkport GigabitEthernet 0/0/5 0/0/6
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW5-Eth-Trunk2]q
---------------------------------------------------------------------------------------------
[LSW5]int Eth-Trunk 3
[LSW5-Eth-Trunk3]trunkport g 0/0/1 0/0/2
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW5-Eth-Trunk3]q
---------------------------------------------------------------------------------------------
[LSW5]int e 4
[LSW5-Eth-Trunk4]trunkport g 0/0/3 0/0/4
Info: This operation may take a few seconds. Please wait for a moment...done.
配置驗證:
[LSW5]
[LSW5]dis er
[LSW5]dis eth
[LSW5]dis eth-trunk
Eth-Trunk1's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
---------------------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/7 Up 1
GigabitEthernet0/0/8 Up 1
Eth-Trunk2's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
---------------------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/5 Up 1
GigabitEthernet0/0/6 Up 1
Eth-Trunk3's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
---------------------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/1 Up 1
GigabitEthernet0/0/2 Up 1
Eth-Trunk4's state information is:
WorkingMode: NORMAL Hash arithmetic: According to SIP-XOR-DIP
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
---------------------------------------------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/3 Up 1
GigabitEthernet0/0/4 Up 1