三、MPLS原理及其應用
Internet業務量的飛速增長以及寬帶技術的不斷出現,對Internet服務提供商(工SP)的網絡帶寬提出了嚴峻的挑戰。這種挑戰不僅是對高帶寬的要求,也是對目前Internet所基于的傳統路由交換模式的新的要求。要建立一種服務質量較好且具備擴展性支持的新一代路由系統,需要各單個路由器維持大容量的路由信息,并能建立一種路由信息的分層結構;在增強路由器對IP分組包轉發性能的同時,還需要增加對多目廣播的路由支持,提供分層式的路由信息結構;路由體系還必需具有靈活的適應能力以滿足將來可能出現的各種新型需求。
MPLS技術的全稱是多協議標交換技術,是在Cisco公司所提出來的TagSwitching技術基礎上發展起來的,屬于第三層交換技術。它引入了基于標簽的機制,把選路和轉發分開,由標簽來規定一個分組通過網絡的路徑,數據傳輸通過標簽交換路徑(LSP)完成。
3. 1與MPLS相關的幾個概念及定義
a)路由協議:路由協議(如RIP, OSPF)是一種機制,使網絡中的每臺設備都知道在將一個分組送向其目的地時,傳送這個分組的下一跳級(Next-Hop)是哪里。路由器使用路由協議構建路由表,當它們接收到一個分組而必須進行轉發判決時,路由器用分組中的目的IP地址作為索引(Index)查尋路由表,利用特定算法獲得下一跳機器的地址。路由表的構造和它們在轉發時的查尋基本上是兩個獨立的操作。
b)交換:交換概念通常用來描述從一個設備內的輸入端口到輸出端口的數據傳遞,這種傳送一般是基于第二層的(如ATMVP工/VCI)信息。
c)控制部件:控制部件為一個節點建造并維護一個路由轉發表(ForwardingTable)。它與其它節點的控制部件共同協作,持續并正確地交換分布路由信息,同時在本地建立轉發表。標準的路由協議(如OSPF, BGP和R工P)用于在控制部件之間交換路由信息。
d)轉發部件:轉發部件執行分組轉發功能。它使用轉發表、分組所攜帶的地址等信息及本地的一系列操作來進行轉發判決。在傳統路由器中,最長匹配算法將分組中的目的地址與轉發表中的條項進行對比,直到獲得一個最優的匹配。更為重要的是,從源到目的地的沿路節點都要重復這一操作。在一個標志交換路由器中,(最佳匹配)標志交換算法使用分組的標志和基于標志的轉發表來為分組獲取一個新的標志及輸出端口。
e)路由轉發表:路由轉發表包含若干條項,提供信息給轉發部件,執行其交換功能。轉發表必須將每個分組與一個條項(傳統條項為目的地址)關聯起來,為分組的下一步路由提供指引。
f)轉發同等類(FEC):轉發同等類(FEC)定義了這樣一組分組,從轉發的行為來看,它們都具有相同的轉發屬性。一種FEC是一組單目廣播分組,其目的地址均與一個IP地址前綴相匹配。另一種FEC是分組的源及目的地址都相同的一組分組。FEC可在不同的級別上進行定義。
g)標志(label):標志(label)相對較短,長度固定且無結構標識,可在轉發進程中使用。標志通過一種綁定操作與一個FEC關聯起來。標志正常情況下,對于一個單一數據鏈路來說僅具有本地意義,不具有全局意義。在ATM環境中相當于它們的VPI/VCI。由于ATM使用固定短區域進行交換,因此可以相信標志交換能成為一種IPoverATM應用的有效方案。在某種事件驅動下,標志與FEC進行綁定,具有一定意義,這種事件可分為以下兩種類型:一種是數據驅動綁定,即在數據流開始產生時進行綁定。標志綁定僅在需要時建立,在轉發表中只存在很少的幾個條項。標志被分配給不同的IP數據流。在一個ATM網絡環境中,它需要使用大量的虛電路資源,不易于擴展。另一種是拓撲驅動綁定,當在控制平面激活時其建立與數據流的產生無關。標志綁定可能與路由的更新或RSVP消息的接收有關。拓撲驅動綁定較數據驅動綁定更易于擴展,因此用于MPLS中。
h)標志交換轉發部件:標志與分組的綁定有若干種方式,對一些網絡可以將標志嵌入到鏈路層的頭端(ATMVCI/VPI和幀中繼的DLC工),有時也可以將它嵌入至位于數據鏈路頭端和數據鏈路協議數據單元(PDU)之間的小標志頭端(如位于第二層頭端與第三層數據負載之間),稱為“Shim"。這種標志信息能夠在鏈路層進行承載,"Shim”結構可以用于Ethernet, IEEE802.3,或點對點(PPP)鏈路上,其中一個是為單目廣播,另一個是為多目廣播(Multicast),每個標志為4字節。
3. 2 MPLS的工作流程
在MPLS骨干網絡邊緣,邊界LSR對進來的無標志分組(正常情況下)按其工P頭端進行歸類劃分(Classification)及轉發判決,這樣IP分組在邊界LSR被打上相應的標志,并被傳送至到達目的地址的下一跳。
在后續的交換過程中,由LSR所產生的固定長度的標志替代IP分組頭端,大大簡化了以后的節點處理操作,后續節點使用這個標志進行轉發判決。一般情況下,標志的值在每個LSR中交換后改變,這就是標志轉發。如果分組從MPLS的骨干網絡中出來,出口邊界LSR發現它們的轉發方向是一個無標志的接口,就簡單地移除分組中的標志。這種基于標志轉發的最重要的優勢在于對多種交換類型只需要唯一一種轉發算法,可以用硬件來實現非常高的轉發速度。
MPLS網絡由核心部分的標簽交換路由器(LSR)、邊緣部分的標簽邊緣路由器(LER)組成。LSR可以看作是ATM交換機與傳統路由器的結合,由控制單元和交換單元組成;LER的作用是分析IP包頭,決定相應的傳送級別和標簽交換路徑(LSP)。由于MPLS技術隔絕了標簽分發機制與數據流的關系,因此,它的實現不依賴于特定的數據鏈路層協議,可支持多種的物理和鏈路層技術 (工P/ATM、以太網、PPP、幀中繼、光傳輸等)。MPLS使用控制驅動模型初始化標簽捆綁的分配及分發,用于建立標簽交換路徑(LSP),通過連接幾個標簽交換點來建立一條LSP。一條LSP是單向的,全雙工業務需要兩條LSPo
標簽交換的工作流程如下:
1)由LDP(標簽分發協議)和傳統路由協議(OSPF等)在LSR中建立路由表和標簽映射表;
2)在MPLS入口處的LER接收IP包,完成第三層功能,并給IP包加上標簽;
3)在MPLS出口處的LER將分組中的標簽去掉后繼續進行轉發;
4) LSR不再對分組進行第三層處理,只是根據分組上的標簽通過交換單元進行轉發。
3. 3 MPLS技術的實現細節
標簽結構
IP設備和ATM設備廠商是在各自原來的基礎上實現MPLS技術的。對于IP設備商,它修改了原來工P包直接封裝在二層鏈路幀中的規范,在二層和三層包頭之間插了一個標簽(Label):而ATM設備制造商利用了原來ATM交換機上的VP工/VC工的概念,使用Label來代替了VPI/CVI,當然ATM交換機上還必需修改信令控制部分,引入路由協議。ATM交換使用路由協議來和其它設備交換三層的路由信息。
498)this.style.width=498;" border=1>
標簽的結構如圖
20比特的LABEL字段用來表示標簽值。由于標簽是定長的,所以對于路由器來說,可以分析定長的標簽來做數據包的轉發,這是標簽交換的最大優點。定長的標簽就意味可以用硬件來實現數據轉發,這種硬件轉發方式要比必須用軟件實現的路由最長匹配轉發方式效率要高得多!
3比特的EXP用來實現QOS。
1比特S值用來表示標簽棧是否到底了,對于VPN, TE等應用將在二層和三層頭之間插入兩個以上的標簽,形成標簽棧。
8比特TTL值用來防止數據在網上形成環路。
498)this.style.width=498;" border=1>
于是完整的帶有標簽的二層幀就成了如圖形式
498)this.style.width=498;" border=1>
在ATM信元模式下,信元的結構形式如圖
LSR設備的體系結構
通過修改,能支持標簽交換的路由器稱為LSR(Label Switch Router),而支持MPLS功能的ATM交換機一般稱為ATM-LSRo
498)this.style.width=498;" border=1>
LSR設備的體系結構如圖
LSR的體系結構分為兩塊:
a)控制平面(Control Plane)
該模塊的功能是用來和其他LSR交換三層路由信息,以此建立路由表和交換標簽對路由的綁定信息,以此建立Label Information Table(LIB)標簽信息表。同時再根據路由表和LIB生成Forwarding Information Table(FIB)表和Label Forwarding Information Table(LFIB)表。控制平面也就是我們一般所說的路由引擎模塊!
b)數據平面(Data Plane)
數據平面的功能主要是根據控制平面生成的FIB表和LFIB表轉發IP包和標簽包。
對于控制平面中所使用的路由協議,可以使用以前的任何一種,如OSPI",RIP, BGP等等,這些協議的主要功能是和其他設備交換路由信息,生成路由表,這是實現標簽交換的基礎。在控制平面中導入了一種新的協議——LDP,該協議的功能是用來針對本地路由表中的每個路由條目生成一個本地的標簽,由此生成LIB表,再把路由條目和本地標簽的綁定通告給鄰居LSR,同時把鄰居LSR告知的路由條目和標簽綁定接收下來放到LIB表里,最后在網絡路由收斂的情況下,參照路由表和LIB表的信息生成FIB表和LFIB表。具體的標簽分發模式如下敘述。
標志交換控制部件
標志由標志交換路徑(LSP)的上游LSR (Upstream LSR)節點來附加至分組中,下游LSR(Downstream LSR)收到標志分組后判決處理,這由標志交換的控制部件來完成,它使用標志轉發表中的條項內容作為引導。
標志交換控制部件除了基本的表的建立和維護外,還負責以一種連續的方式在LSR之間進行路由的分布及進行將這些信息生成為轉發表的操作。標志交換控制部件包括所有的傳統路由協議(如OSPF, BGP, PIM等等)。這些路由協議為LSR提供了FEC與下一跳地址的映射。標志交換轉發表中的條項內容最少應能提供輸出的端口信息和下一個新的標志,當然也可以包含更多的信息。例如,它可以為被交換的分組產生一種輸出隊列原則。
輸入分組必須在轉發表中有唯一的條項與之對應。每一個分配的標志必須與轉發表中的一個條項相關聯起來,這種綁定可以在本地LSR執行或在遠端LSR執行。目前MPLS版本使用下游綁定,這種情況下,本地關聯的標志用作進入分組標志,而遠端關聯標志用作輸出標志。另一種方式為上游綁定,與下游綁定相反,也是一種可行的方法。在MPLS技術中,轉發表又稱為標志轉發信息庫(LFIB) , LFIB的每一個條目中包括輸入標志、輸出標志、輸入接口和輸出端口MAC地址,由輸入標志對條項進行檢索查找。另外LFIB既可以在一個標志交換路由器上也可以存在于一個接口上。
標志交換路由器(LSR)
MPLS的設備按其在MPLS路由網絡中所處的位置可分為邊界標志交換路由器和中間標志交換路由器。邊界LSR除對分組的標志進行符加或移除外,還負責對流量進行分類,標志的分配除了基于目的地址外還有其它很多因素。邊界LSR判定流量是否為一個長持續流,采取管理政策和訪問控制,并在可能的情況下將普通業務流匯聚成較大的數據流,這些都是在IP與MPLS的邊界處所需具有的功能。因此邊界LSR的能力是整個標志交換環境能否成功的關鍵環節,對于服務提供者而言,這也是一個管理和控制點。
MPLS和ATM協議關系
MPLS為公共的轉發算法,基于標志的交換技術,在與ATM技術的結合上,MPLS使用ATM的用戶平面(user plane),以ATM的VPI/VCI作為其標志。MPLS的控制功能部件,以網絡層的動態路由協議(如:IS-IS, OSPF, BGP, PIM)及標志分配協議(LDP)來替代ATM傳統的控制平面,完成對整個MPLS網絡的控制功能。
MPLS的優勢
基于MPLS的思想框架,MPLS的優勢主要體現在以下:
將傳統的基于IP分組中頭端信息進行IP路由轉發的機制淘汰后在一種公共轉發算法(標志交換)上提供了多種路由方案(如基于目的的顯式路由等)將ATM技術與IP技術靈活地結合起來,從控制平面看具有MPLS功能的ATM交換機更像是一臺路由器。
使用MPLS使各種IP業務應用成為可能,如基于IP的VPN, IP級業務服務質量保證、骨干網絡流量控制。
MPLS技術總結
MPLS交換主要目的是為下一代的多用戶、多服務的Internet骨干網絡提供一種路由交換的技術基礎。它的主要特征為高性能,可靈活擴展,能最大可能地滿足用戶對服務質量的需求。Internet網絡的飛速發展也為MPLS的發展提供了十分顯著的推動作用。
MPLS技術也為一些目前IP網絡亟待提供的應用服務如流量控制(traffic engineering) ,虛擬專網(VPN)、服務類別質量保證(COS)等提供了一套更為合理有效的解決方案。
3. 4基于MPLS的VPN實現
MPLS/VPN體系結構
基于MPLS方式組建VPN網絡時,所需設備是路由器,可以利用網絡上己有的路由器升級,也可以新建。在全網各路由器配置MPLS,各接入點的路由器配置成MPLS VPN PE(邊界)Router,其余路由器配置成MPLS VPN P(核心)Router。全網路由器運行內部網關協議IS-IS及MPLS LDP協議。PE Router之間運行MP-BGP協議,并且建立Full-mesh的 BGP連接。各VPN用戶的路由設備CE連到網絡接入點PE Router。用戶與PE Router之間運行EBGP(或RIP2,OSPF)協議。VPN用戶的地址空間由用戶確定,可采用私有保留地址。[22}
MPLS VPN限制VPN路由信息僅在VPN內部傳播,具體過程如下:
1)在PE路由器上有兩種互相隔離的路由表。一種是包含所有P和PE路由器路由的普通路由表,一種是與它相連的VPN的路由表,即VRF。每個VPN對應一個VRF。
2) PE路由器將VPN用戶地址(多為私有地址)轉換成VPN-V4的地址,其中包含RD, S00等新增屬性,存儲在相應VRF中。
3)同一VPN兩端的PE通過RSVP-Tunnel或LDP建立LSP (Label Switch Path) ,并用MP-iBGP交換此VPN的路由。
4)當PE接到本地VPN用戶Packet的時候,此PE在相應的VRF中查找相應路由,找到下一跳,此下一跳應為將目的VPN用戶地址通過MP-iBGP廣播給它的那臺PE。
5)本地PE路由器通過先前建立的LSP將此Packet轉發到異地PE路由器。
6)異地PE路由器再在其相應的VRF中找到需要從哪個用戶端口轉發到目的地。
PE路由器的改造和VRF的導入
為了讓PE路由器能區分是哪個本地接口送來的VPN用戶路由,在PE路由器上創建了大量的虛擬路由器,每個虛擬路由器都有各自的路由表和轉發表,這些路由表和轉發表統稱為VRF(VPN Routing and Forwarding instances)。一個VRF定義了連到PE路由器上的VPN成員,VRF中包含了IP路由表,IP轉發表(也稱為CEF表),使用該CEF表的接口集和路由協議參數和路由導入導出規則等等。
在VRF中定義和VPN業務有關的兩個重要參數是RD (Route Distinguisher)和RT (Route Target) , RD和RT長度都是64比特。有了虛擬路由器就能隔離不同VPN用戶之間的路由,也能解決不同VPN之間IP地址空間重疊的問題。
MP-BGP協議對VPN用戶路由的發布
498)this.style.width=498;" border=1>
MPLS路由演示圖
正常的BGP4協議只能傳遞工Pv4的路由,由于不同VPN用戶具有地址空間重疊的問題,必須修改BGP協議。BGP最大的優點是擴展性好,可以在原來的基礎上再定義新的屬性,通過對BGP修改,把BGP4擴展成MP-BGP。在MP—— IBGP鄰居間傳遞VPN用戶路由時打上RD標記,這樣VPN用戶傳來的IPv4路由轉變為VPNv4路由,這樣保證VPN用戶的路由到了對端的PE上,能夠使對端PE區分開地址空間重疊但實際并不相同的VPN用戶路由。舉例如下:
在PE1, PE2, PE3上分別配置VRF參數,其中VPN1用戶的RD=6500:1,RT=100:1, VPN2用戶的RD=6500:2, RT=100:2。所有VRF可以同時導入和導出所定義的RT。
以PE2為例,PE2從接口SO上獲得由CE4傳來的有關10. 1. 1. 0/8的路由,PE2把該路由放置到和SO有關的VRF所管轄的IP路由表中,并且分配該路由的本地標簽,注意該標簽是本地唯一的。通過路由把VRF所管轄的IP路由表中的路由重新發布到BGP表中,此時通過參考VRF表的RD, RT參數,把正常的IPv4路由變成VPNv4路由,如10. 1. 1. 0/8變成6500:1:10. 1. 1. 0/8,同時把導出(Export) RT值和該路由的本地標簽值等等的屬性全部加到該路由條目中去。通過MP-IBGP會話,PE2把這條VPNv4路由發送到PE1處,PE1收到T兩條有關10. 1. 1. 0/8的路由,其中一條是由PE3發來的,由于RD的不同,導致該兩條路由沒有可比性。MP-BGP接受到該兩條路由后的后繼工作是:去掉VPN4路由所帶的RD值,使之恢復IPv4路由原貌,并且根據各VRF配置的允許導入(Import;的RT值,把工Pv4導入各個VRF管轄的路由表和CEF表中,也就是說帶有RT=100:1的10. 1. 1. 0/8的路由導入VRFl所管的路由表和CEF表中,帶有RT-100:2的10. 1. 1. 0/8的路由導入VRF2所管轄的路由表和CEF表中。再通過CE和PE之間的路由協議,PE把不同的VRF管轄的路由表內容通告的各自的相聯的CE中去。
目前PE和CE之間可支持的路由協議只有四種BGP, OSPF, RIP2或者靜態路由。
基于MPLS的VPN的優勢
1) MPLS VPN提供一個可快速部署實施增值IP業務的平臺,包括內部網、外部網、話音、多媒體及網絡商務:
2) MPLS VPN通過限制VPN路由信息的傳播僅在VPN成員內部,可提供與第二層VPN相同的私密性及安全性;
3) MPLS VPNs提供與用戶內部網的無縫集成;
4) MPLS VPNs擴展性好,每個服務提供商可以設定數十萬VPN,每個VPN可有數千個現場;
5) MPLS VPNs提供IP業務類別,支持VPN內部多級別業務,VPN間的優先級,靈活的服務級別選定:
MPLS VPNs提供方便的VPN成員管理及新VPN創建功能以利于業務的快速實施;
MPLS VPNs提供可伸縮的any-to-any連接以擴展內部網及外部網從而含蓋多業務。
MPLS的流量管理功能可以保證網絡資源得到合理利用,保證用戶申請的服務質量得到滿足。