1 引 言
在文件[1]中描述了多協(xié)議標簽交換MPLS(Multiprotocol Label Switching )協(xié)議的結構。作為標簽交換路由器能用于幀中繼交換。幀中繼交換運行網(wǎng)絡層的路由算法(如OSPF,IS-IS)和在這些路由算法基礎上向前傳送數(shù)據(jù)。不需要特定的幀中繼選路。
幀中繼交換適用于標簽交換時,在幀的幀中繼數(shù)據(jù)鏈路層的首部DLCI(Data Link Connection Identifier)字段中承載頂層(當前)標簽。幀中繼交換不處理與頂層標簽一起承載的附加信息,如果有多個標簽的包,附加信息與其他標簽一起在文件[3]定義的MPLS普通封裝中承載。
能夠配置幀中繼永久的虛電路(PVCs)承載標簽交換基本業(yè)務。當MPLS標簽和幀中繼交換都適合幀中繼交換路由器時應該用DLCIs,根據(jù)本規(guī)范應該封裝MPLS業(yè)務和在網(wǎng)絡層路由信息基礎上向前傳送。
2 幀中繼交換的特性
標簽交換的結構允許在LSR(Label Switching Router)執(zhí)行中有相當大的靈活性,而(可能預先存在的)硬件有能力約束FR-LSR,多協(xié)議互聯(lián)利用的幀格式和幀中繼標準一樣。由于這樣的約束,F(xiàn)R-LSRs需要一些特殊過程。
影響它的性能(如LSRs )的幀中繼交換的一些主要特點是:
*在幀的幀中繼數(shù)據(jù)鏈路首部中DLCI字段上實現(xiàn)標簽交換功能;這規(guī)定了在包中標簽的長度和位置。DLCI字段的長度可能是10(缺。┗23比特和在首部中它能夠擴展到2或4個字節(jié)。
*當在路由器中IP首部上執(zhí)行時,一般不能實現(xiàn)“TTL(Time To Live)-減少”功能。
*在建立的電路上傳遞參數(shù)的每個節(jié)點執(zhí)行阻塞控制?梢栽趲氖撞恐性O定標記作為阻塞結果或超過約定的電路參數(shù)。
*雖然在標準交換中,可以配置多個輸入DLCIs對一個輸出DLCI,在多點對一點電路中得到,一般不完全支持多點對多點VCs。
3 標簽封裝和堆棧
3.1 標簽封裝
在缺省狀態(tài),應該用普通的標簽封裝發(fā)送全部帶標簽的包,使用幀中繼空封裝機理:
“n”是Q.922的地址長度,可以是2或4個字節(jié)。
DLCI的Q.922[ITU]表示法(按規(guī)范的順序,權值最小的比特存儲在第一位,即在存儲器中一個字節(jié)的最右邊的比特)如下:
幀中繼空封裝的使用意味著標簽隱含著編碼網(wǎng)絡協(xié)議的類型。
在文件[3]中描述了關于標簽堆棧結構和返回到幀源的差錯消息。
對于深層“n”的標簽堆棧,普通封裝包含“n”標簽,在頂層堆棧條目中承載著對EXP,S和TTL字段的有意義的值,而非標簽,標簽更適合在按Q.922地址形式編碼的幀中繼數(shù)據(jù)鏈路首部的DLCI字段中承載。
3.2 標簽堆棧
每個標簽堆棧條目用4個字節(jié)表示
標簽:20比特標簽值;EXP:試驗用3比特;S:堆棧的底部1比特;TTL:8比特。
4 幀中繼標簽交換處理
4.1 DLCIs的使用
用標簽與路由的結合完成標簽交換和用標簽值向前傳送包,包括確定任意更換標簽的值。在FR-LSR中,頂層(當前)MPLS標簽在幀的幀中繼數(shù)據(jù)鏈路層的首部DLCI字段中承載。頂層標簽載著關于網(wǎng)絡類型的隱含信息。
對于兩種連接的FR-LSRs,全雙工連接時LDP(Label Distribution Protocol)一定是可用的。用配置方法分配LDP VC的DLCI值,類似于配置DLCI用在兩個交換機之間運行IP路由協(xié)議。
除這個配置值以外,用DLCI值可以處理鏈路兩個方向的MPLS,屬于兩個獨立的空間,即,VCs可以是“半雙工”,每個方向用它自己的DLCI。
DLCIs允許的范圍,DLCIs長度和支持通過LDP消息傳達VC合并。注意用標簽的DLCIs范圍取決于DLCI字段的長度。
4.2 同類LSPs
如果是一個LSP(Label Switching Path),當從LSR1發(fā)送包P到LSR2和LSR3時,LSR1,LSR2和LSR3用相同的標簽堆棧編碼。像一個LSP使用同類的。
4.3 不是同類LSPs
如果是一個LSP,當發(fā)送包P到LSR2時,LSR1用一個標簽堆棧編碼,當發(fā)送包P到LSR3時,而LSR2用不同的編碼。在一般情況下,MPLS結構支持在不同的跳上有不同的標簽堆棧編碼的LSPs。當收到貼標簽的包時,LSR必須譯碼確定當前標簽堆棧的值,必須在標簽堆棧上運行確定堆棧的新標簽值和在發(fā)送貼標簽的包到它的下一跳之前適當?shù)木幋a新值。
運行幀中繼交換的LSRs和其它LSRs結合的MPLS網(wǎng)絡,其它LSRs用其他MPLS封裝,如普通(MPLS填充首部)或ATM封裝。在這樣的網(wǎng)中,可能有些LSRs,帶有幀中繼接口及MPLS普通接口。這是同一LSP的不同跳上有不同標簽堆棧編碼LSR的一個例子。在輸入接口上LSR可能不交換幀中繼標簽編碼和在輸出接口上用標簽編碼進入普通MPLS首部代替它。
4.4 幀中繼標簽交換回路的預防和控制
FR-LSRs應該在空閑FR-LSPs回路或LSP幀中繼段上運行,因此FR-LSPs應該用回路檢測和可用的回路預防機理。
4.4.1 FR-LSRs回路控制——MPLS TTL處理
在MPLS標簽堆棧中編碼的MPLS TTL用下面的機理:
(a)抑制回路;
。╞)限制包的范圍。
當數(shù)據(jù)包沿著LSP傳播時,如果經(jīng)過路由器的順序相同,不管有沒有標簽交換應該顯現(xiàn)相同的TTL值。如果數(shù)據(jù)包沿著LSPs層次傳播時,在TTL值中應反映經(jīng)過LSR跳的總數(shù)。
MPLS TTL的初始值從前面的TTL值加載到新推進的標簽條目中,當前面的標簽堆棧不存在時,來自網(wǎng)絡層的首部或預先存在的低層標簽堆棧條目。
FR-LSR同層交換貼標簽的包不消耗MPLS TTL。FR-LSR的順序是“非-TTL段”。
當數(shù)據(jù)包從“非-TTL LSP段”顯現(xiàn)時,它跨過的LSR-跳數(shù)值,應該反映在TTL中。在“獨播”情況下,傳播LSP的長度或LSP幀中繼段的長度到FR-LSR入口節(jié)點,在傳送包進入非-TTL LSP段之前,能使入口消耗TTL值。
當入口FR-LSR消耗MPLS TTL時,在數(shù)據(jù)包到達“非-TTL LSP段”的出口前,特殊數(shù)據(jù)包的TTL將過期,F(xiàn)R-LSR一定不交換帶標簽的包,而遵守文件[2]中的規(guī)范,企圖返回差錯消息到包的源。
*它作為一個過期的包處理和返回一個ICMP消息到它的源。
*它作為無標簽的包傳送,用TTL反映IP(網(wǎng)絡層)傳送。
如果進來的TTL是1,只用第一個選項。在多播情況下,LSP長度或LSP段長度傳播到FR-LSR出口節(jié)點,在包傳出非-TTL LSP段之前,出口消耗TTL值。
4.4.2 執(zhí)行MPLS TTL計算
用“輸入TTL”計算得到“輸出TTL”取決于(i)“輸入封裝”,(ii)“傳送封裝”和(iii)“輸出封裝”。(i),(ii)和(iii)之間的關系定義為“輸入封裝”(ie),“傳送封裝”(fe)和“輸出封裝”(oe)的函數(shù)“D”。用“輸入TTL”計算得到“輸出TTL”說明如下:
輸出TTL=輸入TTL-D(ie,fe,oe)
或簡要符號:
輸出TTL=輸入TTL-d
“d”有三個可能值:“0”,“1”或“LSP段的跳數(shù)”:
“獨播”傳輸:
當傳送包時,“LSP段的跳數(shù)”值是有標簽的跳數(shù)值,當為LSP分配標簽時,如果LDP提供跳數(shù)值,那是有“跳數(shù)目標”的LDP消息。如果LDP不提供跳數(shù)值或提供一個“未知”值和缺省“段的跳數(shù)”值是1。
當發(fā)送標簽連結上游時,跳數(shù)值與來自下游的相應連結有關,如果不同于“未知”值,必須加1和向上游發(fā)送結果作為與新的連結有關的跳數(shù)值(不改變發(fā)送的未知值)。如果新的跳數(shù)值超過“最大”值,F(xiàn)R-LSR不必向上游傳遞連結,但必須向上游發(fā)送一個錯誤。
多播傳輸:
“傳送封裝”用縮寫:“I”對應IP(網(wǎng)絡層),“G”對應于普通MPLS和“F”對應幀中繼MPLS,如果LSR接口用縮寫:“i”對應輸入或輸出封裝是IP和非MPLS封裝,“g”對應于輸入或輸出MPLS封裝是普通MPLS,“f”對應幀中繼,“a”是ATM和認為符號“iIf”,“gGf”,“fFf”,等作為LSRs輸入,傳送和輸出封裝。下面舉例說明對于各種LSPs的TTL計算:
“iIf”在幀中繼LSP“入口LSR”計算:
mpls_ttl=IP_TTL-跳數(shù)值=n-5
“fIi”是來自幀中繼LSP的“出口LSR”計算:
IP_ttl=mpls_ttl-1=n-6
“iIg”在LSP的“入口LSR”,計算:mpls_
ttl=n-1
“gGf”是來自普通MPLS段的“出口LSR”,在幀中繼段的“入口LSR”計算:mpls_ttl=n-6
“fGa”是來自幀中繼段的“出口LSR”,在ATM段的“入口LSR”計算:mpls_ttl=n-9
“gGf”是來自普通MPLS段的“出口LSR”,在幀中繼段的“入口LSR”計算:mpls_ttl=n-13
“fGg”是來自幀中繼段的“出口LSR”,在普通MPLS段的“入口LSR”計算:mpls_ttl=n-14
“gIi”是來自LSP的“出口LSR”計算:IP_ttl=n-15
幀中繼“獨播”——在入口計算的TTL
幀中繼多播——在出口計算的TTL