章芳芳 ,昂志敏 ,付志華
(1.合肥工業(yè)大學(xué) 計算機(jī)與信息學(xué)院,安徽 合肥 230009;2.杭州華三通信技術(shù)有限公司,浙江 杭州 310053)
傳統(tǒng)的基于ATM或幀中繼FR(Frame Relay)的虛擬專用網(wǎng) VPN(Virtual Private Network)應(yīng)用非常廣泛,能在不同VPN間共享運營商的網(wǎng)絡(luò)結(jié)構(gòu)[1]。這種VPN的不足之處在于:
(1)依賴于專用的介質(zhì)(如ATM或 FR)。為提供基于ATM的VPN服務(wù),運營商必須建立覆蓋全部服務(wù)范圍的ATM網(wǎng)絡(luò);為提供基于FR的VPN服務(wù),又需要建立覆蓋全部服務(wù)范圍的FR網(wǎng)絡(luò),致使在網(wǎng)絡(luò)建設(shè)上造成浪費;
(2)部署復(fù)雜。尤其是向已有的VPN加入新的Site(站點)時,需要同時修改所有接入此VPN站點的邊緣節(jié)點的配置。
鑒于以上缺點,新的VPN替代方案應(yīng)運而生,MPLS L2VPN就是其中的一種。MPLS L2VPN提供基于多協(xié)議標(biāo)簽交換 MPLS(Multiprotocol Label Switching)網(wǎng)絡(luò)的二層VPN服務(wù),使運營商可以在統(tǒng)一的MPLS網(wǎng)絡(luò)上提供基于不同數(shù)據(jù)鏈路層的二層 VPN,包括 ATM、FR、VLAN、Ethernet、PPP 等[2]。 簡單來說,MPLS L2VPN 是在MPLS網(wǎng)絡(luò)上透明傳輸用戶二層數(shù)據(jù)[3]。從用戶的角度來看,MPLS網(wǎng)絡(luò)是一個二層交換網(wǎng)絡(luò),可以在不同節(jié)點間建立二層連接。以ATM為例,每個用戶邊緣設(shè)備CE(Customer Edge)配置一條ATM虛電路VC(Virtual Circuit),通過MPLS網(wǎng)絡(luò)與遠(yuǎn)端CE相連,這與通過ATM網(wǎng)絡(luò)實現(xiàn)互聯(lián)類似。
MPLS L2VPN主要有以下幾種實現(xiàn)方式[4]:
(1)電路交叉連接 CCC(Circuit Cross Connect)和靜態(tài)虛擬電路 SVC(Static Virtual Circuit):兩種采用靜態(tài)配置VC標(biāo)簽的方式來實現(xiàn)MPLS L2VPN。
(2)Martini方式:通過建立點到點鏈路來實現(xiàn)MPLS L2VPN,它以標(biāo)記分發(fā)協(xié)議 LDP(Label Distribution Protocol)為信令協(xié)議來傳遞雙方的VC標(biāo)簽。
(3)Kompella方式:在 MPLS網(wǎng)絡(luò)上以端到端(CE到CE)方式建立MPLSL2VPN。目前,它采用擴(kuò)展了的邊界網(wǎng)關(guān)協(xié)議 BGP(Border Gateway Protocol)為信令協(xié)議來發(fā)布二層可達(dá)信息和VC標(biāo)簽[5]。
其中,Martini方式 MPLS L2VPN著重于在兩個 CE之間建立虛電路VC(Virtual Circuit),該方式用VC-TYPE結(jié)合VC ID來標(biāo)識一個VC。VC-TYPE表明VC的封裝類型(ATM、VLAN或 PPP);VC ID則用于唯一標(biāo)識一個VC。屬于同一個VC-TYPE的所有VC中,其VC ID必須在整個PE中是唯一的。連接兩個CE的PE通過LDP交換VC標(biāo)簽,并通過VC ID綁定對應(yīng)的CE。當(dāng)連接兩個PE的LSP建立成功,雙方的標(biāo)簽交換和綁定完成后,VC就建立起來了,CE之間可以通過此VC傳遞二層數(shù)據(jù)。為了在PE之間交換 VC標(biāo)簽,Martini方式對LDP進(jìn)行了擴(kuò)展,增加了轉(zhuǎn)發(fā)等價類VC FEC(Forwarding Equivalence Class)的 FEC類型[6]。此外,由于交換VC標(biāo)簽的兩個PE可能不是直接相連的,所以LDP必須使用remote peer來建立會話(Session),并在這個會話上傳遞VC FEC和VC標(biāo)簽。
在Martini方式中,由于運營商網(wǎng)絡(luò)中只有PE設(shè)備需要保存少量的VC label與LSP的映射等信息,P設(shè)備不包含任何二層VPN信息,所以擴(kuò)展性很好。此外,當(dāng)需要新增加一條VC時,只需在相關(guān)的兩端PE設(shè)備上各配置一個單方向VC連接即可,不影響網(wǎng)絡(luò)的運行。
如果在兩個CE之間只建立一條VC,則當(dāng)該VC出現(xiàn)故障時,CE之間將無法通信。如圖1所示,Martini方式的MPLS L2VPN支持VC冗余保護(hù)功能:在兩個CE之間建立兩條VC鏈路,正常情況下,CE只使用一條 VC鏈路(主鏈路)與對端 CE通信;當(dāng) PE 1檢測到主鏈路出現(xiàn)故障時,將啟用備份VC鏈路,從而保證通信不會中斷。
上文談到,當(dāng)主鏈路發(fā)生故障后,將切換到備份VC鏈路。目前的網(wǎng)絡(luò)中一般采用比較慢的協(xié)議報文hello機(jī)制,LDP會話要檢測到鏈路失效,需要檢測到幾個周期的hello報文的丟失。通常這個檢測時間會很長,在幾百微秒級。當(dāng)數(shù)據(jù)達(dá)到吉比特速率級時,故障檢測時間長表明大量數(shù)據(jù)的丟失,并且對于不允許路由協(xié)議的節(jié)點沒有辦法檢測鏈路狀態(tài)?,F(xiàn)有的網(wǎng)絡(luò)中并不具備秒級以下的故障修復(fù)功能,而傳統(tǒng)的路由架構(gòu)對現(xiàn)實應(yīng)用如語音進(jìn)行準(zhǔn)確故障檢測方面能力有限。
BFD(Bidirectional Forwarding Detection)是一套全網(wǎng)統(tǒng)一的檢測機(jī)制,用于快速檢測、監(jiān)控網(wǎng)絡(luò)中鏈路連通狀況。BFD的目標(biāo)是對相鄰轉(zhuǎn)發(fā)引擎之間通道故障提供輕負(fù)荷、持續(xù)時間短的檢測[7]。由于BFD定義的確認(rèn)分組可以用于任何協(xié)議層,這使BFD機(jī)制成為了一個通用的工具。BFD可以在多種類型的路徑和媒質(zhì)(如物理鏈路、虛電路或一對網(wǎng)元之間的MPLS LSP)上實現(xiàn)失效檢測[8]。
在上述組網(wǎng)中,PE1和PE2之間、PE1和PE3之間均建立有遠(yuǎn)程LDP會話。在這兩對遠(yuǎn)程LDP會話上建立BFD會話,并且使BFD報文檢測周期為最小的10 ms,當(dāng)BFD在3個周期后沒有檢測到對端發(fā)送的BFD報文時,即認(rèn)為鏈路失效,從而發(fā)起VC的切換,切換到備用VC上,保證流量的最小流失。
BFD會話建立以及檢測通知過程如下:
(1)LDP遠(yuǎn)程會話建立,主備VC均up,下發(fā)VC到數(shù)據(jù)層面;
(2)LDP通告BFD鄰居參數(shù)和BFD檢測參數(shù);
(3)BFD根據(jù)收到的參數(shù)協(xié)商是否可以建立BFD鄰居來確定是否建立BFD會話。這里同時建立控制面和數(shù)據(jù)面的BFD會話;
(4)當(dāng)BFD檢測到鏈路失效時,同時通知控制面和轉(zhuǎn)發(fā)面進(jìn)行切換。通知轉(zhuǎn)發(fā)面切換是為了將VC快速由主切換到備,從而指導(dǎo)轉(zhuǎn)發(fā)。通知控制面是為了保持和轉(zhuǎn)發(fā)面數(shù)據(jù)一致。這樣就達(dá)到了快速切換的目的。如圖2所示。
普通方式下,使用協(xié)議報文本身的hello機(jī)制進(jìn)行Martini方式MPLS L2VPN的主備VC切換網(wǎng)絡(luò)性能如圖3所示。
計算出的流量切換時間t1為:
圖3中端口1發(fā)送幀數(shù)=2 915 108幀,端口2接收幀數(shù)=1 613 388幀,端口3接收幀數(shù)=1 289 580幀,發(fā)送幀速率=84 345 f/s,則:
改用BFD檢測時,BFD發(fā)送報文周期設(shè)置為最小的10 ms,性能如圖 4所示。
此時的流量切換時間t2為:
由上述可見,利用BFD機(jī)制檢測VC鏈路故障,其切換時間一般在50 ms之內(nèi)。
利用BFD技術(shù)實現(xiàn)MPLS L2VPN主備鏈路切換,大大減少了鏈路故障的檢測時間,并且主備VC的切換在數(shù)據(jù)平面完成,不需要通過控制平面下發(fā)備VC表項,減少了主備VC的切換時間。BFD的定位更多的是綁定到數(shù)據(jù)平面,從而脫離具體的網(wǎng)絡(luò)協(xié)議,使快速檢測缺陷實現(xiàn)電信級倒換成為可能,加上處理的低開銷使得BFD的推廣變得更加容易,并且具備更強(qiáng)的適用性,BFD必將成為網(wǎng)絡(luò)電信化重要的推動力量。
[1]陳山枝.IP與ATM的結(jié)合[J].現(xiàn)代電信科技,1998,7(2):33-47.
[2]吳江,趙慧玲.下一代的IP骨干網(wǎng)絡(luò)技術(shù)——多協(xié)議標(biāo)記交換[M].北京:人民郵電出版社,2001.
[3]甘朝欽.VPN向下一代網(wǎng)絡(luò)演進(jìn)最現(xiàn)實合理的選擇——MPLS L2VPN[J].電 信 技 術(shù) ,2004(3):57-59.
[4]李勁松.BGP/MPLS VPN江湖恩仇錄[EB/OL].(2010-05-26).http://wenku.baidu.com/view.
[5]徐勁濤,余波.淺議高級BGP路由協(xié)議[J].江西通信科技,2009(03):89-91.
[6]MARTINI L,ROSEN E,AAWAR N E.Pseudowire Setup and Maintenance Using the Label Distribution Protocol(LDP)[S].2006.
[7]高鑫.雙向轉(zhuǎn)發(fā)檢測(BFD)協(xié)議研究[M].北京:北京郵電大學(xué)出版社,2007.
[8]陳利兵.BFD技術(shù)在IP承載網(wǎng)中的應(yīng)用[J].現(xiàn)代電信科技,2008,38(1):54-58.
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2011年12期