1. 程式人生 > >LACP鏈路聚合-基礎篇

LACP鏈路聚合-基礎篇

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模式鏈路聚合組兩端設備中任何一端檢測到以下事件,都會觸發聚合組的鏈路切換:

當滿足上述切換條件其中之一時,按照如下步驟進行切換:

  1. 鏈路Down事件。

  2. 以太網OAM檢測到鏈路失效。

  3. LACP協議發現鏈路故障。

  4. 接口不可用。

  • 在使能了LACP搶占功能的前提下,更改備份接口的優先級高於當前活動接口的優先級。

  1. 關閉故障鏈路。

  2. 從N條備份鏈路中選擇優先級最高的鏈路接替活動鏈路中的故障鏈路。

  3. 優先級最高的備份鏈路轉為活動狀態並轉發數據,完成切換。


LACP鏈路聚合-基礎篇