信息產(chǎn)業(yè)部電信傳輸研究所 田 輝
多協(xié)議標(biāo)記交換(MPLS)技術(shù)作為一種新興的路由交換技術(shù),越來越受到業(yè)界的關(guān)注。MPLS技術(shù)是結(jié)合二層交換和三層路由的L2/L3集成數(shù)據(jù)傳輸技術(shù),它不僅支持網(wǎng)絡(luò)層的多種協(xié)議,還可以兼容第二層上的多種鏈路層技術(shù)。采用MPLS技術(shù)的IP路由器以及ATM、FR交換機(jī)統(tǒng)稱為標(biāo)記交換路由器(LSR),使用LSR的網(wǎng)絡(luò)相對簡化了網(wǎng)絡(luò)層復(fù)雜度,兼容現(xiàn)有的主流網(wǎng)絡(luò)技術(shù),降低了網(wǎng)絡(luò)升級的成本。此外,業(yè)界還普遍看好用MPLS提供VPN服務(wù),實(shí)現(xiàn)負(fù)載均衡的網(wǎng)絡(luò)流量工程。
一、MPLS的基本原理
(1)MPLS基礎(chǔ)
MPLS將面向非連接的IP業(yè)務(wù)移植到面向連接的標(biāo)記交換業(yè)務(wù)之上,實(shí)現(xiàn)上將路由選擇層面與數(shù)據(jù)轉(zhuǎn)發(fā)層面分離。MPLS網(wǎng)絡(luò)中,在入口LSR處分組按照不同轉(zhuǎn)發(fā)要求劃分成不同轉(zhuǎn)發(fā)等價(jià)類(FEC),并將每個(gè)特定FEC映射到下一跳,即進(jìn)入網(wǎng)絡(luò)的每一特定分組都被指定到某個(gè)特定的FEC中。每一特定FEC都被編碼為一個(gè)短而定長的值,稱為標(biāo)記,標(biāo)記加在分組前成為標(biāo)記分組,再轉(zhuǎn)發(fā)到下一跳。在后續(xù)的每一跳上,不再需要分析分組頭,而是用標(biāo)記作為指針,指向下一跳的輸出端口和一個(gè)新的標(biāo)記,標(biāo)記分組用新標(biāo)記替代舊標(biāo)記后經(jīng)指定的輸出端口轉(zhuǎn)發(fā)。在出口LSR上,去除標(biāo)記使用IP路由機(jī)制將分組向目的地轉(zhuǎn)發(fā)。
選擇下一跳的工作可分為兩部分:將分組分成FEC和將FEC映射到下一跳。在面向非連接的網(wǎng)絡(luò)中,每個(gè)路由器通過分析分組頭來獨(dú)立地選擇下一跳,而分組頭中包含有比用來判斷下一跳豐富得多的信息。傳統(tǒng)IP轉(zhuǎn)發(fā)中,每個(gè)路由器對相同F(xiàn)EC的每個(gè)分組都要進(jìn)行分類和選擇下一跳;而在MPLS中,分組只在進(jìn)入網(wǎng)絡(luò)時(shí)進(jìn)行FEC分類,并分配一個(gè)相應(yīng)的標(biāo)記,網(wǎng)絡(luò)中后續(xù)LSR則不再分析分組頭,所有轉(zhuǎn)發(fā)直接根據(jù)定長的標(biāo)記轉(zhuǎn)發(fā)。有些傳統(tǒng)路由器在分析分組頭的同時(shí),不但決定分組的下一跳,而且要決定分組的業(yè)務(wù)類型(COS:Class of Service),以給予不同的服務(wù)規(guī)則。MPLS可以(但不是必須)利用標(biāo)記來支持COS,此時(shí)標(biāo)記用來代表FEC和COS的結(jié)合。MPLS的轉(zhuǎn)發(fā)模式和傳統(tǒng)網(wǎng)絡(luò)層轉(zhuǎn)發(fā)相比,除相對地簡化轉(zhuǎn)發(fā)、提高轉(zhuǎn)發(fā)速度外,并且易于實(shí)現(xiàn)顯式路由、流量工程、QoS和VPN等功能。
(2)標(biāo)記棧操作與標(biāo)記交換路徑
標(biāo)記是一個(gè)長度固定(20bit/s)、具有本地意義的標(biāo)識符,和另外12bit/s控制位構(gòu)成MPLS包頭,也成為墊層(shim)。MPLS包頭位于二層和三層之間,通常的服務(wù)數(shù)據(jù)單元是IP包,也可以通過改進(jìn)直接承載ATM信元和FR幀。
MPLS分組上承載一系列按照“后進(jìn)先出”方式組織起來的標(biāo)記,該結(jié)構(gòu)稱作標(biāo)記棧,從棧頂開始處理標(biāo)記。若一個(gè)分組的標(biāo)記棧深度為m,則位于棧底的標(biāo)記為1級標(biāo)記,位于棧頂?shù)臉?biāo)記為m級標(biāo)記。未打標(biāo)記的分組可看作標(biāo)記棧為空(即標(biāo)記棧深度為零)的分組。標(biāo)記分組到達(dá)LSR通常先執(zhí)行標(biāo)記棧頂?shù)某鰲#╬op)操作,然后將一個(gè)或多個(gè)特定的新標(biāo)記壓入(push)標(biāo)記棧頂。如果分組的下一跳為某個(gè)LSR自身,則該LSR將棧頂標(biāo)記彈出并將由此得到的分組“轉(zhuǎn)發(fā)”給自己。此后,如果標(biāo)記彈出后標(biāo)記棧不空,則LSR根據(jù)標(biāo)記棧保留信息做出后續(xù)轉(zhuǎn)發(fā)決定;如果標(biāo)記彈出后標(biāo)記棧為空,則LSR根據(jù)IP分組頭路由轉(zhuǎn)發(fā)該分組。
LSR是MPLS網(wǎng)絡(luò)的基本單元,軟件框架結(jié)構(gòu)如圖1所示。LSR主要由控制單元與轉(zhuǎn)發(fā)單元兩部分構(gòu)成,這種功能上的分離有利于控制算法的升級。其中,控制單元負(fù)責(zé)路由的選擇,MPLS控制協(xié)議的執(zhí)行,標(biāo)記的分配與發(fā)布以及標(biāo)記信息庫(LIB)的形成。而轉(zhuǎn)發(fā)單元則只負(fù)責(zé)依據(jù)標(biāo)記信息庫建立標(biāo)記轉(zhuǎn)發(fā)表(LFIB),對標(biāo)記分組進(jìn)行簡單的轉(zhuǎn)發(fā)操作。其中,LFIB是MPLS轉(zhuǎn)發(fā)的關(guān)鍵,LFIB使用標(biāo)記來進(jìn)行索引,相當(dāng)于IP網(wǎng)絡(luò)中的路由表。LFIB表項(xiàng)的內(nèi)容包括:入標(biāo)記、轉(zhuǎn)發(fā)等價(jià)類、出標(biāo)記、出接口、出封裝方式等。
MPLS功能的本質(zhì)是將分組業(yè)務(wù)劃分為FEC,相同F(xiàn)EC的業(yè)務(wù)流在標(biāo)記交換路徑(LSP)上交換。一般來說,由下游節(jié)點(diǎn)向上游節(jié)點(diǎn)分發(fā)標(biāo)記,連成一串的標(biāo)記和路由器序列就構(gòu)成了LSP。LSP的建立可以使用兩種方式:獨(dú)立方式(Independent)和有序方式(Ordered)。在獨(dú)立方式中,任何LSR可以在任何時(shí)候?yàn)槊總(gè)可識別的FEC流進(jìn)行標(biāo)記分發(fā),并將該綁定分發(fā)給標(biāo)記分發(fā)對等體;而在有序方式中,一個(gè)流的標(biāo)記分發(fā)從這個(gè)FEC流所屬的出口節(jié)點(diǎn)開始,由下游向上游逐級綁定,這樣可以保證整個(gè)網(wǎng)絡(luò)內(nèi)標(biāo)記與流的映射完整一致。
LSP有序控制方式和獨(dú)立控制方式應(yīng)能夠相互操作。一條LSP中,如果并非所有LSR均使用有序控制,則控制方式的整體效果為獨(dú)立控制。LSR應(yīng)支持兩種控制方式之一,控制方式由LSR本地選擇。
(3)MPLS路由選擇
這里的路由選擇是指為特定FEC選擇LSP的選路方法,MPLS使用兩種路由方法:逐跳路由和顯式路由。逐跳路由使用傳統(tǒng)的動態(tài)路由算法來決定LSP的下一跳,每個(gè)節(jié)點(diǎn)獨(dú)立地為FEC選擇下一跳,對于下一跳的改變由本地決定,發(fā)生故障時(shí)路徑的修復(fù)也由本地完成。顯式路由則使用流量工程技術(shù)或者手工制定路由,不受動態(tài)路由影響,路由計(jì)算中可以考慮各種約束條件(如策略、CoS等級),每個(gè)LSR不能獨(dú)立地選擇下一跳,而由LSP的入口/出口LSR規(guī)定位于LSP上的LSR。
逐跳路由實(shí)現(xiàn)上比較簡單,可以利用傳統(tǒng)路由協(xié)議(如OSPF、IS-IS)以及現(xiàn)有設(shè)備中的路由功能,但對于故障路徑的恢復(fù)有賴于路由協(xié)議的匯聚時(shí)間,并且不具備流量工程能力。顯式路由可以根據(jù)各種約束參數(shù)來計(jì)算路徑,可以賦予不同LSP以不同的服務(wù)等級,可以為故障的LSP進(jìn)行快速重路由,適于實(shí)現(xiàn)流量工程與QoS業(yè)務(wù),能夠更好的滿足ISP的特定要求。
二、標(biāo)記分發(fā)協(xié)議
LSP實(shí)質(zhì)上是一個(gè)MPLS隧道,而隧道建立過程則是通過標(biāo)記分發(fā)協(xié)議的工作實(shí)現(xiàn)的。標(biāo)記分發(fā)協(xié)議是LSR將它所做的標(biāo)記/FEC綁定通知到另一個(gè)LSR的協(xié)議族,使用標(biāo)記分發(fā)協(xié)議交換標(biāo)記/FEC綁定信息的兩個(gè)LSR被稱為對應(yīng)于相應(yīng)綁定信息的標(biāo)記分發(fā)對等實(shí)體。標(biāo)記分發(fā)協(xié)議還包括標(biāo)記分發(fā)對等實(shí)體為了獲知彼此的MPLS能力而進(jìn)行的任何協(xié)商。
目前主要研究三種標(biāo)記分發(fā)協(xié)議:基本的標(biāo)記分發(fā)協(xié)議(LDP)、基于約束的LDP(CR-LDP)和擴(kuò)展RSVP(RSVP-TE)。LDP是基本的MPLS信令與控制協(xié)議,它規(guī)定了各種消息格式以及操作規(guī)程,LDP與傳統(tǒng)路由算法相結(jié)合,通過在TCP連接上傳送各種消息,分配標(biāo)記、發(fā)布<標(biāo)記,F(xiàn)EC>映射,建立維護(hù)標(biāo)記轉(zhuǎn)發(fā)表和標(biāo)記交換路徑。但如果需要支持顯式路由、流量工程和QoS等業(yè)務(wù)時(shí),就必須使用后兩種標(biāo)記分發(fā)協(xié)議。CR-LDP是LDP協(xié)議的擴(kuò)展,它仍然采用標(biāo)準(zhǔn)的LDP消息,與LDP共享TCP連接,CR-LDP的特征在于通過網(wǎng)管制定或是在路由計(jì)算中引入約束參數(shù)的方法建立顯式路由,從而實(shí)現(xiàn)流量工程等功能。RSVP本來就是為了解決TCP/IP網(wǎng)絡(luò)服務(wù)質(zhì)量問題而設(shè)計(jì)的協(xié)議,將該協(xié)議進(jìn)行擴(kuò)展得到的RSVP-TE也能夠?qū)崿F(xiàn)各種所需功能,在協(xié)議實(shí)現(xiàn)中將RSVP作用對象從流轉(zhuǎn)變?yōu)镕EC,降低了顆粒度,也就提高了網(wǎng)絡(luò)的擴(kuò)展性?梢钥吹,CR-LDP和RSVP-TE在功能上比較相似,但在協(xié)議實(shí)現(xiàn)上有著本質(zhì)的區(qū)別,難以實(shí)現(xiàn)互通,故而必須做出選擇。
三、MPLS技術(shù)應(yīng)用
(1)MPLS VPN
MPLS的一個(gè)重要應(yīng)用是VPN,MPLS VPN根據(jù)擴(kuò)展方式的不同可以劃分為BGP MPLS VPN 和LDP擴(kuò)展VPN,根據(jù)PE(Provider Edge)設(shè)備是否參與VPN 路由可以劃分為二層VPN 和三層VPN。
BGP MPLS VPN 主要包含骨干網(wǎng)邊緣路由器(PE),用戶網(wǎng)邊緣路由器(CE)和骨干網(wǎng)核心路由器(P)。PE上存儲有VPN的虛擬路由轉(zhuǎn)發(fā)表(VRF),用來處理VPN-IPv4 路由,是三層MPLS VPN 的主要實(shí)現(xiàn)者;CE上分布用戶網(wǎng)絡(luò)路由,通過一個(gè)單獨(dú)的物理/邏輯端口連接到PE;P路由器是骨干網(wǎng)設(shè)備,負(fù)責(zé)MPLS 轉(zhuǎn)發(fā)。多協(xié)議擴(kuò)展BGP(MP-BGP)承載攜帶標(biāo)記的IPv4/VPN 路由,有MP-IBGP 和MP-EBGP之分。
BGP MPLS VPN中擴(kuò)展了BGP NLRI中的IPv4 地址,在其前增加了一個(gè)8字節(jié)的RD(Route Distinguisher)來標(biāo)識VPN的成員(Site)。每個(gè)VRF 配置策略規(guī)定一個(gè)VPN 可以接收來自哪些Site的路由信息,可以向外發(fā)布哪些Site 的路由信息。每個(gè)PE根據(jù)BGP擴(kuò)展發(fā)布的信息進(jìn)行路由計(jì)算,生成相關(guān)VPN的路由表。
PE-CE之間交換路由信息可以通過靜態(tài)路由、RIP、OSPF、IS-IS以及BGP等路由協(xié)議。通常采用靜態(tài)路由,可以減少CE設(shè)備管理不善等原因造成對骨干網(wǎng)BGP路由產(chǎn)生震蕩影響,保障了骨干網(wǎng)的穩(wěn)定性。
目前運(yùn)營商網(wǎng)絡(luò)規(guī)劃現(xiàn)狀決定現(xiàn)有城域網(wǎng)或廣域網(wǎng)可能自成一個(gè)自治域,這時(shí)就需要解決跨域互通問題。在三層BGP MPLS VPN中引入了自治系統(tǒng)邊界路由器(ASBR),在實(shí)現(xiàn)跨自治系統(tǒng)的VPN互通時(shí),ASBR同其它自治系統(tǒng)交換VPN 路由,F(xiàn)有的跨域解決方案有VRF-to-VRF、MP-EBGP和Multi-Hop MP-EBGP三種方式。
對于二層MPLS VPN,運(yùn)營商只負(fù)責(zé)提供給VPN用戶提供二層的連通性,不需要參與VPN用戶的路由計(jì)算。在提供全連接的二層VPN時(shí)與傳統(tǒng)的二層VPN一樣,存在N方問題,即每個(gè)VPN的CE到其它的CE都需要在CE與PE之間分配一條物理/邏輯連接,這種VPN的擴(kuò)展性存在嚴(yán)重問題。
用LDP擴(kuò)展實(shí)現(xiàn)的二層VPN,也可以承載ATM、幀中繼、以太網(wǎng)/VLAN以及PPP等二層業(yè)務(wù),但它的主要應(yīng)用是以太網(wǎng)/VLAN,實(shí)現(xiàn)上只需增加一個(gè)新的能夠標(biāo)識ATM、幀中繼、以太網(wǎng)/VLAN或PPP的FEC類型即可。相對于BGP MPLS VPN,LDP擴(kuò)展在于只能建立點(diǎn)到點(diǎn)的VPN,二層連接沒有VPN的自動發(fā)現(xiàn)機(jī)制;優(yōu)點(diǎn)是可以在城域網(wǎng)的范圍內(nèi)建立透明LAN服務(wù)(TLS),通過LDP 建立的LSP進(jìn)行MAC地址學(xué)習(xí)。
(2)GMPLS
隨著智能光網(wǎng)絡(luò)技術(shù)以及MPLS技術(shù)的發(fā)展,自然希望能將二者結(jié)合起來,使IP分組能夠通過MPLS的方式直接在光網(wǎng)絡(luò)上承載,于是出現(xiàn)了新的技術(shù)概念多協(xié)議波長交換(MPλS)。隨著對未來網(wǎng)絡(luò)發(fā)展的的研究,MPLS的外延和內(nèi)涵不斷擴(kuò)展產(chǎn)生了通用MPLS(GMPLS)技術(shù),其中也包含MPλS相關(guān)內(nèi)容。
GMPLS也是MPLS的擴(kuò)展,更準(zhǔn)確地說,是MPLS-TE的擴(kuò)展。由于GMPLS主要是擴(kuò)展了對于傳輸網(wǎng)絡(luò)的管理,而傳輸網(wǎng)絡(luò)的主要業(yè)務(wù)為點(diǎn)到點(diǎn)業(yè)務(wù),這與MPLS-TE的業(yè)務(wù)模型非常相似,因此GMPLS主要借助MPLS-TE的協(xié)議棧,將其加以擴(kuò)展而形成。
與MPLS完全相同,GMPLS網(wǎng)絡(luò)也由兩個(gè)主要元素組成:標(biāo)記交換節(jié)點(diǎn)和標(biāo)記交換路徑。但GMPLS的LSR包括所有類型的節(jié)點(diǎn),這些LSR上的接口可以細(xì)分為若干等級:分組交換能力(PSC)接口、時(shí)分復(fù)用能力(TDM)接口、波長交換能力(LSC)接口和光纖交換能力(FSC)接口。而LSP則既可以是一條傳遞IP包的虛通路,也可以是一條TDM電路,或是一條DWDM的波道,甚至是一根光纖。GMPLS分別為電路交換和光交換設(shè)計(jì)了專用的標(biāo)記格式,以滿足不同業(yè)務(wù)的需求。在非分組交換的網(wǎng)絡(luò)中,標(biāo)記僅用于控制平面而不用于用戶平面。一條TDM電路(TDM-LSP)的建立過程與一條分組交換的連接(PSC-LSP)的建立過程完全相同,源端發(fā)送標(biāo)記請求消息后,目的端返回標(biāo)記映射消息。所不同的是,標(biāo)記映射消息中所分配的標(biāo)記與時(shí)隙或光波一一對應(yīng)。
傳統(tǒng)網(wǎng)絡(luò)模型中,傳輸層、鏈路層、網(wǎng)絡(luò)層在控制層面上相互獨(dú)立,各自使用本層協(xié)議在本層內(nèi)的設(shè)備之間互通,也形成了各自的標(biāo)準(zhǔn)體系。而在GMPLS的體系結(jié)構(gòu)中,沒有語言的差異,只有分工的不同,GMPLS成了各層設(shè)備的共同語言。
四、MPLS的標(biāo)準(zhǔn)化進(jìn)展
MPLS技術(shù)的標(biāo)準(zhǔn)化工作仍在進(jìn)行之中,主要的組織有IETF、ITU和MPLS Forum。最有影響力的當(dāng)數(shù)IETF的MPLS工作組,它獨(dú)立于各個(gè)設(shè)備實(shí)現(xiàn)廠家,現(xiàn)有的MPLS相關(guān)協(xié)議基本上來自于這個(gè)工作組,以及該組織后來派生出流量工程工作組和MPLS VPN工作組,該工作組前后公布了超過300個(gè)RFC和相關(guān)草案。
IETF MPLS工作組確定了MPLS的工作機(jī)制(底層轉(zhuǎn)發(fā)、支持多種網(wǎng)絡(luò)層協(xié)議),解決多種交換式路由技術(shù)的兼容性問題,提供彈性、擴(kuò)展性好的交換式路由技術(shù),同時(shí)加強(qiáng)了MPLS應(yīng)用技術(shù)的研究(提供增值服務(wù)、與光纖傳輸網(wǎng)的融合、流量工程等)。其中比較重要的幾個(gè)標(biāo)準(zhǔn)有RFC3031(MPLS體系結(jié)構(gòu))、RFC3032(MPLS標(biāo)記棧編碼)、RFC3036(LDP規(guī)范)以及RFC3037(LDP可行性)。
ITU-T將工作重點(diǎn)由ATM MPLS轉(zhuǎn)移到IP MPLS的標(biāo)準(zhǔn)化;MPLS Forum則將工作重點(diǎn)在放在流量工程、服務(wù)類型、服務(wù)質(zhì)量以及VPN方面。
由于MPLS標(biāo)準(zhǔn)制定尚未完成,MPLS設(shè)備的研發(fā)、試驗(yàn)當(dāng)然也存在許多分歧。以MPLS流量工程采用什么標(biāo)簽分發(fā)協(xié)議為例,目前以Nortel為代表的廠商主張使用CR-LDP協(xié)議作為MPLS流量工程的信令協(xié)議,而以Cisco為代表的廠商則主張使用RSVP-TE流量工程擴(kuò)展。雖然ITU-T等標(biāo)準(zhǔn)化組織推薦使用LDP/CR-LDP協(xié)議作為公網(wǎng)傳輸?shù)臉?biāo)準(zhǔn)信令,但二者都有很強(qiáng)的企業(yè)支持,最終將只能由市場決定勝負(fù)。
為推動我國IP多媒體數(shù)據(jù)通信網(wǎng)絡(luò)標(biāo)準(zhǔn)化的發(fā)展,1999年由國內(nèi)電信研究機(jī)構(gòu)聯(lián)合諸多通信企業(yè)成立了中國IP和多媒體標(biāo)準(zhǔn)研究組。研究組成立后,便將MPLS系列標(biāo)準(zhǔn)作為該研究組的一項(xiàng)重要標(biāo)準(zhǔn)進(jìn)行研究和制訂。截至目前,已經(jīng)制訂并發(fā)行《MPLS總體技術(shù)要求》,《MPLS測試規(guī)范》也已經(jīng)完成征求意見稿,有望在2002年10月研究組會議中對該規(guī)范征求意見稿進(jìn)行審查。
《MPLS總體技術(shù)要求》適用于MPLS邊緣節(jié)點(diǎn)設(shè)備、MPLS域內(nèi)節(jié)點(diǎn)設(shè)備以及MPLS與特定鏈路層技術(shù)相結(jié)合的設(shè)備。該標(biāo)準(zhǔn)規(guī)定了MPLS的基本技術(shù)、控制協(xié)議以及MPLS在網(wǎng)絡(luò)層和鏈路層的功能、性能參數(shù)、標(biāo)記封裝與分發(fā)以及流量工程等各方面的要求。尤其需要指出的是在總體技術(shù)要求中,根據(jù)我國電信網(wǎng)建設(shè)的實(shí)際情況,選擇了LDP/CR-LDP作為MPLS設(shè)備必須支持的信令協(xié)議。RSVP-TE協(xié)議只作為可選,在附錄中進(jìn)行了描述。
《MPLS測試規(guī)范》的制定將為我國多協(xié)議標(biāo)記交換設(shè)備的研制、生產(chǎn)、檢驗(yàn)和工程應(yīng)用提供統(tǒng)一的依據(jù),也為進(jìn)口該類品提供統(tǒng)一的檢驗(yàn)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)主要規(guī)定了MPLS設(shè)備的標(biāo)記交換功能測試、標(biāo)記分發(fā)協(xié)議一致性測試、MPLS設(shè)備性能測試以及MPLS CoS功能性能測試等內(nèi)容。
由于MPLS VPN、GMPLS、MPLS TE等技術(shù)受到業(yè)界的廣泛關(guān)注,在研究組內(nèi)也加強(qiáng)了對這些熱點(diǎn)問題的跟蹤研究,MPLS相關(guān)標(biāo)準(zhǔn)也在緊張制訂中。技術(shù)以及MPLS技術(shù)的發(fā)展,自然希望能將二者結(jié)合起來,使IP分組能夠通過MPLS的方式直接在光網(wǎng)絡(luò)上承載,于是出現(xiàn)了新的技術(shù)概念多協(xié)議波長交換(MPλS)。隨著對未來網(wǎng)絡(luò)發(fā)展的的研究,MPLS的外延和內(nèi)涵不斷擴(kuò)展產(chǎn)生了通用MPLS(GMPLS)技術(shù),其中也包含MPλS相關(guān)內(nèi)容。