羅志成,張潔
(武漢郵電科學研究院,湖北武漢 430074)
隨著通信互聯(lián)網(wǎng)技術的不斷發(fā)展,人們對圖像、語音以及多媒體業(yè)務的需求不斷增加。近幾年,PON 技術憑借維護方便、成本較低、穩(wěn)定性強以及可靠性高的優(yōu)勢越來越受通信設備廠商的青睞。
OLT 是PON 系統(tǒng)中的核心設備,它既能夠?qū)⒐镁W(wǎng)絡的信號傳輸?shù)郊彝ビ脩?,也能夠?qū)碜杂脩舻男盘柗殖刹煌N類的業(yè)務信號,分別送入到業(yè)務網(wǎng)中。隨著越來越多用戶的接入,傳統(tǒng)OLT 設備中,雙主控盤一個工作另一個當作備份的工作方式不足以處理龐大的數(shù)據(jù)量。另外,PON 網(wǎng)絡中普通物理鏈路連接的帶寬速率也滿足不了當前人們對網(wǎng)速毫秒級延遲的需求。文中提出的1+1 工作模式的OLT 設備支持雙主控盤同時工作,并支持接入網(wǎng)中跨盤鏈路聚合。此種工作模式的OLT 設備不僅能夠保證主備倒換時業(yè)務的穩(wěn)定性和可靠性,也提高了帶寬速率。
PON 是一種由點到多點架構組成的網(wǎng)絡寬帶技術,主要由光網(wǎng)絡單元(ONU)、光線路終端(OLT)和光分配網(wǎng)(ODN)組成。整個PON 系統(tǒng)的運行以及接入過程中無需任何使用電源的電子設備,因此PON也被稱為無源光網(wǎng)絡。PON 系統(tǒng)的網(wǎng)絡結(jié)構如圖1所示。
圖1 PON系統(tǒng)結(jié)構圖
PON 在上行和下行方向采用不同的復用技術。在下行方向中,OLT 將要送給每個ONU 的業(yè)務信號組裝成幀,以廣播的方式發(fā)給多個ONU,每路信號都含有發(fā)給所有特定ONU 的幀,各個ONU 接受屬于自己的幀,丟棄其他ONU 的幀。下行廣播方式如圖2所示。
圖2 PON系統(tǒng)下行廣播方式
上行方向采用時分多址(TDMA)方式共享信道進行傳輸,OLT 為每個ONU 都分配一個傳輸時隙,不同的ONU 在不同的時隙發(fā)送上行信號。上行傳輸方式如圖3 所示。
圖3 PON系統(tǒng)上行廣播方式
鏈路聚合是將多條物理鏈路綁定形成一條邏輯鏈路的技術。聚合后邏輯鏈路中的最大帶寬等于原來物理鏈路的帶寬總和。LACP 技術既能提高業(yè)務的帶寬,同時也能提供備用鏈路,從而保持業(yè)務不會中斷。
鏈路聚合技術分為手工聚合和LACP 模式鏈路聚合。在現(xiàn)網(wǎng)中,手工聚合由于操作復雜、不易控制而使用較少,文中不予以詳細介紹。LACP 模式鏈路聚合是在IEEE802.3ad 標準中提出的協(xié)議,加入聚合組的成員通過發(fā)送LACP 報文與對端設備交互信息實現(xiàn)鏈路的匯聚。
LACP 協(xié)議要求將端口加入聚合組時比較端口的基本配置,只有基本配置(例如VLAN、雙工、速率)相同的端口才能加入到同一聚合組中。
LACP 協(xié)議報文格式如圖4 所示,內(nèi)容包括目的MAC 地址、源MAC 地址、協(xié)議類型、Actor 的信息與Partner 的信息等。在報文內(nèi)容中,Actor_State 和Partner_State 分別表示本端端口協(xié)議狀態(tài)和對端端口的協(xié)議狀態(tài)。協(xié)議狀態(tài)是由LACP 內(nèi)部的4 個狀態(tài)機來計算的。端口狀態(tài)是0x3d 或0x3f 表示端口LACP 協(xié)議協(xié)商成功,否則代表協(xié)商失敗。
圖4 LACP協(xié)議報文格式
LACP 協(xié)議的交互主要由協(xié)議內(nèi)部的一組狀態(tài)機來實現(xiàn),這組狀態(tài)機負責整個LACP 協(xié)議的運轉(zhuǎn)。LACP 主要由4 個狀態(tài)機和一個邏輯判斷組成,具體如下:
接收狀態(tài)機Receive machine:接收對端LACP 包并記錄信息,判斷對端是否和本端協(xié)商。
周期性發(fā)送狀態(tài)機Periodic Transmission machine:通過周期性發(fā)送LACPDU 包來維持聚合狀態(tài)。
聚合狀態(tài)機Mux machine:控制端口加入或踢出聚合組。
發(fā)送狀態(tài)機Transmit machine:為其他狀態(tài)機服務,發(fā)送LACPDU 數(shù)據(jù)包。
邏輯判斷Selection logic:為物理端口選擇一個可用的聚合組。
要將OLT 設備中兩個獨立主控盤單獨工作改成兩個主控盤一起工作,首先要改變兩塊主控盤交換芯片的工作模式。文中的改進方法是將兩塊主控盤的交換芯片作為一個整體,而不是各自獨立工作的交換芯片,也就是將1+1 工作模式下的兩塊主控盤配置成堆疊工作模式。設計模式如圖5 所示。
圖5 堆疊工作模式
將配置成堆疊模式的交換芯片的端口進行重新定義,兩塊主控盤之間的級聯(lián)端口定義為堆疊端口,將主用主控盤、備用主控盤的端口以及上聯(lián)盤的端口定義為普通端口。普通端口用來收發(fā)報文并進行MAC 地址表學習,堆疊端口只作為系統(tǒng)內(nèi)部的通信端口,不參與報文的MAC 地址表學習。堆疊端口與普通端口設計模式如圖6 所示。
圖6 堆疊端口與普通端口
在堆疊模式下,需要將兩塊主控盤交換芯片的端口號在系統(tǒng)內(nèi)部統(tǒng)一編號,編號方式是芯片號和端口號的組合。Chip ID 和Port ID 的數(shù)據(jù)長度為2 字節(jié),組合方式如圖7 所示。
圖7 交換芯片端口號編號方式
在這樣的方式下,當主控盤的交換芯片接收到二層以太網(wǎng)報文后,在報文頭中增加芯片號和端口號信息,普通端口將由Chip ID 和Port ID 組成的新端口號信息加入到報文頭中,堆疊端口不增加報文頭。
通過以上設計方案,兩塊主控盤可實現(xiàn)1+1 并發(fā)工作模式,兩塊主控盤的上聯(lián)口可同時工作,實現(xiàn)上聯(lián)口的擴展和負載分擔。主用主控盤交換芯片學習PON 業(yè)務單盤、主用主控盤、備用主控盤等所有端口收到的報文MAC 地址并記錄到MAC 地址表中,并實時同步到備用主控盤中。而備用主控盤交換芯片不需要學習MAC 地址表,但也可以與主用主控盤的二層表項保持一致。這樣,系統(tǒng)內(nèi)只維護主用主控盤的二層表項,無需維護兩個二層表項。
在傳統(tǒng)OLT 設備中,只支持主用主控盤單獨工作,而備用主控盤不運行協(xié)議。1+1 工作模式的OLT能夠支持跨主控盤聚合。LACP 協(xié)議1+1 模式設計如圖8 所示。
圖8 LACP協(xié)議1+1模式設計
設備與設備之間的LACP 協(xié)議交互(如LACP 使能、創(chuàng)建Trunk 組、設置Trunk 的工作模式、設置Trunk 組的最大活動成員數(shù)、將端口加入到Trunk 組等)需要進行LACP 配置。
RCAL 是命令行模塊,SNMP 是網(wǎng)管模塊。這兩個模塊負責LACP 協(xié)議的配置下發(fā)與配置回讀,主盤配置通過命令行直接下發(fā),備盤配置通過數(shù)據(jù)庫實現(xiàn)配置同步。
橋模塊與協(xié)議模塊的交互主要有端口事件上報、獲取端口信息以及LACP 協(xié)議的收發(fā)報文。橋模塊獲取端口的雙工、速率和狀態(tài)來判斷端口是up 還是down,并將此事件上報給協(xié)議模塊。LACP 協(xié)議模塊只有收到橋模塊發(fā)來端口up 的消息并且端口配置了LACP 協(xié)議,才進行LACP 協(xié)議的處理。
LACP 協(xié)議通過注冊收包函數(shù)lacp_register_rx_handler 到橋模塊來進行收取報文。主用主控盤上聯(lián)端口和備用主控盤上聯(lián)端口形成鏈路聚合,主用主控盤端口收到報文的同時會復制一份到備盤中,但備盤不進行處理;備用主控盤的上聯(lián)端口收到報文也會復制一份到主盤中,在主盤的CPU進行處理。
LACP 協(xié)議模塊會調(diào)用橋模塊的發(fā)包函數(shù)uv_portIfSend 進行組包,組包是在主用主控盤上完成的。組包完成后可以通過本盤的上聯(lián)端口直接發(fā)送出去,也可以通過主從通道發(fā)給備盤,通過備用主控盤的上聯(lián)端口發(fā)送出去。
基于提出的1+1 并發(fā)工作模式OLT 設備并支持LACP 跨盤聚合的方案設計,在實驗室搭建圖9 所示的實驗環(huán)境。使用OLT 設備與華為交換機進行連接,其中9 盤為主用主控盤,10 盤為備用主控盤,9∶1與10∶1 形成跨盤鏈路聚合。
圖9 LACP跨盤聚合
在OLT 設備與交換機設備上進行LACP 配置,發(fā)現(xiàn)LACP 協(xié)議可以正常協(xié)商。通過命令行在設備上回讀LACP 聚合組信息,如圖10 所示。
圖10 LACP跨盤聚合信息
使用實驗室儀表TestCenter 來模擬業(yè)務流,通過2/11 端口和2/4 端口進行雙向打流,流量速率為1 000 fps。數(shù)據(jù)流量信息如圖11 所示。
圖11 跨盤聚合數(shù)據(jù)流量示意圖
由圖11 可以發(fā)現(xiàn),2/4 端口發(fā)出1 000 fps 的業(yè)務流量,接收到1 000 fps 的業(yè)務流量;2/11 端口發(fā)出1 000 fps 的業(yè)務流量,也接收到1 000 fps 的業(yè)務流量,全程無丟包現(xiàn)象。
在正常聚合的條件下,拔掉9∶1 端口,使數(shù)據(jù)流全部通過10:1 端口進行傳輸,在儀表軟件中查看丟包信息。丟包信息如圖12 所示。
圖12 LACP倒換丟包信息
文中實驗設置流量速率為1 000 fps,根據(jù)圖12可知,在LACP 倒換過程中丟失18 幀,因此倒換時間大約為18 ms。
提出的支持以1+1 并發(fā)工作模式OLT 為基礎并且在軟件上實現(xiàn)LACP 協(xié)議的方案設計,通過實驗測試驗證了可以支持跨主控盤聚合,不僅能夠提高帶寬、縮短倒換時間,而且在主控盤主備倒換時不會中斷業(yè)務,提高了系統(tǒng)的數(shù)據(jù)處理性能和穩(wěn)定性,展現(xiàn)了設備良好的商用價值。今后將主要關注設備跨網(wǎng)段之間的通信,進一步提高設備的實用性。