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