本文對MPLS技術進行了全面介紹,指出MPLS技術將發(fā)展成為運營商全國骨干網(wǎng)及各城域網(wǎng)的核心技術,同時簡要介紹了MPLS技術在中國鐵通IP骨干網(wǎng)絡中的應用。
MPLS VPN TE
MPLS(多協(xié)議標簽交換)是一種可提供高性價比和多業(yè)務能力的交換技術, 它解決了傳統(tǒng)IP分組交換的局限性,在業(yè)界受到了廣泛的重視,并在中國網(wǎng)通、中國鐵通全國骨干網(wǎng)等網(wǎng)絡建設中得到了實踐部署。采用MPLS技術可以提供靈活的流量工程、虛擬專網(wǎng)等業(yè)務,同時,MPLS也是能夠完成涉及多層網(wǎng)絡集成控制與管理的技術。
1.MPLS概述
1.1、MPLS的基本原理
MPLS是一種第三層路由結合第二層屬性的交換技術,引入了基于標簽的機制,它把路由選擇和數(shù)據(jù)轉發(fā)分開,由標簽來規(guī)定一個分組通過網(wǎng)絡的路徑。MPLS網(wǎng)絡由核心部分的標簽交換路由器(LSR)、邊緣部分的標簽邊緣路由器(LER)組成。LSR的作用可以看作是ATM交換機與傳統(tǒng)路由器的結合,由控制單元和交換單元組成;LER的作用是分析IP包頭,用于決定相應的傳送級別和標簽交換路徑(LSP)。標簽交換的工作過程可概括為以下3個步驟:
(1)由LDP(標簽分布協(xié)議)和傳統(tǒng)路由協(xié)議(OSPF、IS-IS等)一起,在LSR中建立路由表和標簽映射表;
(2)LER接收IP包,完成第三層功能,并給IP包加上標簽;在MPLS出口的LER上,將分組中的標簽去掉后繼續(xù)進行轉發(fā);
(3)LSR對分組不再進行任何第三層處理,只是依據(jù)分組上的標簽通過交換單元對其進行轉發(fā)。
整個操作過程如圖1:
#FormatImgID_0# |
圖1
IETF標準文檔中定義的MPLS包頭是插入在傳統(tǒng)的第二層數(shù)據(jù)鏈路層包頭和第三層IP包頭之間的一個32位的字段,如圖2所示:
#FormatImgID_1# |
圖2
Label字段:20位,標簽字段。
EXP:3位,實驗字段。
S字段:1位,堆棧(Stack)字段。
TTL字段:8位,生存時間字段。
1.2、MPLS信令方式
目前MPLS實現(xiàn)信令的方式可分為兩類,一類是LDP/CR-LDP(Label Dispatch Protocol, Constrain based Routing Label Dispatch Protocol),源于ATM網(wǎng)絡的思想。CR-LDP和LDP是同一個協(xié)議,CR-LDP是LDP的擴展,它使用與LDP相同的消息和機制,如對等發(fā)現(xiàn)、會話建立和保持、標簽發(fā)布和錯誤處理。另外一類是RSVP,它基于傳統(tǒng)的IP路由協(xié)議。RSVP和LDP/CR-LDP是兩種不同的協(xié)議,它們在協(xié)議特性上存在不同,有不同的消息集和信令處理規(guī)程。從協(xié)議可靠性上來看,LDP/CR-LDP是基于TCP的,當發(fā)生傳輸丟包時,利用TCP協(xié)議提供簡單的錯誤指示,實現(xiàn)快速響應和恢復。而RSVP只是傳送IP包。由于缺乏可靠的傳輸機制,RSVP無法保證快速的失敗通知。從網(wǎng)絡可擴展性上看,LDP較RSVP更有優(yōu)勢,一般電信級網(wǎng)絡中尤其是ATM網(wǎng)絡中,應采用MPLS/LDP。ITU-T傾向于在骨干網(wǎng)中采用CR-LDP。 目前所有支持MPLS功能的路由設置都同時支持CR-LDP和RSVP兩種MPLS的信令協(xié)議。
1.3、MPLS的網(wǎng)絡構成
MPLS網(wǎng)絡由標簽邊緣路由器(LER)和標簽交換路由器(LSR)組成。在LSR內,MPLS控制模塊以IP功能為中心,轉發(fā)模塊基于標簽交換算法,并通過標簽分配協(xié)議(LDP)在節(jié)點間完成標簽信息以及相關信令的發(fā)送。值得注意的是,LDP信令以及標簽綁定信息只在MPLS相鄰節(jié)點間傳遞。LSR之間或ISR與LER之間依然需要運行標準的路由協(xié)議,并由此獲得拓撲信息。通過這些信息LSR可以明確選取報文的下一跳并可最終建立特定的標簽交換路徑(LSP)。MPLS使用控制驅動模型,即基于拓撲驅動方式對用于建立LSP的標簽綁定信息的分配及轉發(fā)進行初始化。LSP屬于單向傳輸路徑,因而全雙工業(yè)務需要兩條LSP,每條LSP負責一個方向上的業(yè)務。
1.4、MPLS的核心技術LDP
MPLS通過簡單的核心機制來提供豐富的標簽分配及相關處理功能。構成MPLS協(xié)議框架的主要元素有標簽分配協(xié)議(LDP),標簽映射表(LIB)和轉發(fā)信息庫(FIB),其中LIB和FIB分別為存儲標簽綁定信息和相應的標簽轉發(fā)信息的數(shù)據(jù)庫。為了能夠在MPLS域內明確定義、分配標簽,同時使用網(wǎng)絡內各元素充分理解其標簽含義,LDP提供一套標準的信令機制用于有效地實現(xiàn)標簽的分配與轉發(fā)功能。LDP基于原有的網(wǎng)絡層路由協(xié)議構建標簽信息庫,并根據(jù)網(wǎng)絡拓撲結構,在MPLS域邊緣節(jié)點(即入節(jié)點與出節(jié)點)之間建立LSP。LDP信令位于TCP/UDP之上,它通過TCP層保證信令消息可靠傳輸,同時基于UDP傳送發(fā)現(xiàn)消息。LDP信令傳輸使用的TCP和UDP知名端口號均為646。相鄰的LSR之間必須建立一條非MPLS連接鏈路作為信令通道,用于傳送LDP信令報文。
1.5、MPLS的主要技術特點
(1)流量工程
傳統(tǒng)IP網(wǎng)絡一旦為一個IP包選擇了一條路徑,則不管這條鏈路是否擁塞,IP包都會沿著這條路徑傳送,這樣就會造成整個網(wǎng)絡在某處資源過度利用,而另外一些地方網(wǎng)絡資源閑置不用,MPLS可以控制IP包在網(wǎng)絡中所走過的路徑,這樣可以避免IP包在網(wǎng)絡中的盲目行為,避免業(yè)務流向已經(jīng)擁塞的節(jié)點,實現(xiàn)網(wǎng)絡資源的合理利用。
(2)負載均衡
MPLS可以使用兩條和多條LSP來承載同一個用戶的IP業(yè)務流,合理地將用戶業(yè)務流分攤在這些LSP之間。
(3)路徑備份
可以配置兩條LSP,一條處于激活狀態(tài),另外一條處于備份狀態(tài),一旦主LSP出現(xiàn)故障,業(yè)務立刻導向備份的LSP,直到主LSP從故障中恢復,業(yè)務再從備份的LSP切回到主LSP。
(4)故障恢復
當一條已經(jīng)建立的LSP在某一點出現(xiàn)故障時,故障點的MPLS會向上游發(fā)送Notification消息,通知上游LER重新建立一條LSP來替代這條出現(xiàn)故障的LSP。上游LER就會重新發(fā)出Request消息建立另外一條LSP來保證用戶業(yè)務的連續(xù)性。
(5)路徑優(yōu)先級及碰撞
在網(wǎng)絡資源匱乏的時候,應保證優(yōu)先級高的業(yè)務優(yōu)先使用網(wǎng)絡資源。MPLS通過設置LSP的建立優(yōu)先級和保持優(yōu)先級來實現(xiàn)的。每條LSP有n個建立優(yōu)先級和m個保持優(yōu)先級。優(yōu)先級高的LSP先建立,并且如果某條LSP建立時,網(wǎng)絡資源匱乏,而它的建立優(yōu)先級又高于另外一條已經(jīng)建立的LSP的保持優(yōu)先級,那么它可以將已經(jīng)建立的那條LSP斷開,讓出網(wǎng)絡資源供它使用。
1.6、MPLS QoS
有兩種方法用以MPLS流中指示服務類別。一種是IP Precedence,可以指出8種服務類別。它被拷貝到MPLS頭中的CoS字段,典型應用是在核心路由器。在另一種方式中,MPLS可用不同組的標簽指定服務類別,交換機可自動獲知流量需要按優(yōu)先級排隊。目前,MPLS支持最多8種服務類別,編碼與IP Precedence相同。這一數(shù)量不久將增加,原因是標簽的數(shù)量多于IP前導的服務類別。采用標簽分類后實際的服務類別數(shù)量是無限的。
2、基于MPLS的VPN技術
VPN被一致認可為網(wǎng)絡運營商的核心應用。網(wǎng)絡運營商經(jīng)常面臨的挑戰(zhàn)是商業(yè)用戶需要將他們建立的網(wǎng)絡通過VPN擴展到分支機構或外部用戶網(wǎng)。這些基于IP的主流應用要求網(wǎng)絡的特殊處理,包括私密性,服務質量以及any-to-any的連通性。網(wǎng)絡運營商的VPN業(yè)務必須具備高度的可擴展性,高性價比并可適應廣泛的用戶需求。
2.1 基本原理
目前基于MPLS的VPN方案中,以RFC 2547中規(guī)定的BGP/MPLS VPN得到了大多數(shù)廠家的支持,如Cisco,Juniper等。BGP/MPLS VPN概念中,把整個網(wǎng)絡中的路由器分為三類:用戶邊緣路由器(CE)、運營商邊緣路由器(PE)和運營商骨干路由器(P);其中,PE充當IP VPN接入路由器。由于BGP/MPLS VPN采用PE之間通過擴展后的BGP協(xié)議(MP-BGP)來承載VPN成員關系和VPN網(wǎng)絡可達性,所以使MPLS VPN網(wǎng)絡具有良好的擴展性、靈活性和可靠性。
MPLS VPN的工作過程如圖3:
#FormatImgID_2# |
圖3
(1) CE到PE間通過IGP路由或BGP將用戶網(wǎng)絡中的路由信息通知運營商路由器(PE),在PE上有對應于每個VPN的虛擬路由表(VRF),類似有一臺獨立的路由器與CE進行連接。
(2)PE之間采用MP-BGP傳送VPN內的路由信息以及相應的標簽(VPN的標簽,以下簡稱為內層標簽),而在PE與P路由器之間則采用傳統(tǒng)的IGP協(xié)議相互學習路由信息,采用LDP協(xié)議進行路由信息與標簽(用于MPLS標簽轉發(fā),以下稱為外層標簽)的綁定。到此時,CE,PE以及P路由器中基本的網(wǎng)絡拓撲以及路由信息已經(jīng)形成。PE路由器擁有了骨干網(wǎng)絡的路由信息以及每一個VPN的路由信息(VRF)。
(3)當屬于某一VPN用戶端路由器(CE)有數(shù)據(jù)進入時,在CE與PE連接的接口上可以識別出該CE屬于哪一個VPN,進而到該VPN的VRF路由表中去讀取下一跳的地址信息,同時,在前傳的數(shù)據(jù)包中打上VPN標簽(內層標簽)。下一跳地址為與該PE作Peer的PE的地址,為了到達這個目的端的PE,在起始端PE中需讀取MPLS骨干網(wǎng)絡的路由信息,從而得到下一個P路由器的地址,同時采用LDP在用戶前傳數(shù)據(jù)包中打上用于MPLS標簽交換的標簽(外層標簽)。
(4)在MPLS骨干網(wǎng)絡中,初始PE之后的P均只讀取外層標簽的信息來決定下一跳,因此骨干網(wǎng)絡中只是簡單的標簽交換。
(5)在達到目的端PE之前的最后一個P路由器時,將把外層標簽去掉,讀取內層標簽,找到VPN,并送到相關的接口上,進而將數(shù)據(jù)傳送到VPN的目的地址處
(6)P路由器是MPLS LSR。P路由器完全依據(jù)MPLS的標簽來作出轉發(fā)決定。由于P路由器完全不需要讀取原始的數(shù)據(jù)包信息來作出轉發(fā)決定,P路由器不需要擁有VPN的路由信息。