多協定标簽交換
(MPLS:Multi-Protocol Label Switching)
多協定标簽交換(MPLS)是一種用于快速資料包交換和路由的體系,它為網絡資料流量提供了目标、路由、轉發和交換等能力。更特殊的是,它具有管理各種不同形式通信流的機制。MPLS 獨立于第二和第三層協定,諸如 ATM 和 IP。它提供了一種方式,将 IP 位址映射為簡單的具有固定長度的标簽,用于不同的包轉發和包交換技術。它是現有路由和交換協定的接口,如 IP、ATM、幀中繼、資源預留協定(RSVP)、開放最短路徑優先(OSPF)等等。
在 MPLS 中,資料傳輸發生在标簽交換路徑(LSP)上。LSP 是每一個沿着從源端到終端的路徑上的結點的标簽序列。現今使用着一些标簽分發協定,如标簽分發協定(LDP)、RSVP 或者建于路由協定之上的一些協定,如邊界網關協定(BGP)及 OSPF。因為固定長度标簽被插入每一個包或信元的開始處,并且可被硬體用來在兩個連結間快速交換包,是以使資料的快速交換成為可能。
MPLS 主要設計來解決網路問題,如網路速度、可擴充性、服務品質(QoS)管理以及流量工程,同時也為下一代 IP 中樞網絡解決寬帶管理及服務請求等問題。
在這部分,我們主要關注通用 MPLS 架構。有關 LDP、CR-LDP 和 RSVP-TE 的具體内容可以參考個别檔案。
協定結構
MPLS 标簽結構:
20 23 24 32 bit
Label Exp S TTL
Label ― Label 值傳送标簽實際值。當接收到一個标簽資料包時,可以查出棧頂部的标簽值,并且系統知道:A、資料包将被轉發的下一跳;B、在轉發之前标簽棧上可能執行的操作,如傳回到标簽進棧頂入口同時将一個标簽壓出棧;或傳回到标簽進棧頂入口然後将一個或多個标簽推進棧。
Exp ― 試用。預留以備試用。
S ― 棧底。标簽棧中最後進入的标簽位置,該值為0,提供所有其它标簽入棧。
TTL ― 生存期字段(Time to Live),用來對生存期值進行編碼。
MPLS 結構協定組包括:
MPLS:相關信令協定,如 OSPF、BGP、ATM PNNI等。
LDP:标簽分發協定(Label Distribution Protocol)
CR-LDP:基于路由受限标簽分發協定(Constraint-Based LDP)
RSVP-TE:基于流量工程擴充的資源預留協定(resource Reservation Protocol – Traffic Engineering)
1.1.1 MPLS基本概念
多協定标簽交換MPLS最初是為了提高轉發速度而提出的。與傳統IP路由方式相比,它在資料轉發時,隻在網絡邊緣分析IP封包頭,而不用在每一跳都分析IP封包頭,進而節約了處理時間。
MPLS起源于IPv4(Internet Protocol version 4),其核心技術可擴充到多種網絡協定,包括IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。“MPLS”中的“Multiprotocol”指的就是支援多種網絡協定。
有關MPLS的詳細介紹可參考RFC3031(Multiprotocol Label Switching Architecture)。
轉發等價類
MPLS作為一種分類轉發技術,将具有相同轉發處理方式的分組歸為一類,稱為轉發等價類FEC(Forwarding Equivalence Class)。相同轉發等價類的分組在MPLS網絡中将獲得完全相同的處理。
轉發等價類的劃分方式非常靈活,可以是源位址、目的位址、源端口、目的端口、協定類型、×××等的任意組合。例如,在傳統的采用最長比對算法的IP轉發中,到同一個目的位址的所有封包就是一個轉發等價類。
标簽
标簽是一個長度固定、隻具有本地意義的短辨別符,用于唯一辨別一個分組所屬的轉發等價類FEC。在某些情況下,例如要進行負載分擔,對應一個FEC可能會有多個标簽,但是一個标簽隻能代表一個FEC。
标簽由封包的頭部所攜帶,不包含拓撲資訊,隻具有局部意義。标簽的長度為4個位元組,封裝結構如圖1-1所示。
标簽共有4個域:
l Label:20比特,标簽值字段,用于轉發的指針;
l Exp:3比特,保留,用于試驗,現在通常用做CoS(Class of Service);
l S:1比特,棧底辨別。MPLS支援标簽的分層結構,即多重标簽,S值為1時表明為最底層标簽;
l TTL:8比特,和IP分組中的TTL(Time To Live)意義相同。
标簽與ATM的VPI/VCI以及Frame Relay的DLCI類似,是一種連接配接辨別符。
l 如果鍊路層協定具有标簽域,如ATM的VPI/VCI或Frame Relay的DLCI,則标簽封裝在這些域中;
l 如果鍊路層協定沒有标簽域,則标簽封裝在鍊路層和IP層之間的一個墊層中
Frame mode:幀模式
Cell mode:信元模式
标簽交換路由器
标簽交換路由器LSR(Label Switching Router)是MPLS網絡中的基本元素,所有LSR都支援MPLS協定。
LSR由兩部分組成:控制單元和轉發單元。
l 控制單元負責标簽的配置設定、路由的選擇、标簽轉發表的建立、标簽交換路徑的建立、拆除等工作;
l 轉發單元則依據标簽轉發表對收到的分組進行轉發。
标簽釋出協定
标簽釋出協定是MPLS的控制協定,它相當于傳統網絡中的信令協定,負責FEC的分類、标簽的配置設定以及LSP的建立和維護等一系列操作。
MPLS可以使用多種标簽釋出協定。
l 包括專為标簽釋出而制定的協定,例如:LDP(Label Distribution Protocol)、CR-LDP(Constraint-Routing Label Distribution Protocol);
l 也包括現有協定擴充後支援标簽釋出的,例如:BGP(Border Gateway Protocol)、RSVP(Resource Reservation Protocol)。
NE80E支援上述标簽釋出協定,并支援手工配置标簽。
标簽交換路徑
一個轉發等價類在MPLS網絡中經過的路徑稱為标簽交換路徑LSP(Label Switched Path)。
LSP在功能上與ATM和Frame Relay的虛電路相同,是從入口到出口的一個單向路徑。LSP中的每個節點由LSR組成,根據資料傳送的方向,相鄰的LSR分别稱為上遊LSR和下遊LSR。
标簽交換路徑LSP分為靜态LSP和動态LSP兩種。靜态LSP由管理者手工配置,動态LSP則利用路由協定和标簽釋出協定動态産生。
。
位于MPLS域邊緣、連接配接其它使用者網絡的LSR稱為邊緣LSR,即LER(Label Edge Router),區域内部的LSR稱為核心LSR。核心LSR可以是支援MPLS的路由器,也可以是由ATM交換機等更新而成的ATM-LSR。域内部的LSR之間使用MPLS通信,MPLS域的邊緣由LER與傳統IP技術進行适配。
分組被打上标簽後,沿着由一系列LSR構成的标簽交換路徑LSP傳送,其中,入節點LER被稱為Ingress,出節點LER被稱為Egress,中間的節點則稱為Transit。
簡要介紹MPLS的基本工作過程:
1. LDP和傳統路由協定(如OSPF、ISIS等)一起,在各個LSR中為有業務需求的FEC建立路由表和标簽映射表;
2. 入節點Ingress接收分組,完成第三層功能,判定分組所屬的FEC,并給分組加上标簽,形成MPLS标簽分組,轉發到中間節點Transit;
3. Transit根據分組上的标簽以及标簽轉發表進行轉發,不對标簽分組進行任何第三層處理;
4. 在出節點Egress去掉分組中的标簽,繼續進行後面的轉發。
由此可以看出,MPLS并不是一種業務或者應用,它實際上是一種隧道技術,也是一種将标簽交換轉發和網絡層路由技術集于一身的路由與交換技術平台。這個平台不僅支援多種高層協定與業務,而且,在一定程度上可以保證資訊傳輸的安全性。
1.1.3 MPLS的體系結構
在MPLS的體系結構中:
l 控制平面(Control Plane)之間基于無連接配接服務,利用現有IP網絡實作;
l 轉發平面(Forwarding Plane)也稱為資料平面(Data Plane),是面向連接配接的,可以使用ATM、幀中繼等二層網絡。
MPLS使用短而定長的标簽(label)封裝分組,在資料平面實作快速轉發。
在控制平面,MPLS擁有IP網絡強大靈活的路由功能,可以滿足各種新應用對網絡的要求。
對于核心LSR,在轉發平面隻需要進行标簽分組的轉發。
對于LER,在轉發平面不僅需要進行标簽分組的轉發,也需要進行IP分組的轉發,前者使用标簽轉發表LFIB,後者使用傳統轉發表FIB(Forwarding Information Base)。
1.1.4 MPLS與路由協定
LDP利用路由轉發表建立LSP
LDP通過逐跳方式建立LSP時,利用沿途各LSR路由轉發表中的資訊來确定下一跳,而路由轉發表中的資訊一般是通過IGP、BGP等路由協定收集的。LDP并不直接和各種路由協定關聯,隻是間接使用路由資訊。
通過已有協定的擴充支援MPLS标簽分發
雖然LDP是專門用來實作标簽分發的協定,但LDP并不是唯一的标簽分發協定。通過對BGP、RSVP(Resource Reservation Protocol)等已有協定進行擴充,也可以支援MPLS标簽的分發。
通過某些路由協定的擴充支援MPLS應用
在MPLS的應用中,也可能需要對某些路由協定進行擴充。例如,基于MPLS的×××應用需要對BGP進行擴充,使BGP能夠傳播×××的路由資訊;基于MPLS的流量工程TE(Traffic Engineering)需要對OSPF或IS-IS協定進行擴充,以攜帶鍊路狀态資訊。
LSPM: LSP Management
1.1.5 參考資訊
如果要更詳細了解MPLS的原理,請參考以下文檔。
RFC3031:Multiprotocol Label Switching Architecture
1.2 MPLS的應用
随着ASIC技術的發展,路由查找速度已經不是阻礙網絡發展的瓶頸。這使得MPLS在提高轉發速度方面不再具備明顯的優勢。
但由于MPLS結合了IP網絡強大的三層路由功能和傳統二層網絡高效的轉發機制,在轉發平面采用面向連接配接方式,與現有二層網絡轉發方式非常相似,這些特點使得MPLS能夠很容易地實作IP與ATM、幀中繼等二層網絡的無縫融合,并為流量工程TE(Traffic Engineering)、虛拟專用網×××(Virtual Private Network)、服務品質QoS(Quality of Service)等應用提供更好的解決方案。
1.2.1 基于MPLS的×××
傳統的×××一般是通過GRE(Generic Routing Encapsulation)、L2TP(Layer 2 Tunneling Protocol)、PPTP(Point to Point Tunneling Protocol)等隧道協定來實作私有網絡間資料流在公網上的傳送。而LSP本身就是公網上的隧道,是以用MPLS來實作×××有天然的優勢。
基于MPLS的×××就是通過LSP将私有網絡的不同分支聯結起來,形成一個統一的網絡,如圖1-6所示。基于MPLS的×××還支援對不同×××間的互通控制。圖1-6中:
l CE(Customer Edge)是使用者邊緣裝置,可以是路由器,也可以是交換機或主機;
l PE(Provider Edge)是服務商邊緣路由器,位于骨幹網絡。
在骨幹網絡中,還存在P(Provider),是服務提供商網絡中的骨幹路由器,不與CE直接相連。P裝置隻需要具備基本MPLS轉發能力,不維護×××資訊。
基于MPLS的×××具有以下特點:
l PE負責對×××使用者進行管理、建立各PE間LSP連接配接、同一×××使用者各分支間路由分派。
l PE間的路由分派通常是用LDP或擴充的BGP協定實作。
l 支援不同分支間IP位址複用和不同×××間互通。
1.2.2 基于MPLS的QoS
NE80E支援基于MPLS的流量工程和差分服務Diff-Serv特性,在保證網絡高使用率的同時,可以根據不同資料流的優先級實作差别服務,進而為語音,視訊資料流提供有帶寬保證的低延時、低丢包率的服務。
由于全網實施流量工程的難度比較大,是以,在實際的組網方案中往往通過差分服務模型來實施QoS。
Diff-Serv的基本機制是在網絡邊緣,根據業務的服務品質要求将該業務映射到一定的業務類别中,利用IP分組中的DS(Differentiated Service)字段(由ToS域而來)唯一的标記該類業務;然後,骨幹網絡中的各節點根據該字段對各種業務采取預先設定的服務政策,保證相應的服務品質。
Diff-Serv對服務品質的分類和标簽機制與MPLS的标簽配置設定十分相似,事實上,基于MPLS的Diff-Serv就是通過将DS的配置設定與MPLS的标簽配置設定過程結合來實作的。
出處:[url]http://baike.baidu.com/view/16137.htm[/url]