ETH-trunk(链路聚合协议)lacp
目錄
一、ETH-Trunk概念
二、鏈路聚合Eth-Trunk特點作用:
三、華為的鏈路聚合(Eth-Trunk)分為兩種模式:
1、手工負載分擔模式
2、LACP模式(靜態)
四、Eth-Trunk轉發原理:
五、LACP模式Eth-Trunk(鏈路聚合)建立的過程如下:
一、ETH-Trunk概念
以太網鏈路聚合Eth-Trunk簡稱鏈路聚合,它通過將多條以太網物理鏈路捆綁在一起成為一條邏輯鏈路,從而實現增加鏈路帶寬的目的。同時,這些捆綁在一起的鏈路通過相互間的動態備份,可以有效地提高鏈路的可靠性。可以實現流量負載分擔。
將成員接口加入Eth-Trunk時,需要注意以下問題:
-
- 每個Eth-Trunk接口下最多可以包含8個成員接口。
- 成員接口不能配置某些業務和靜態MAC地址。
- 成員接口加入Eth-Trunk時,必須為缺省的接口類型。
- Eth-Trunk接口不能嵌套,即Eth-Trunk接口的成員接口不能是Eth-Trunk接口。
- 一個以太網接口只能加入到一個Eth-Trunk接口,如果需要加入其它Eth-Trunk接口,必須先退出原來的Eth-Trunk接口。
- 一個Eth-Trunk接口中的成員接口必須是同一類型。
- 如果本地設備使用了Eth-Trunk,與成員接口直連的對端接口也必須捆綁為Eth-Trunk接口,兩端才能正常通信。
- 當成員接口加入Eth-Trunk后,學習MAC地址或ARP地址時是按照Eth-Trunk來學習的,而不是按照成員接口來學習。
- Eth-Trunk鏈路兩端相連的物理接口的數量、速率、雙工方式、流控配置、jumbo必須一致。
二、鏈路聚合Eth-Trunk特點作用:
三、華為的鏈路聚合(Eth-Trunk)分為兩種模式:
1、手工負載分擔模式
- 強制模式,沒有協商機制,有幾條鏈路用幾條鏈路,(默認模式)
手工模式下,Eth-Trunk的建立、成員接口的加入由手工配置,沒有鏈路聚合控制協議LACP的參與。DeviceA與DeviceB之間創建Eth-Trunk,手工模式下三條活動鏈路都參與數據轉發并分擔流量。當一條鏈路故障時,故障鏈路無法轉發數據,鏈路聚合組自動在剩余的兩條活動鏈路中分擔流量。
手工負載分擔的方式缺點:
A端配置負載分擔后A端立刻就會起來,但是B端還未配置還是down的,A端的多條鏈路都會發送數據,沒有協商機制心跳報文,有可能造成環路問題。
[SwitchA] interface eth-trunk 1 \\創建Eth-Trunk接口,并進入Eth-Trunk接口視圖 [SwitchA-Eth-Trunk1] mode manual load-balance \\配置鏈路聚合模式為manual手工模式,多數默認此模式 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/1 to 0/0/3 \\將成員接口加入聚合組2、LACP模式(靜態)
可以自定義備份鏈路,“靈活”有協商報文(推薦)? ? lacp? 鏈路匯聚控制協議
LACP動態模式只有在數據中心級別的交換機才會使用(且只有華為廠家有動態的lacp功能)
為了提高Eth-Trunk的容錯性,并且能提供備份功能,保證成員鏈路的高可靠性,出現了鏈路聚合控制協議LACP(Link Aggregation Control Protocol)。聚合鏈路形成以后,LACP負責維護鏈路狀態,在聚合條件發生變化時,自動調整或解散鏈路聚合。
例如:4條鏈路配置其中3條為活躍狀態,另外1條作為備用 m:n備份
[SwitchA] interface eth-trunk 1 \\創建Eth-Trunk [SwitchA-Eth-Trunk1] mode lacp \\配置鏈路聚合模式為LACP模式 [SwitchA-Eth-Trunk1] max active-linknumber 2? \\配置活動接口上限閾值為2(最大活躍接口數量) undo max active-linknumber\\命令用來恢復聚合組活動接口數目的上限閾值為缺省值。 [SwitchA-Eth-Trunk1] load-balance dst-ip \\配置Eth-Trunk的負載分擔模式 目標ip 選配,默認逐流(src-dst-ip)dst-mac \\配置Eth-Trunk的負載分擔模式 目標macsrc-ip \\配置Eth-Trunk的負載分擔模式 源ip src-mac \\配置Eth-Trunk的負載分擔模式 源mac src-dst-ip \\根據源/目的IP hash算法 src-dst-mac \\根據源/目的mac hash算法 [SwitchA] interface gigabitethernet 0/0/1? \\進入接口,將接口成員接口加入聚合組 [SwitchA-GigabitEthernet0/0/1] lacp priority 10 \\接口優先級,數字越小越被優先選用 [SwitchA-GigabitEthernet0/0/1] eth-trunk 1 [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] lacp priority 20 \\接口優先級,數字越小越被優先選用 [SwitchA-GigabitEthernet0/0/2] eth-trunk 1 [SwitchA] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] eth-trunk 1- 缺省情況下,三層Eth-Trunk接口的負載分擔模式為src-dst-ip。
Eth-Trunk的負載分擔是逐流進行的,本端與對端的負載分擔模式可以不一致,兩端互不影響。
四、Eth-Trunk轉發原理:
Eth-Trunk支持最大加入接口數為8個
Eth-Trunk位于MAC與LLC子層之間,屬于數據鏈路層
負載分擔分為兩種模式:逐包/逐流(如果數據流的源目MAC一樣則默認此為同一條流)默認使用的是逐流(源目mac)的負載分擔算法
- 逐包的負載分擔
在使用Eth-Trunk轉發數據時,由于聚合組兩端設備之間有多條物理鏈路,就會產生同一數據流的第一個數據幀在一條物理鏈路上傳輸,而第二個數據幀在另外一條物理鏈路上傳輸的情況。這樣一來同一數據流的第二個數據幀就有可能比第一個數據幀先到達對端設備,從而產生接收數據包亂序的情況。
- 逐流的負載分擔
這種機制把數據幀中的地址通過HASH算法生成HASH-KEY值,然后根據這個數值在Eth-Trunk轉發表中尋找對應的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,從而出接口也就不同,這樣既保證了同一數據流的幀在同一條物理鏈路轉發,又實現了流量在聚合組內各物理鏈路上的負載分擔。逐流負載分擔能保證包的順序,但不能保證帶寬利用率。
Eth-Trunk模塊內部維護一張轉發表,這張表由以下兩項組成:
- HASK-key指:HASK-key值是根據數據包的MAC地址或者IP地址等,經過HASH(哈希)算法計算得出
1、哈希算法先進行計算,最多可以計算出8個值(對應Eth-Trunk支持最大加入接口數為8個),
2、然后進行取余計算(除以8取余)分別為 0-7數值
3、.Eth-Trunk模塊根據HASH-KEY值在轉發表中查找對應的接口,把數據幀從該接口發送出去。
- 接口號:Eth-Trunk轉發表現分布和設備每個Eth-Trunk支持加入的成員接口數量相關,不同的HASH-KEY值對應不同的出接口。
int eth-trunk xx local-preference enable \\本地優先轉發,默認是開啟的,本地優先轉發是針對堆疊中的Eth-Trunkde的一項技術
五、LACP模式Eth-Trunk(鏈路聚合)建立的過程如下:
①兩端互相發送LACPDU(協商)報文。
在DeviceA和DeviceB上創建Eth-Trunk并配置為LACP模式,然后向Eth-Trunk中手工加入成員接口。此時成員接口上便啟用了LACP協議,兩端互發LACPDU報文。
②確定主動端和活動鏈路。
總結
以上是生活随笔為你收集整理的ETH-trunk(链路聚合协议)lacp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ReverseFind
- 下一篇: VS2010,C++ 制作静态库(*.l