LACP鏈路聚合-基礎篇
一、基本概念
系統LACP優先級
系統LACP優先級是為了區分兩端設備優先級的高低而配置的參數。LACP模式下,兩端設備所選擇的活動接口必須保持一致,否則鏈路聚合組就無法建立。此時可以使其中一端具有更高的優先級,另一端根據高優先級的一端來選擇活動接口即可。系統LACP優先級值越小優先級越高。
接口LACP優先級
接口LACP優先級是為了區別同一個Eth-Trunk中的不同接口被選為活動接口的優先程度,優先級高的接口將優先被選為活動接口。接口LACP優先級值越小,優先級越高。
成員接口間M:N備份
LACP模式鏈路聚合由LACP確定聚合組中的活動和非活動鏈路,又稱為M:N模式,即M條活動鏈路與N條備份鏈路的模式。這種模式提供了更高的鏈路可靠性,並且可以在M條鏈路中實現不同方式的負載均衡。
如下圖所示,兩臺設備間有M+N條鏈路,在聚合鏈路上轉發流量時在M條鏈路上分擔負載,即活動鏈路,不在另外的N條鏈路轉發流量,這N條鏈路提供備份功能,即備份鏈路。此時鏈路的實際帶寬為M條鏈路的總和,但是能提供的最大帶寬為M+N條鏈路的總和。
當M條鏈路中有一條鏈路故障時,LACP會從N條備份鏈路中找出一條優先級高的可用鏈路替換故障鏈路。此時鏈路的實際帶寬還是M條鏈路的總和,但是能提供的最大帶寬就變為M+N-1條鏈路的總和。
這種場景主要應用在只向用戶提供M條鏈路的帶寬,同時又希望提供一定的故障保護能力時。當有一條鏈路出現故障,系統能夠自動選擇一條優先級最高的可用備份鏈路變為活動鏈路。
如果在備份鏈路中無法找到可用鏈路,並且目前處於活動狀態的鏈路數目低於配置的活動接口數下限閾值,那麽系統將會把聚合接口關閉。
二、LACP模式實現原理
基於IEEE802.3ad標準的LACP是一種實現鏈路動態聚合與解聚合的協議。LACP通過鏈路聚合控制協議數據單元LACPDU(Link Aggregation Control Protocol Data Unit)與對端交互信息。
在LACP模式的Eth-Trunk中加入成員接口後,這些接口將通過發送LACPDU向對端通告自己的系統優先級、MAC地址、接口優先級、接口號和操作Key等信息。對端接收到這些信息後,將這些信息與自身接口所保存的信息比較,用以選擇能夠聚合的接口,雙方對哪些接口能夠成為活動接口達成一致,確定活動鏈路。
LACPDU報文詳細信息如下圖所示。
LACP模式Eth-Trunk建立的過程如下:兩端互相發送LACPDU報文。
如下圖所示,在DeviceA和DeviceB上創建Eth-Trunk並配置為LACP模式,然後向Eth-Trunk中手工加入成員接口。此時成員接口上便啟用了LACP協議,兩端互發LACPDU報文。
確定主動端和活動鏈路。
如下圖所示,兩端設備均會收到對端發來的LACPDU報文。以DeviceB為例,當DeviceB收到DeviceA發送的報文時,DeviceB會查看並記錄對端信息,然後比較系統優先級字段,如果DeviceA的系統優先級高於本端的系統優先級,則確定DeviceA為LACP主動端。如果DeviceA和DeviceB的系統優先級相同,比較兩端設備的MAC地址,確定MAC地址小的一端為LACP主動端。
選出主動端後,兩端都會以主動端的接口優先級來選擇活動接口,兩端設備選擇了一致的活動接口,活動鏈路組便可以建立起來,從這些活動鏈路中以負載分擔的方式轉發數據。
- LACP搶占
使能LACP搶占功能後,聚合組會始終保持高優先級的接口作為活動接口的狀態。
如下圖所示,接口Port1、Port2和Port3為Eth-Trunk的成員接口,DeviceA為主動端,活動接口數上限閾值為2,三個接口的LACP優先級分別為10、20、30。當通過LACP協議協商完畢後,接口Port1和Port2因為優先級較高被選作活動接口,Port3成為備份接口。
以下兩種情況需要使能LACP的搶占功能。
Port1接口出現故障而後又恢復了正常。當接口Port1出現故障時被Port3所取代,如果在Eth-Trunk接口下未使能LACP搶占功能,則故障恢復時Port1將處於備份狀態;如果使能了LACP搶占功能,當Port1故障恢復時,由於接口優先級比Port3高,將重新成為活動接口,Port3再次成為備份接口。
如果希望Port3接口替換Port1、Port2中的一個接口成為活動接口,可以使能了LACP搶占功能,並配置Port3的接口LACP優先級較高。如果沒有使能LACP搶占功能,即使將備份接口的優先級調整為高於當前活動接口的優先級,系統也不會進行重新選擇活動接口的過程,不切換活動接口。
LACP搶占延時
搶占延時是LACP搶占發生時,處於備用狀態的鏈路將會等待一段時間後再切換到轉發狀態。配置搶占延時是為了避免由於某些鏈路狀態頻繁變化而導致Eth-Trunk數據傳輸不穩定的情況。
如上圖所示,Port1由於鏈路故障切換為非活動接口,此後該鏈路又恢復了正常。若系統使能了LACP搶占功能並配置了搶占延時,Port1重新切換回活動狀態就需要經過搶占延時的時間。
活動鏈路與非活動鏈路切換
LACP模式鏈路聚合組兩端設備中任何一端檢測到以下事件,都會觸發聚合組的鏈路切換:
當滿足上述切換條件其中之一時,按照如下步驟進行切換:
鏈路Down事件。
以太網OAM檢測到鏈路失效。
LACP協議發現鏈路故障。
接口不可用。
在使能了LACP搶占功能的前提下,更改備份接口的優先級高於當前活動接口的優先級。
關閉故障鏈路。
從N條備份鏈路中選擇優先級最高的鏈路接替活動鏈路中的故障鏈路。
優先級最高的備份鏈路轉為活動狀態並轉發數據,完成切換。
LACP鏈路聚合-基礎篇