摘要:多協(xié)議標記交換MPLS通過在傳統(tǒng)的IP包里加入標記,使原來依賴于IP頭標分析的路由轉(zhuǎn)發(fā)轉(zhuǎn)變?yōu)橐蕾囉跇擞浀霓D(zhuǎn)發(fā),這不僅可以大大地提高IP包的轉(zhuǎn)發(fā)速度,更可使傳統(tǒng)IP網(wǎng)絡(luò)具有QoS能力。本文深入分析了標記轉(zhuǎn)發(fā)的思想,并指出了MPLS實現(xiàn)其優(yōu)點所用的機制與原理。
關(guān)鍵詞:標記;服務(wù)質(zhì)量;信令;MPLS
Abstract:By inserting labels into IP packet, multiprotocol label switching (MPLS) changes conventional routing forwarding mechanism that depends on IP head analysis into mechanism that depends on labels This can not only significantly improve the forwarding speed but also characterize the IP network as QoS capabilityThis article deeply analyses the idea of label forwardingand points out the principles are used.
Keywords:label;QoS;signaling;MPLS
1引言
網(wǎng)絡(luò)在今天已取得了驚人的發(fā)展。在過去的二十多年中,傳統(tǒng)的以IP包轉(zhuǎn)發(fā)為基礎(chǔ)的機制以其良好的統(tǒng)一性、兼容性已確立了無可撼動的地位。IP融合了各種不同的物理網(wǎng)絡(luò),并以盡力傳送,服務(wù)不分等級的轉(zhuǎn)發(fā),保證了網(wǎng)絡(luò)資源的充分利用。在帶寬資源緊張,主要以數(shù)據(jù)傳輸為中心的時代,這無疑是成功的。
然而,在二十多年后的今天,無論是網(wǎng)絡(luò)的基礎(chǔ)下部結(jié)構(gòu)通信,還是上部推動力消費需求,都已發(fā)生了很大的變化。從通信技術(shù)的發(fā)展看,目前的主干網(wǎng)絡(luò)達到了每秒幾十個吉比特的速度,帶寬瓶頸已得到了很大的緩解,已有能力提供更好的服務(wù);從客戶角度看,用戶對網(wǎng)絡(luò)的需求已不僅僅限于數(shù)據(jù),而是進一步上升為語音、視頻等的傳送。用戶對傳送的可靠性、時延、時延變化等傳輸質(zhì)量有了更明確的要求;從網(wǎng)絡(luò)服務(wù)商的角度看,提供高層次的服務(wù),推出新的業(yè)務(wù)(如VPN等)以開發(fā)高層次用戶的消費,也是開發(fā)新的利潤點的來源。所有這些因素,都說明傳統(tǒng)的IP網(wǎng)絡(luò)已不太適應(yīng)時代的要求,都推動了下一代網(wǎng)絡(luò)的發(fā)展。作為下一代網(wǎng)絡(luò),對以下技術(shù)的支持是必不可少的[1]:
(1)服務(wù)水平(QoS)保證如,語音需要低的延遲和小的時延變化,視頻需要很高的帶寬等。
(2)流量工程(Traffic Engineering)能力 :從網(wǎng)絡(luò)管理者的角度看,他總是要使網(wǎng)絡(luò)資源盡可能地被利用。因而,如何使網(wǎng)絡(luò)流量均衡地在網(wǎng)絡(luò)中分布,而不是總是沿著傳統(tǒng)的OSPF最短路徑(容易造成網(wǎng)絡(luò)部分擁塞,部分卻利用不足),是下一代網(wǎng)絡(luò)必須要解決的問題之一。
(3)對虛擬私有網(wǎng)(VPN)的支持 :VPN是正在興起的應(yīng)用。VPN允許客戶通過公共網(wǎng)絡(luò),組成一個私有局域網(wǎng),而不受地域的限制。服務(wù)提供商們保證這個私有網(wǎng)內(nèi)傳送的質(zhì)量及傳送的安全保密。
支持以上3種技術(shù)要求一個網(wǎng)絡(luò)是基于限制 (constrainbased)的,并且支持確定路由(explicit route)。基于限制的特征使網(wǎng)絡(luò)能夠為一個連接保留帶寬等資源,從而保證傳輸質(zhì)量。支持確定路由意味著網(wǎng)絡(luò)具有按照預(yù)先確定的路徑建立真正的傳輸路徑的能力。這保證了網(wǎng)絡(luò)具有流量工程的能力。
2 MPLS介紹
MPLS(Multiprotocol Label Switching)是20世紀90年代末出現(xiàn)的網(wǎng)絡(luò)技術(shù)。名稱中的多協(xié)議是指該協(xié)議支持多種協(xié)議的傳送,標記交換是指該系統(tǒng)的轉(zhuǎn)發(fā)依賴于標記。標記是一個長32b,其位置和值依賴于具體的物理網(wǎng)絡(luò)的不同而不同的值,目前,對標記的位置和值有3種不同的規(guī)定:
(1)在ATM網(wǎng)絡(luò)中,標記的值是ATM的VCI/VPI,其位置位于IP包的第二層地址。
(2)在幀中繼中,值是DLCI,位置位于IP包的第二層地址。
(3)在最普通的情形中,標記的值未作規(guī)定,其位置位于IP包的第三層地址與第二層地址之間。
與傳統(tǒng)的網(wǎng)絡(luò)相似,MPLS系統(tǒng)也包含以下4個部分:
(1)一個信息交換機制用來提供網(wǎng)絡(luò)資源信息。傳統(tǒng)IP網(wǎng)絡(luò)利用IGP協(xié)議,讓每個路由器廣播自己的連接信息,來達到互相之間拓樸信息交換的目的。MPLS擴展了IGP協(xié)議,讓其還攜帶諸如最大連接帶寬、最大可保留帶寬、目前帶寬保留率等信息。
(2)一個路徑選擇過程利用上述信息挑選一個滿足用戶數(shù)據(jù)流需求,同時符合流量工程需求的路徑。這個過程能用一個基于限制的路由計算算法實現(xiàn)。
(3)一個信令過程用來建立路徑和保留該路徑的資源。
(4)一個包轉(zhuǎn)發(fā)機制用來轉(zhuǎn)發(fā)數(shù)據(jù)包。
上述4個過程中,第1個過程實現(xiàn)較簡單。第2個過程與流量工程算法有關(guān),依賴于不同的評價指標及算法。第3,第4過程是MPLS轉(zhuǎn)發(fā)機制的主要實現(xiàn)部分。目前,用來做MPLS信令協(xié)議的主要有2個,即:資源保留協(xié)議流量工程(RSVPTE)[1],基于限制的標記分配協(xié)議(CRLDP)。兩種協(xié)議的實現(xiàn)過程大體相同,細節(jié)上則有很多區(qū)別[2],這里不贅述。
3標記的思想
3.1映射
傳統(tǒng)的IP轉(zhuǎn)發(fā)機制需要對IP頭標進行分析,以確定目的地的網(wǎng)絡(luò)地址。然后根據(jù)路由表找到對應(yīng)的下一驛站網(wǎng)絡(luò)地址,然后據(jù)此轉(zhuǎn)發(fā)。標記轉(zhuǎn)發(fā)只需根據(jù)轉(zhuǎn)發(fā)狀態(tài)表就可以找到去往下一站的端口,無需分析。標記轉(zhuǎn)發(fā)相比傳統(tǒng)的IP轉(zhuǎn)發(fā)要簡單,然而卻可實現(xiàn)更多的功能如QoS,流量工程等,這是什么原因呢?總結(jié)前面的介紹可看出,標記轉(zhuǎn)發(fā)的思想其實是將包轉(zhuǎn)發(fā)過程中所需的復(fù)雜的信息(QoS,路由等)映射到一個簡單的可自由分配的標記中,即:(Layer2ID;Layer3ID;QoS)Lable
MPLS利用該標記的簡單性,實現(xiàn)轉(zhuǎn)發(fā)的快捷性;利用標記對QoS的映射,實現(xiàn)QoS能力;利用標記對第三層地址的映射,使標記能象IP地址那樣,具有兼容各種不同物理網(wǎng)的能力。此外,標記本身也可直接包含網(wǎng)絡(luò)的第二層地址,如ATM VCP/VPI(這種情況下標記的轉(zhuǎn)發(fā)速度可達到第二層的轉(zhuǎn)發(fā)速度);標記也可直接具有物理意義等。總之,標記通過映射實現(xiàn)了簡單性與復(fù)雜性的結(jié)合。
3.2工作的轉(zhuǎn)移
與基于路由表的傳統(tǒng)IP轉(zhuǎn)發(fā)機制相比,用標記轉(zhuǎn)發(fā)僅需分析IP頭標一次,因而包轉(zhuǎn)發(fā)速度可得到提高。然而與傳統(tǒng)的IP機制比,建立和維護路徑的開支卻大了許多。可以這樣認為:MPLS其實是把一部分正常轉(zhuǎn)發(fā)過程中所需要做的重復(fù)的工作,轉(zhuǎn)移到了路徑的建立過程中。 這樣做,對于需要一次傳輸大量數(shù)據(jù)的轉(zhuǎn)發(fā)而言,是可以大大地提高效率的。但對于那些一次只需傳輸很少數(shù)據(jù)的傳輸而言,則是得不償失的。這種工作的轉(zhuǎn)移其實也是造成MPLS可擴展性問題的根本原因。
3.3局部路徑
對一個普通的IP包而言,在一個自治系統(tǒng)內(nèi),每個路由器都必須能識別他的目的地地址,否則就無法轉(zhuǎn)發(fā)。而由于目的地地址可能是全局中的任何網(wǎng)絡(luò),因而每個路由器必須建立和維護一個龐大的目的地路由表(其表項數(shù)為整個自治系統(tǒng)內(nèi)的網(wǎng)絡(luò)數(shù),其實自治系統(tǒng)的機制也是為了解決路由表過大的問題)。除了維護代價之外,路由表太大造成的問題是:為了找出一個IP包的下一轉(zhuǎn)發(fā)站,必須進行的平均匹配操作次數(shù)也隨著增大。這樣就加大了路由器的負擔(dān),也造成了更長的轉(zhuǎn)發(fā)延時。
然而對MPLS的標記轉(zhuǎn)發(fā)而言,標記卻是局部的。MPLS的路徑其實是由一連串的局部標記組成的。每一個標記只負責(zé)局部的路徑轉(zhuǎn)發(fā)工作。這樣,就造成了一種可能:許多總體不同,但局部相同的路徑在局部可以合并,即:在局部他們擁有相同的標記。例如,假設(shè)圖2存在著兩條路徑分別為:D-E-B-C-D和F-E-B-C-A,則在LSR B上,這兩條路徑的轉(zhuǎn)發(fā)狀態(tài)表可以是一致的。 局部路徑的合并能大大的減小轉(zhuǎn)發(fā)狀態(tài)表的規(guī)模,同時也能減少轉(zhuǎn)發(fā)時的匹配操作次數(shù)。
3.4標記值
仔細考慮標記的意義發(fā)現(xiàn),標記值其實是用來表示2個路由器之間約定的連接及其連接特性的。如圖3所示,標記值50存在于上游路由器的出端口,下游路由器的入端口中。這樣,標記值50表示的是這2個路由器之間的一個連接。
理論上,表示這個連接的可以是任何數(shù)只要不與其他連接混淆。然而實際上,標記值可被進一步用來表示這個連接的物理屬性。例如,在光纖網(wǎng)絡(luò)中,標記值常用來表示這個連接的波長、頻率等。關(guān)于MPLS在光網(wǎng)絡(luò)中的應(yīng)用,請參見文獻[3]。
3.5與傳統(tǒng)IP網(wǎng)絡(luò)的關(guān)系
值得注意的是,MPLS并沒有取代IP協(xié)議。相反,MPLS還依賴于IP協(xié)議在MPLS路徑建立之前的信令過程必須運行于IP協(xié)議之上。MPLS也與目前的IP網(wǎng)絡(luò)相容,即2個協(xié)議可以互不干擾地在一起工作。此外,在某些場合,僅需改變軟件就可以使目前的路由器變成MPLS標記交換路由器(LSR),這無疑可以大大地節(jié)省投資。
4結(jié)語
MPLS在傳統(tǒng)的IP網(wǎng)絡(luò)基礎(chǔ)上,不但提高了包轉(zhuǎn)發(fā)速度,而且還使傳統(tǒng)的IP網(wǎng)絡(luò)具有了QoS和流量工程的能力。MPLS能夠滿足現(xiàn)代網(wǎng)絡(luò)的要求。目前,影響MPLS進入大規(guī)模應(yīng)用的主要問題是擴展性問題。