摘要:分布式鏈路聚合技術實現多個數據終端設備上任意鏈路之間的業務互為備份和負載分擔,同時實現節點保護功能。該技術是鏈路聚合技術發展的新階段,易于實現和升級,極大提高了現有技術在鏈路備份、負載分擔、節點保護、故障隔離、業務倒換方面的能力。
關鍵詞: 分布式鏈路聚合;節點保護;鏈路備份;業務保護
鏈路聚合技術已在2000年左右在IEEE802.3ad完成標準化,后由802.1AX標準對該技術的模型、操作、控制協議以及管理進行全面規范。該技術可以將數據終端設備和數據終端設備之間的多條全雙工點到點鏈路聚合起來形成一個鏈路聚合組(LAG)。上層功能模塊則可以將鏈路聚合組當成一條邏輯鏈路使用,從而達到平滑擴展鏈路帶寬的目的,同時LAG組的物理鏈路之間互為備份提高了鏈路可靠性。
鏈路聚合技術采用鏈路聚合控制協議來管理鏈路配置并在鏈路間分布負載,它在增加數據終端設備之間的連接帶寬、實現傳輸鏈路的彈性和冗余方面起到了重要的作用。
隨著網絡的進一步發展,傳統的鏈路聚合技術由于LAG組成員無法跨節點進行鏈路捆綁,逐漸無法滿足現網應用的需求,因此需要一種分布式LAG技術(如圖1所示)來實現跨節點的鏈路負載備份。
1應用場景及需求分析
1.1應用場景1:城域以太網
如圖2所示,在城域以太網通用架構規范(MEF 4)中,兩個城域以太網業務提供商的網絡設備和以太網業務的分界點被定義為外部網絡間接口(ENNI)。ENNI是連接兩個網絡管理域之間的參考點,也是某管理域的邊界點。對于某一個管理域來說,ENNI是所連接的另一個管理域的唯一參考點。
ENNI可以由一條或多條物理鏈路來實現,MEF的規范中要求當ENNI由多條物理鏈路來實現時,則采用LAG來進行鏈路的冗余保護。當ENNI一端的城域網外部邊界由兩個或兩個以上的節點組成時,ENNI實際上是由一個互連區域來實現(如圖3所示)。采用互連區域實現ENNI除了可以應付鏈路失效的情況,還可以提供節點失效保護,更進一步提高了ENNI的可靠性,如圖3所示為一個經過冗余ENNI的E-LINE業務。已有的LAG技術無法滿足該組網需求,需采用分布式LAG技術實現[1]。
1.2 應用場景2:移動回程網
如圖4所示,在長期演進(LTE)移動回程網中,可以采用eNodeB連接分組傳送網(PTN)二層網絡,再由PTN連到路由器,從而連接到服務網關(S-GW)和移動管理實體(MME)的方式組網,路由器作為eNodeB、S-GW和MME的三層網關。路由器和PTN之間通常采用雙節點多鏈路互聯來提高可靠性,若采用傳統路由和以太網技術,需要設計十分復雜的故障檢測、故障聯動和倒換同步機制,對設備能力和網絡維護都帶來很大的壓力。這種組網場景下,采用分布式的LAG技術可以很好地解決多節點多鏈路互備保護和同步的問題,并大大簡化路由器和PTN之間的組網。圖4所示的虛線方框為四節點的互連區域,對PTN下掛的eNodeB來說,兩臺路由器必須等同于同一個網關,而對于S-GW和MME來說,兩臺路由器還是各自獨立的[2]。
1.3應用場景3:云計算數據中心
如圖5所示,在云計算數據中心網絡內部通常采用大二層三級組網模式:接入層由架頂交換機組成,以連接數十臺服務器或者內置Blade Switch的服務器網絡出口,架頂交換機與匯聚層交換機通過雙歸方式進行互連;核心層是網絡的L2/L3分割點,是服務器的三層網關,通過部署MC-LAG、vPC、虛擬路由器冗余協議+多生成樹協議(VRRP+MSTP)等提供網關備份和流量的負荷分擔。這些技術的實現、網絡規劃和運營比較復雜。如果采用分布式LAG技術,可以在接入、匯聚、核心層交換機之間升級LAG技術,實現鏈路與網關節點保護和流量的負載分擔,克服傳統技術存在的擴展性差和帶寬利用率低等問題[3]。
2 LAG技術原理及實現
分布式LAG技術,指LAG組的兩端可以終結在一個或多個數據終端設備上,即增加了跨節點的能力,同時兼容原有的鏈路聚合技術的所有功能和能力。
如圖1所示,如果LAG的一端是由多個聚合系統組成,則這一端稱為門戶(Portal),即在分布式鏈路聚合模型中,LAG一端的單個聚合系統被一個Portal取代了。
除了繼承原鏈路聚合所能提供的能力外,分布式LAG還能提供:
·兼容性。多系統門戶可以連接單系統門戶或者傳統的聚合系統。
·管理隔離。分布式LAG所連接的兩個網絡屬于不同的管理域,運行不同的故障恢復協議。
·管理獨立。分布式鏈路聚合協議并不取代分布式LAG兩端的兩個網絡內部的控制協議。
·互連網絡的故障隔離。一個網絡內的鏈路或節點的故障或恢復,由本網絡內的控制協議動作與通過分布式鏈路聚合組連接的另一網絡內的控制協議相互隔離。
·網絡和分布式LAG互連區域的故障隔離。門戶間的聚合鏈路故障、恢復對其連接的兩個網絡內部來說是透明的。
·快速故障恢復。門戶內的系統間通過內部通信協商快速響應故障或恢復。
·分發獨立。滿足自身網絡需求的幀分發算法和在聚合組內幀分發到各聚合鏈路的分發算法不同。
2.1分布式鏈路聚合模型
為了能讓兩個或多個系統的鏈路加入到一個分布式LAG中,每個門戶內的每個系統都需要通過分布式中繼互連起來。門戶內的每個系統(為了區分傳統聚合組的系統,這里稱為門戶系統)運行鏈路聚合協議,每個門戶系統對應一個聚合器。通過分布式中繼連接多個聚合系統形成門戶系統作為鏈路聚合組的一端。從鏈路聚合組的另一端來看,該鏈路聚合組終結在一個模擬系統端。原則上,分布式中繼支持任意多的門戶系統互連,但這需要引入一些協議處理。每一個鏈路聚合功能均包括一個或多個媒體接入控制(MAC)[4]。
為了能更好地描述分布式中繼,這里用示例來說明。如圖6所示,系統A和系統B都可以執行上層功能,這里的上層功能可以是某些幀的轉發功能,如路由器或交換機。系統A和系統B都獨自運行了鏈路聚合子層。假設現在我們需要將系統A和系統B上的鏈路聚合關聯起來形成一個門戶,系統A和系統B上的聚合鏈路形成一個聚合組。這時我們就需要用到分布式中繼,如圖7所示,通過分布式中繼,使得系統A和系統B呈現出存在第3個模擬系統C。模擬系統C和系統A或系統B之間是上層功能層和鏈路聚合層之間的虛擬鏈路連接起來,即本端的系統A和系統B模擬成為了一個模擬系統C。聚合組的另一端門戶或系統是和系統C連接的,系統C是存在的。
分布式中繼依據的原則有:
·模擬系統C上的分布式中繼是一個N +1端口中繼(N 為門戶內的系統個數),即N 個網關端口和一個模擬鏈路聚合子層。圖7中包括了2個用于連接門戶系統的網關端口以及1個模擬鏈路聚合子層。
·聚合端口移到了模擬系統上,對于其他系統來說,這些聚合端口是對等的。
·分布式中繼網關是虛擬連接,它將分布式中繼連接到系統上。
系統A和系統B的實際結構如圖8所示,每個系統A和系統B都有自己的分布式中繼功能模塊,用于實現分布式中繼。分布式中繼的原則是:
·系統A和系統B中和系統C關聯的端口均移到分布式中繼功能的鏈路聚合子層下面。
·分布式中繼功能和上層功能層間有虛擬鏈路,稱為網關鏈路。
·每對分布式中繼功能間由內連鏈路(IPL)連接,而IPL終結在分布式中繼功能上的內連端口(IPP)上。
·有一個網關算法用于決定幀從哪個網關鏈路進入/離開模擬分布式中繼。
·有一個端口算法用于決定從哪個門戶系統中的聚合端口進入/離開模擬分布式中繼。
·分布式中繼功能用于在網關鏈路、IPL和鏈路聚合子層間傳送幀。
2.2會話感知的幀分發與收集
LAG聚合器的幀分發器負責根據幀分發算法將聚合器客戶層所發送的幀發送到正確的聚合端口上,幀收集器則負責將從各個聚合端口上收到的幀發送給聚合器客戶層。
LAG聚合器的幀分發器和幀接收器也可以按會話的方式實現幀的接收和分發。會話就是一組需要保持其序列的幀,在分布式鏈路聚合技術中,會話標志是一個12位的數值,代表一組幀,因此每一個幀都有一個對應的會話標志。會話標志可以依據幀攜帶的C-tag、S-tag、I-tag等標簽的值或經過映射處理之后的值確定。
會話標志可以分為網關會話標志和端口會話標志,每個幀對應一個網關會話標志和端口會話標志。對于下行流量(從網關鏈路到聚合鏈路),則依據幀的端口會話標志來進行幀的分發;對于上行流量(從聚合鏈路到網關),則依據幀的網關會話標志來進行幀的分發。一般來說,網關會話標志和端口會話標志可以是一樣的。因此有如下一些要求:
·鏈路聚合協議數據單元(LACPDU)中需要攜帶能指明幀分發器所用的分發算法信息。
·幀分發器給每個幀分配一個端口會話ID,并按照端口會話ID給每個幀分配一個聚合端口。
·幀接收器和幀分發器執行一樣的幀映射會話ID的算法。
· LACPDU中攜帶相應信息用于說明幀分發器會將哪些會話ID分發到哪些聚合端口上。
· 幀接收器將從聚合端口上接收到的幀按分發算法進行計算,將本不應通過該聚合端口的會話丟棄。
通過這種幀收集器僅能從某特定聚合端口上接收某特定會話的方式可以保證幀的不亂序。因此對于分布式鏈路聚合來說,一個門戶內的多個系統上的接收器需要統一協商確定某會話僅能從某一個聚合端口上接收。
幀收集器根據分發算法獲取幀的端口會話ID,并判斷此會話是否應該從接收該幀的端口上收到,如果信息吻合,則該會話則會被上送到客戶側端口。
實現會話感知的幀分發和收集需要擴展鏈路匯聚控制協議(LACP)協議,對每個聚合端口來說,LACP協議需要維護協商一致的配置信息、與對端系統交互配置信息來驗證每端口會話ID配置選擇的一致性、以及依據從對端系統鏈路聚合控制實體所獲得的信息來使能或禁用基于端口會話ID的聚合器幀收集和幀分發。其中一種會話感知的流量分發算法為按幀所屬業務來劃分會話。按幀業務來確定會話ID來進行流量分發,可以實現:
·CFM一致性。連通性錯誤管理(CFM)的檢測幀和數據平面一致。按業務幀分發方式可以保證CFM幀和數據幀走同一條物理鏈路。
·雙向同路。對于一個特定的業務流量,其在聚合組的兩端向聚合鏈路上發的時候使用的是同一條物理鏈路,從而保證了在鏈路發生故障需要切換時,受影響的業務最少;也給那些需要在發送和接收路徑嚴格對稱的協議(如IEEE 1588協議)提供支持。
·入口的可預測性。有時需要按業務對入口流量進行測量。將一個業務的流量限制在一條鏈路上,可以方便這一動作的執行。
按業務分發可以應用在分布式中繼和/或聚合器上。在使能了這種分發方式后,幀按照其幀中的Tag來分發到不同的物理聚合鏈路上。Tag的格式包括了IEEE802.1Q-2011中定義的幾種Tag:
·用戶VLAN Tag(C-TAG)。
·業務VLAN Tag或者骨干VLAN Tag(S-TAG或者B-TAG)。
·骨干業務實例Tag(I-SID)。
2.3 分布式中繼轉發原理
如果采用了會話感知的幀分發方式,幀分發器、幀接收器和分布式中繼功能都會查看幀的Tag。如果是封裝了上述幾種Tag類型,則會根據這些Tag來決定其對應的業務ID。如果幀沒有封裝Tag,則其對應的業務ID為0。
門戶系統中的分布式中繼功能有3種類型的端口:
·IPP。IPP指同一個門戶內的門戶系統間IPL兩端的端口。
·虛擬網關端口。虛擬網關端口通過一條虛擬鏈路連接到分布式中繼功能所在的門戶系統。
·聚合器端口。聚合器下面有多個聚合端口。
分布式中繼用于將從聚合端口上收到的幀(上行幀)發送到一個網關,或者丟棄;同時,將從一個網關收到的幀(下行幀)發送到一個聚合端口,或者丟棄。為了轉發到正確的聚合端口或網關,分布式中繼功能可能需要從IPL上發送幀。當分布式中繼功能模塊在進行幀轉發時,需要為幀分配網關會話ID和端口會話ID,并為相應的會話ID配置相應的網關、聚合端口和IPL。通過網關收發的雙向幀都需要應用網關算法。對于上行幀,分布式中繼功能網關算法決定該幀是否應從本門戶系統的網關鏈路轉發,還是通過其他鄰接門戶系統的網關鏈路發送。如果該幀的網關會話ID屬于本門戶系統,則發送該幀到本門戶系統的網關鏈路;如果該幀的網關會話ID屬于其他鄰接門戶系統,則發送該幀到和該鄰接門戶系統相連的內連鏈路。對于下行幀,分布式中繼功能的端口算法決定是否從本門戶系統的聚合端口發送,還是從其他鄰接門戶系統的聚合鏈路發送。如果該幀的端口會話ID屬于本門戶系統,則發送該幀到本門戶系統的聚合端口;如果該幀的端口會話ID屬于其他的鄰接系統,則發送該幀到和該鄰接門戶系統相連接的內連鏈路上[5]。
網關算法包含兩個功能:一是為幀分配網關會話ID,二是將網關會話ID配置到網關上。端口算法的功能也是相似的,即為幀分配端口會話ID和將端口會話ID配置到聚合端口。
在任意時刻,需要保證任意給定網關會話ID分配到最多一個網關,任意給定端口會話ID配置到最多一個聚合端口。
可以給某幀配置相同的網關會話ID和端口會話ID(非強制)。當一個幀從網關進入分布式中繼功能時,由端口算法決定向聚合端口或特定的IPP端口轉發該幀。當一個幀從聚合端口收上來進入分布式中繼功能時,則由網關算法決定向網關或特定的IPP端口轉發。當一個幀從IPL上收到時,分布式中繼功能需要同時應用網關算法和端口算法。
2.4分布式中繼控制協議
分布式鏈路聚合技術中本端與對端進行鏈路聚合協商時,兩端都需要分別使用統一的聚合參數進行協商,才能聚合成功。本端可以是多個系統,但對于對端來說,本端應該是一個系統,即本端聚合為一個模擬系統。這樣才符合鏈路聚合條件。
因此利用分布式中繼控制協議(DRCP),可以通過IPL建立門戶系統之間的通信,確保門戶系統上的配置(如端口算法、網關算法、門戶內各系統的標志等)的一致性,并確定門戶模擬系統的標志。DRCP在門戶系統之間交互各自的狀態以及聚合端口信息(如業務的初始和備用網關、聚合端口列表),計算需要穿過IPL的幀并和鄰接的門戶系統交換信息以防止成環或重復發送。
此外,分布式中繼需要對有些鏈路聚合中的變量進行特殊的設計,以將多個聚合系統創建成一個單獨的模擬聚合系統。
·分布式中繼的每一個聚合端口的標志符由該聚合端口所在的系統的編號和聚合端口號組成。
·分布式中繼的每一個聚合端口的管理鍵值由聚合端口所在的系統的編號和聚合端口物理特征碼所組成。
3結束語
文章主要研究了分布式鏈路聚合技術在承載網中的幾種典型的應用場景和需求,介紹了分布式LAG的基本原理和功能。分布式LAG技術能夠為兩個獨立網絡之間的一組設備提供冗余連接,以提供網絡互連區域的多鏈路、多節點的保護,實現兩個網絡的管理與控制協議的獨立性,并保證同一業務流量走同一物理路徑。分布式LAG對單節點LAG進行了重大改進,同時又具備后向兼容的特性。
·IPP。IPP指同一個門戶內的門戶系統間IPL兩端的端口。
·虛擬網關端口。虛擬網關端口通過一條虛擬鏈路連接到分布式中繼功能所在的門戶系統。
·聚合器端口。聚合器下面有多個聚合端口。
分布式中繼用于將從聚合端口上收到的幀(上行幀)發送到一個網關,或者丟棄;同時,將從一個網關收到的幀(下行幀)發送到一個聚合端口,或者丟棄。為了轉發到正確的聚合端口或網關,分布式中繼功能可能需要從IPL上發送幀。當分布式中繼功能模塊在進行幀轉發時,需要為幀分配網關會話ID和端口會話ID,并為相應的會話ID配置相應的網關、聚合端口和IPL。通過網關收發的雙向幀都需要應用網關算法。對于上行幀,分布式中繼功能網關算法決定該幀是否應從本門戶系統的網關鏈路轉發,還是通過其他鄰接門戶系統的網關鏈路發送。如果該幀的網關會話ID屬于本門戶系統,則發送該幀到本門戶系統的網關鏈路;如果該幀的網關會話ID屬于其他鄰接門戶系統,則發送該幀到和該鄰接門戶系統相連的內連鏈路。對于下行幀,分布式中繼功能的端口算法決定是否從本門戶系統的聚合端口發送,還是從其他鄰接門戶系統的聚合鏈路發送。如果該幀的端口會話ID屬于本門戶系統,則發送該幀到本門戶系統的聚合端口;如果該幀的端口會話ID屬于其他的鄰接系統,則發送該幀到和該鄰接門戶系統相連接的內連鏈路上[5]。
網關算法包含兩個功能:一是為幀分配網關會話ID,二是將網關會話ID配置到網關上。端口算法的功能也是相似的,即為幀分配端口會話ID和將端口會話ID配置到聚合端口。
在任意時刻,需要保證任意給定網關會話ID分配到最多一個網關,任意給定端口會話ID配置到最多一個聚合端口。
可以給某幀配置相同的網關會話ID和端口會話ID(非強制)。當一個幀從網關進入分布式中繼功能時,由端口算法決定向聚合端口或特定的IPP端口轉發該幀。當一個幀從聚合端口收上來進入分布式中繼功能時,則由網關算法決定向網關或特定的IPP端口轉發。當一個幀從IPL上收到時,分布式中繼功能需要同時應用網關算法和端口算法。
2.4分布式中繼控制協議
分布式鏈路聚合技術中本端與對端進行鏈路聚合協商時,兩端都需要分別使用統一的聚合參數進行協商,才能聚合成功。本端可以是多個系統,但對于對端來說,本端應該是一個系統,即本端聚合為一個模擬系統。這樣才符合鏈路聚合條件。
因此利用分布式中繼控制協議(DRCP),可以通過IPL建立門戶系統之間的通信,確保門戶系統上的配置(如端口算法、網關算法、門戶內各系統的標志等)的一致性,并確定門戶模擬系統的標志。DRCP在門戶系統之間交互各自的狀態以及聚合端口信息(如業務的初始和備用網關、聚合端口列表),計算需要穿過IPL的幀并和鄰接的門戶系統交換信息以防止成環或重復發送。
此外,分布式中繼需要對有些鏈路聚合中的變量進行特殊的設計,以將多個聚合系統創建成一個單獨的模擬聚合系統。
·分布式中繼的每一個聚合端口的標志符由該聚合端口所在的系統的編號和聚合端口號組成。
·分布式中繼的每一個聚合端口的管理鍵值由聚合端口所在的系統的編號和聚合端口物理特征碼所組成。
3結束語
文章主要研究了分布式鏈路聚合技術在承載網中的幾種典型的應用場景和需求,介紹了分布式LAG的基本原理和功能。分布式LAG技術能夠為兩個獨立網絡之間的一組設備提供冗余連接,以提供網絡互連區域的多鏈路、多節點的保護,實現兩個網絡的管理與控制協議的獨立性,并保證同一業務流量走同一物理路徑。分布式LAG對單節點LAG進行了重大改進,同時又具備后向兼容的特性。
·IPP。IPP指同一個門戶內的門戶系統間IPL兩端的端口。
·虛擬網關端口。虛擬網關端口通過一條虛擬鏈路連接到分布式中繼功能所在的門戶系統。
·聚合器端口。聚合器下面有多個聚合端口。
分布式中繼用于將從聚合端口上收到的幀(上行幀)發送到一個網關,或者丟棄;同時,將從一個網關收到的幀(下行幀)發送到一個聚合端口,或者丟棄。為了轉發到正確的聚合端口或網關,分布式中繼功能可能需要從IPL上發送幀。當分布式中繼功能模塊在進行幀轉發時,需要為幀分配網關會話ID和端口會話ID,并為相應的會話ID配置相應的網關、聚合端口和IPL。通過網關收發的雙向幀都需要應用網關算法。對于上行幀,分布式中繼功能網關算法決定該幀是否應從本門戶系統的網關鏈路轉發,還是通過其他鄰接門戶系統的網關鏈路發送。如果該幀的網關會話ID屬于本門戶系統,則發送該幀到本門戶系統的網關鏈路;如果該幀的網關會話ID屬于其他鄰接門戶系統,則發送該幀到和該鄰接門戶系統相連的內連鏈路。對于下行幀,分布式中繼功能的端口算法決定是否從本門戶系統的聚合端口發送,還是從其他鄰接門戶系統的聚合鏈路發送。如果該幀的端口會話ID屬于本門戶系統,則發送該幀到本門戶系統的聚合端口;如果該幀的端口會話ID屬于其他的鄰接系統,則發送該幀到和該鄰接門戶系統相連接的內連鏈路上[5]。
網關算法包含兩個功能:一是為幀分配網關會話ID,二是將網關會話ID配置到網關上。端口算法的功能也是相似的,即為幀分配端口會話ID和將端口會話ID配置到聚合端口。
在任意時刻,需要保證任意給定網關會話ID分配到最多一個網關,任意給定端口會話ID配置到最多一個聚合端口。
可以給某幀配置相同的網關會話ID和端口會話ID(非強制)。當一個幀從網關進入分布式中繼功能時,由端口算法決定向聚合端口或特定的IPP端口轉發該幀。當一個幀從聚合端口收上來進入分布式中繼功能時,則由網關算法決定向網關或特定的IPP端口轉發。當一個幀從IPL上收到時,分布式中繼功能需要同時應用網關算法和端口算法。
2.4分布式中繼控制協議
分布式鏈路聚合技術中本端與對端進行鏈路聚合協商時,兩端都需要分別使用統一的聚合參數進行協商,才能聚合成功。本端可以是多個系統,但對于對端來說,本端應該是一個系統,即本端聚合為一個模擬系統。這樣才符合鏈路聚合條件。
因此利用分布式中繼控制協議(DRCP),可以通過IPL建立門戶系統之間的通信,確保門戶系統上的配置(如端口算法、網關算法、門戶內各系統的標志等)的一致性,并確定門戶模擬系統的標志。DRCP在門戶系統之間交互各自的狀態以及聚合端口信息(如業務的初始和備用網關、聚合端口列表),計算需要穿過IPL的幀并和鄰接的門戶系統交換信息以防止成環或重復發送。
此外,分布式中繼需要對有些鏈路聚合中的變量進行特殊的設計,以將多個聚合系統創建成一個單獨的模擬聚合系統。
·分布式中繼的每一個聚合端口的標志符由該聚合端口所在的系統的編號和聚合端口號組成。
·分布式中繼的每一個聚合端口的管理鍵值由聚合端口所在的系統的編號和聚合端口物理特征碼所組成。
3結束語
文章主要研究了分布式鏈路聚合技術在承載網中的幾種典型的應用場景和需求,介紹了分布式LAG的基本原理和功能。分布式LAG技術能夠為兩個獨立網絡之間的一組設備提供冗余連接,以提供網絡互連區域的多鏈路、多節點的保護,實現兩個網絡的管理與控制協議的獨立性,并保證同一業務流量走同一物理路徑。分布式LAG對單節點LAG進行了重大改進,同時又具備后向兼容的特性。