1 引言
網(wǎng)絡在今天已取得了驚人的發(fā)展。在過去的二十多年中,傳統(tǒng)的以IP包轉(zhuǎn)發(fā)為基礎(chǔ)的機制以其良好的統(tǒng)一性、兼容性已確立了無可撼動的地位。IP融合了各種不同的物理網(wǎng)絡,并以盡力傳送,服務不分等級的轉(zhuǎn)發(fā),保證了網(wǎng)絡資源的充分利用。在帶寬資源緊張,主要以數(shù)據(jù)傳輸為中心的時代,這無疑是成功的。
然而,在二十多年后的今天,無論是網(wǎng)絡的基礎(chǔ)下部結(jié)構(gòu)通信,還是上部推動力消費需求,都已發(fā)生了很大的變化。從通信技術(shù)的發(fā)展看,目前的主干網(wǎng)絡達到了每秒幾十個吉比特的速度,帶寬瓶頸已得到了很大的緩解,已有能力提供更好的服務;從客戶角度看,用戶對網(wǎng)絡的需求已不僅僅限于數(shù)據(jù),而是進一步上升為語音、視頻等的傳送。用戶對傳送的可靠性、時延、時延變化等傳輸質(zhì)量有了更明確的要求;從網(wǎng)絡服務商的角度看,提供高層次的服務,推出新的業(yè)務(如VPN等)以開發(fā)高層次用戶的消費,也是開發(fā)新的利潤點的來源。所有這些因素,都說明傳統(tǒng)的IP網(wǎng)絡已不太適應時代的要求,都推動了下一代網(wǎng)絡的發(fā)展。作為下一代網(wǎng)絡,對以下技術(shù)的支持是必不可少的[1]:
(1)服務水平(QoS)保證如,語音需要低的延遲和小的時延變化,視頻需要很高的帶寬等。
(2)流量工程(Traffic Engineering)能力 :從網(wǎng)絡管理者的角度看,他總是要使網(wǎng)絡資源盡可能地被利用。因而,如何使網(wǎng)絡流量均衡地在網(wǎng)絡中分布,而不是總是沿著傳統(tǒng)的OSPF最短路徑(容易造成網(wǎng)絡部分擁塞,部分卻利用不足),是下一代網(wǎng)絡必須要解決的問題之一。
(3)對虛擬私有網(wǎng)(VPN)的支持 :VPN是正在興起的應用。VPN允許客戶通過公共網(wǎng)絡,組成一個私有局域網(wǎng),而不受地域的限制。服務提供商們保證這個私有網(wǎng)內(nèi)傳送的質(zhì)量及傳送的安全保密。
支持以上3種技術(shù)要求一個網(wǎng)絡是基于限制 (constrainbased)的,并且支持確定路由(explicit route)。基于限制的特征使網(wǎng)絡能夠為一個連接保留帶寬等資源,從而保證傳輸質(zhì)量。支持確定路由意味著網(wǎng)絡具有按照預先確定的路徑建立真正的傳輸路徑的能力。這保證了網(wǎng)絡具有流量工程的能力。
2 MPLS介紹
MPLS(Multiprotocol Label Switching)是20世紀90年代末出現(xiàn)的網(wǎng)絡技術(shù)。名稱中的多協(xié)議是指該協(xié)議支持多種協(xié)議的傳送,標記交換是指該系統(tǒng)的轉(zhuǎn)發(fā)依賴于標記。標記是一個長32b,其位置和值依賴于具體的物理網(wǎng)絡的不同而不同的值,目前,對標記的位置和值有3種不同的規(guī)定:
(1)在ATM網(wǎng)絡中,標記的值是ATM的VCI/VPI,其位置位于IP包的第二層地址。
(2)在幀中繼中,值是DLCI,位置位于IP包的第二層地址。
(3)在最普通的情形中,標記的值未作規(guī)定,其位置位于IP包的第三層地址與第二層地址之間。如圖1所示。
與傳統(tǒng)的網(wǎng)絡相似,MPLS系統(tǒng)也包含以下4個部分:
(1)一個信息交換機制用來提供網(wǎng)絡資源信息。傳統(tǒng)IP網(wǎng)絡利用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)絡地址。然后根據(jù)路由表找到對應的下一驛站網(wǎng)絡地址,然后據(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ā)過程中所需的復雜的信息(QoS,路由等)映射到一個簡單的可自由分配的標記中,即:(Layer2ID;Layer3ID;QoS)Lable
MPLS利用該標記的簡單性,實現(xiàn)轉(zhuǎn)發(fā)的快捷性;利用標記對QoS的映射,實現(xiàn)QoS能力;利用標記對第三層地址的映射,使標記能象IP地址那樣,具有兼容各種不同物理網(wǎng)的能力。此外,標記本身也可直接包含網(wǎng)絡的第二層地址,如ATM VCP/VPI(這種情況下標記的轉(zhuǎn)發(fā)速度可達到第二層的轉(zhuǎn)發(fā)速度);標記也可直接具有物理意義等?傊瑯擞浲ㄟ^映射實現(xiàn)了簡單性與復雜性的結(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ā)過程中所需要做的重復的工作,轉(zhuǎn)移到了路徑的建立過程中。 這樣做,對于需要一次傳輸大量數(shù)據(jù)的轉(zhuǎn)發(fā)而言,是可以大大地提高效率的。但對于那些一次只需傳輸很少數(shù)據(jù)的傳輸而言,則是得不償失的。這種工作的轉(zhuǎn)移其實也是造成MPLS可擴展性問題的根本原因。
3.3局部路徑
對一個普通的IP包而言,在一個自治系統(tǒng)內(nèi),每個路由器都必須能識別他的目的地地址,否則就無法轉(zhuǎn)發(fā)。而由于目的地地址可能是全局中的任何網(wǎng)絡,因而每個路由器必須建立和維護一個龐大的目的地路由表(其表項數(shù)為整個自治系統(tǒng)內(nèi)的網(wǎng)絡數(shù),其實自治系統(tǒng)的機制也是為了解決路由表過大的問題)。除了維護代價之外,路由表太大造成的問題是:為了找出一個IP包的下一轉(zhuǎn)發(fā)站,必須進行的平均匹配操作次數(shù)也隨著增大。這樣就加大了路由器的負擔,也造成了更長的轉(zhuǎn)發(fā)延時。
然而對MPLS的標記轉(zhuǎn)發(fā)而言,標記卻是局部的。MPLS的路徑其實是由一連串的局部標記組成的。每一個標記只負責局部的路徑轉(zhuǎn)發(fā)工作。這樣,就造成了一種可能:許多總體不同,但局部相同的路徑在局部可以合并,即:在局部他們擁有相同的標記。例如,假設圖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)絡中,標記值常用來表示這個連接的波長、頻率等。關(guān)于MPLS在光網(wǎng)絡中的應用,請參見文獻[3]。
3.5與傳統(tǒng)IP網(wǎng)絡的關(guān)系
值得注意的是,MPLS并沒有取代IP協(xié)議。相反,MPLS還依賴于IP協(xié)議在MPLS路徑建立之前的信令過程必須運行于IP協(xié)議之上。MPLS也與目前的IP網(wǎng)絡相容,即2個協(xié)議可以互不干擾地在一起工作。此外,在某些場合,僅需改變軟件就可以使目前的路由器變成MPLS標記交換路由器(LSR),這無疑可以大大地節(jié)省投資。
4 結(jié)語
MPLS在傳統(tǒng)的IP網(wǎng)絡基礎(chǔ)上,不但提高了包轉(zhuǎn)發(fā)速度,而且還使傳統(tǒng)的IP網(wǎng)絡具有了QoS和流量工程的能力。MPLS能夠滿足現(xiàn)代網(wǎng)絡的要求。目前,影響MPLS進入大規(guī)模應用的主要問題是擴展性問題。
MPLS主要是通過將第2層、第3層IP地址及QoS等信息映射成一個簡單的標記來實現(xiàn)上述功能的。標記的局部性使得路徑在局部合并成為可能,這樣大大地減少了轉(zhuǎn)發(fā)狀態(tài)表的規(guī)模。MPLS與傳統(tǒng)的IP網(wǎng)絡的兼容性為其進入實際部署提供了可靠的保障。