动态lacp和静态lacp区别_3分钟弄懂LACP实现原理!
LACP實現原理
1、手工匯聚原理
手工負載分擔模式鏈路聚合是應用比較廣泛的一種鏈路聚合,大多數運營級網絡設備均支持該特性,當需要在兩個直連設備間提供一個較大的鏈路帶寬而對端設備又不支持LACP 協議時,可以使用手工負載分擔模式
手工負載分擔模式的Eth-Trunk 接口可以聚合不同單板、不同雙工模式的成員接口。
2、靜態匯聚原理
a)基本概念
靜態LACP 模式鏈路聚合是一種利用LACP 協議進行參數協商選取活動鏈路的聚合模式。該模式由LACP 協議確定聚合組中的活動和非活動鏈路,又稱為M∶N 模式,即M 條活動鏈路與N 條備份鏈路的模式。
這種模式提供了更高的鏈路可靠性,并且可以在M 條鏈路中實現不同方式的負載均衡。
M∶N 模式的Eth-Trunk 接口中M 和N 的值可以通過配置活動接口數上限閾值來確定。
b)系統 LACP 優先級
靜態LACP 模式下,兩端設備所選擇的活動接口必須保持一致,否則鏈路聚合組就無法建立。而要想使兩端活動接口保持一致,可以使其中一端具有更高的優先級,另一端根據高優先級的一端來選擇活動接口即可。
系統LACP 優先級就是為了區分兩端優先級的高低而配置的參數。系統 LACP 優先級值越小優先級越高,缺省系統LACP 優先級值為32768。
c)接口 LACP 優先級
接口LACP 優先級是為了區別不同接口被選為活動接口的優先程度。接口LACP 優先級值越小,優先級越高。缺省情況下,接口LACP 優先級為32768。
d)靜態模式Eth-Trunk 接口建立過程
靜態模式Eth-Trunk 接口建立過程如下所示:
① 兩端互相發送 LACPDU 報文。
② 兩端設備根據系統 LACP 優先級確定主動端。
③ 兩端設備根據接口LACP 優先級確定活動接口,最終以主動端設備的活動接口確定兩端的活動接口。
e) 互發 LACPDU 報文
在兩端設備CX-A 和CX-B 上創建Eth-Trunk 接口并配置為靜態LACP 模式,然后向Eth-Trunk 接口中手工加入成員接口。
此時成員接口上便啟用了LACP 協議,兩端互相發出LACPDU 報文,如下圖所示。
f)確定主動端
Eth-Trunk 兩端設備均會收到對端發來的LACP 報文,根據報文中的優先級字段,確認活動接口。優先級字段的值越小,優先級越高。
如下圖所示,當CX-B 收到CX-A 發送LACP 報文時,CX-B 會查看并記錄對端信息,并且比較系統優先級字段。
CX-A 的系統優先級為10,高于CX-B 的系統優先級,所以選擇CX-A 為主動端。此時CX-B 將按照CX-A 的接口優先級選擇活動接口。
如果 Eth-Trunk 鏈路兩端設備的系統優先級一致,系統將選擇系統ID 字段較小的作為主動端。系統ID 由設備的MAC 地址產生。
g)選擇活動接口
選出主動端后,兩端都會以主動端的接口優先級來選擇活動接口。如上圖所示,CX-A 為主動端,CX-A 的接口GE1/0/1、GE1/0/2 的優先級高于接口GE2/0/1,此時接口GE1/0/1、GE1/0/2 被選為活動接口,組成LACP 聚合組,以負載分擔的方式轉發數據。
2、動態匯聚原理
動態匯聚和靜態匯聚原理類似,只是動態匯聚中所有端口都是通過協議確定,而不是像靜態匯聚通過協議在指定端口中確定匯聚相關端口。
四、實現細節
1、鏈路聚合控制的相關參數
a)LACP協議如何唯一的標識聚合組:
系統ID(System ID) ,由“系統優先級+系統MAC地址”組成,其中,之所以要有“系統優先級”,是因為LACP協議中,鏈路聚合兩端設備扮演不同角色,有了“系統優先級”,管理員可以通過配置干預角色選舉。
b)端口ID(Port ID):
對于參與鏈路聚合的各個端口,也需要在設備內部唯一標識,端口ID由“端口優先級+端口號”組成,之所以需要“端口優先級”,也是因為涉及端口的不同角色選舉
c)Aggregator ID:
在一個設備上,能進行多組聚合,即有多個Aggregator,為了區分這些Aggregator,給每個Aggregator分配了一個聚合ID(Aggregator ID),為一個16位整數
2、端口key
聚合端口中有兩種key:一種是操作key,一種是管理key。
操作key是為形成聚合當前使用的key,管理key是允許管理者對key值進行操作的key。
3、 操作key
在動態LACP聚合中,只有操作KEY相同的端口才能屬于同一個聚合組,你可以認為操作KEY相同的端口,其屬性相同。
在手工聚合和靜態LACP聚合中,雖然同一個聚合組中的端口的操作KEY不一定相同(因端口由管理員手工加入),但是Selected端口的操作KEY一定相同。
操作Key 是在端口匯聚時,系統根據端口的配置(即速率、雙工、基本配置、管理
Key)生成的一個配置組合。
(1) 對于手工匯聚組和靜態匯聚組,Selected 的端口有相同的操作Key。
(2) 靜態匯聚端口在使能LACP 后,端口的管理Key 與匯聚組ID 相同。
(3) 動態匯聚端口在使能LACP 協議后,其管理Key 缺省為零。
(4) 對于動態匯聚組,同組成員一定有相同的操作Key。
4、六要素
一個聚合組來說,如果需要進行唯一標識的話,需要包含四個元素:本端系統ID、本端操作KEY、對端系統ID、對端操作KEY。
系統中并不是所有聚合組都包含多個鏈路,為了區分只包含單個鏈路的聚合組的情況,還需要額外加上兩個元素:本端端口ID和對端端口ID。
結論:
這六個元素唯一確定了一個聚合組,稱為聚合組 ID(Link Aggregation Group ID,LAG ID)。如果一個聚合組中包含多個鏈路,那么LAG ID中,本端端口ID和對端端口ID為0,相當于只用四元組就可以刻畫包含多個鏈路的聚合組。
5、端口類型:
a)Selectet和Unselected:
參與流量轉發的端口稱為Selected端口,否則稱為Unselected端口
b)主端口(master端口)
處于Selected狀態且端口號最小的端口稱為主端口(Master Port),可以形象的認為,聚合組中的所有端口被匯聚到了主端口,主端口在邏輯上代表了整個聚合組,對于GVRP/GMRP、STP/RSTP/MSTP等二層協議,都只從主端口發送,其他數據報文則在各個Selected端口間分擔。
c)補充:
由于Selected與Unselected端口在實際狀態下的選取受到硬件的影響,所以不同廠家產品的具體表現形式可能有差異。
6、LACP綁定端口
判斷將一個端口綁定到Aggregator的關鍵依據是 LAG ID,判斷方法是:
(1)Aggregator的操作KEY和端口的操作KEY相同。
(2)已經綁定到這個Aggregator的其他端口和這個端口有相同的鏈路LAG ID,即與Aggregator關聯的LAG ID必須和端口的LAG ID相同。
(3) “LAG ID”則指的是聚合組ID( Link Aggregation Group ID),“聚合ID”則指的是Aggregator ID. (LAG ID就是指屬于同一個聚合中的所有port 包括selected 和Standby,對于手工和靜態比較好理解,就是指用戶所指定的所有port,對于動態匯聚,指所有port)
7、端口離開Aggregator
(1)如果Actor端口在一定時間內(使用long timeout時是90s,使用short timeout是3秒)收不到Partner端口發送的LACP報文,就宣告自己處于超時狀態,如果在下一個short timeout時間(3秒)內還沒有收到Partner的報文,就會離開這個Aggregator。
(2)如果從Partner端口收到的LACP報文,發現LAG ID發生了改變(系統ID或操作KEY發生了變化,系統ID改變說明連接到的對端設備發生了變化,操作KEY發生了變化可能是對端端口的屬性發生了變化),這時端口也會離開這個Aggregator。
(3)還有一種導致端口離開Aggregator的情況:Actor端口本身的屬性發生了變化,設備通過動態操作KEY功能給它分配的操作KEY發生變化,導致和Aggregator的LAG ID不匹配,從而離開聚合組。
8、Active模式和Passive模式
(1)Active模式下,端口正常周期性的發送LACP報文;
(2)Passive模式下,端口平時不發送LACP報文,不過,一旦收到了對端的LACP報文,就會正常發送LACP報文了。
總結
以上是生活随笔為你收集整理的动态lacp和静态lacp区别_3分钟弄懂LACP实现原理!的全部內容,希望文章能夠幫你解決所遇到的問題。