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