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