文章目錄
- LACP名詞解釋
- LACP工作原理
- 互發LACPDU報文
- 確定主動端
- 確定活動鏈路
- 鏈路切換
- LACP和PAgP有什么區別?
- LACP與LAG的關系
- LACP模式更優于手動模式
- LACP模式對數據傳輸更加穩定和可靠
- LACP模式對聚合鏈路組的故障檢測更加準確和有效
- 推薦閱讀
LACP名詞解釋
LACP(Link Aggregation Control Protocol,鏈路聚合控制協議)是一種基于IEEE802.3ad標準的實現鏈路動態聚合與解聚合的協議,它是鏈路聚合中常用的一種協議。屬于數據鏈路層協議。
鏈路聚合組中啟用了LACP協議的成員端口通過發送LACPDU報文進行交互,雙方對哪些端口能夠發送和接收報文達成一致,確定承擔業務流量的鏈路。
此外,當聚合條件發生變化時,如某個鏈路發生故障,LACP模式會自動調整聚合組中的鏈路,組內其他可用成員鏈路接替故障鏈路維持負載平衡。這樣在不進行硬件升級的情況下,可以增加設備之間的邏輯帶寬,提高網絡的可靠性。
LACP工作原理
LACP主要工作主要包含互發LACPDU報文、確定主動端、確定活動鏈路、鏈路切換。
互發LACPDU報文
在對接的兩臺設備上創建Eth-Trunk并配置為LACP模式,然后向Eth-Trunk中手工加入成員接口。此時成員接口上便啟用了LACP協議,兩端互發LACPDU報文,LACPDU報文中包含設備的系統優先級、MAC地址、接口優先級、接口號和操作Key等信息。
確定主動端
兩端設備均會收到對端發來的LACPDU報文。
以DeviceB為例,當DeviceB收到DeviceA發送的報文時,DeviceB會查看并記錄對端信息,然后比較系統優先級字段,如果DeviceA的系統優先級高于本端的系統優先級,則確定DeviceA為LACP主動端。如果DeviceA和DeviceB的系統優先級相同,比較兩端設備的MAC地址,MAC地址小的一端為LACP主動端。
確定活動鏈路
選出主動端后,設備兩端會以主動端的接口優先級來選擇活動接口,如果主動端的接口優先級都相同則選擇接口編號比較小的為活動接口。LACP模式支持設置活動接口數上限閾值以在保證帶寬的情況下提高網絡可靠性,當前活動接口數目達到上限閾值時,再向Eth-Trunk中添加成員接口,不會增加Eth-Trunk活動接口的數目,超過上限閾值的鏈路狀態將被置為Down,作為備份鏈路。兩端設備選擇了一致的活動接口,活動鏈路組便可以建立起來,這些活動鏈路以負載分擔的方式轉發數據。
如下圖所示,LACP模式下,如果活動鏈路數上限閾值為2,通過LACP協商后,鏈路1和鏈路2因為優先級較高被選作活動鏈路,鏈路3則為備份鏈路。聚合鏈路中的活動鏈路參與數據轉發,總帶寬等于被選中的活動鏈路帶寬之和。
鏈路切換
LACP模式鏈路聚合組中如果某條活動鏈路故障,鏈路聚合組自動在備份鏈路中選擇一條優先級最高的鏈路作為活動鏈路接替故障鏈路,參與數據轉發的鏈路數目不變,保證數據傳輸的可靠性。
LACP模式鏈路聚合組兩端設備中任何一端檢測到以下事件,都會觸發聚合組的鏈路切換:
- 鏈路Down事件。
- 以太網OAM檢測到鏈路失效。
- LACP協議發現鏈路故障。
- 接口不可用。
- 在使能了LACP搶占功能的前提下,更改備份接口的優先級高于當前活動接口的優先級。
當滿足上述切換條件其中之一時,按照如下步驟進行切換:
- 關閉故障鏈路。
- 從N條備份鏈路中選擇優先級最高的鏈路接替活動鏈路中的故障鏈路。
- 優先級最高的備份鏈路轉為活動狀態并轉發數據,完成切換。
LACP和PAgP有什么區別?
LACP和PAgP(Port Aggregation Protocol,端口匯聚協議)是鏈路聚合中使用最廣泛的兩種協商協議。LACP和PAgP的功能類似,都是通過捆綁鏈路并協商成員鏈路之間的流量提高網絡的可用性和穩定性。LACP和PAgP數據包在交換機之間通過支持以太網通道的端口交換。
它們之間最大的區別是支持的供應商不同,LACP是開放標準,可以在大多數交換機上運行,如華為系列交換機,而PAgP是Cisco專有協議,只能在Cisco或支持PAgP的第三方交換機上運行。
LACP與LAG的關系
LAG鏈路聚合組(Link Aggregation Group)是指將若干條以太鏈路捆綁在一起形成一條邏輯鏈路,也稱Eth-Trunk鏈路。每個聚合組對應一個鏈路聚合接口或Eth-Trunk接口,組成Eth-Trunk接口的各個物理接口稱為成員接口,成員接口對應的鏈路稱為成員鏈路。
鏈路聚合接口可以作為普通的以太網接口來使用,與普通以太網接口的差別在于:轉發的時候鏈路聚合組需要從成員接口中選擇一個或多個接口來進行數據轉發。
LAG是一種鏈路聚合技術,當在兩臺交換機之間并行連接多個端口并將它們配置為LAG時,鏈路聚合組就會形成,而LACP是一種自動建立LAG的控制協議,用于啟用LAG自動配置網絡交換機端口、分離鏈路故障和激活故障切換。
LAG主要有兩種模式,分別是手工模式和LACP模式。
- 手動模式:指LAG不啟用任何鏈路聚合協議,Eth-Trunk的建立、成員接口的加入由手動配置。
- LACP模式:指LAG啟用LACP鏈路聚合協議,Eth-Trunk的建立、成員接口的加入基于LACP協議協商自動完成。
LACP模式更優于手動模式
LACP模式對數據傳輸更加穩定和可靠
手動模式下,所有鏈路都是活動鏈路,所有活動鏈路均參與數據轉發,平均分擔流量。如果某條活動鏈路故障,鏈路聚合組自動在剩余的活動鏈路中平均分擔流量。
LACP模式下,由LACP確定聚合組中的活動和非活動鏈路,又稱為M:N模式,即M條活動鏈路與N條備份鏈路的模式。這種模式提供了更高的鏈路可靠性,并且可以在M條鏈路中實現不同方式的負載均衡。
如下圖所示,兩臺設備間有M+N條鏈路,在聚合鏈路上轉發流量時在M條鏈路上分擔負載,即活動鏈路,不在另外的N條鏈路轉發流量,這N條鏈路提供備份功能,即備份鏈路。此時鏈路的實際帶寬為M條鏈路的總和,但是能提供的最大帶寬為M+N條鏈路的總和。當M條鏈路中有一條鏈路故障時,LACP會從N條備份鏈路中找出一條優先級高的可用鏈路替換故障鏈路。此時鏈路的實際帶寬還是M條鏈路的總和,但是能提供的最大帶寬就變為M+N-1條鏈路的總和。
LACP模式對聚合鏈路組的故障檢測更加準確和有效
手動模式只能檢測到同一聚合組內的成員鏈路有斷路等有限故障;
LACP模式不僅能夠檢測到同一聚合組內的成員鏈路有斷路等有限故障,還可以檢測到鏈路故障、鏈路錯連等故障。
如下圖所示,DeviceA與DeviceB之間創建Eth-Trunk,需要將DeviceA上的四個接口與DeviceB捆綁成一個Eth-Trunk。由于錯將DeviceA上的一個接口與DeviceC相連,這將會導致DeviceA向DeviceB傳輸數據時可能會將本應該發到DeviceB的數據發送到DeviceC上。
手動模式的Eth-trunk不能及時檢測到該故障,如果在DeviceA和DeviceB上都啟用LACP協議,經過協商后,Eth-Trunk就會選擇正確連接的鏈路作為活動鏈路來轉發數據,從而DeviceA發送的數據能夠正確到達DeviceB。
推薦閱讀
- 局域網協議:地址解析協議(ARP,Address Resolution Protocol)
- 局域網協議:以太網(Ethernet)詳解
- 局域網協議:VLAN技術介紹
- 網絡安全準入技術之MAC VLAN
- 【網絡安全】零日漏洞(0day)是什么?如何防范零日攻擊?
- 安全知識普及:什么是垃圾郵件和網絡釣魚欺詐