馬光星
摘 要 本文定義了在幀中繼網(wǎng)上的MPLS模型和普通機(jī)理。對于幀中繼網(wǎng),還擴(kuò)展和闡述了在文件[1]中描述的MPLS結(jié)構(gòu)和在文件[2]中描述的標(biāo)簽分配協(xié)議。MPLS像標(biāo)簽交換路由器一樣能有效的用于幀中繼交換。
關(guān)鍵詞 MPLS 幀中繼 標(biāo)簽交換路由器 幀中繼交換
1 引 言
在文件[1]中描述了多協(xié)議標(biāo)簽交換MPLS(Multiprotocol Label Switching )協(xié)議的結(jié)構(gòu)。作為標(biāo)簽交換路由器能用于幀中繼交換。幀中繼交換運(yùn)行網(wǎng)絡(luò)層的路由算法(如OSPF,IS-IS)和在這些路由算法基礎(chǔ)上向前傳送數(shù)據(jù)。不需要特定的幀中繼選路。
幀中繼交換適用于標(biāo)簽交換時,在幀的幀中繼數(shù)據(jù)鏈路層的首部DLCI(Data Link Connection Identifier)字段中承載頂層(當(dāng)前)標(biāo)簽。幀中繼交換不處理與頂層標(biāo)簽一起承載的附加信息,如果有多個標(biāo)簽的包,附加信息與其他標(biāo)簽一起在文件[3]定義的MPLS普通封裝中承載。
能夠配置幀中繼永久的虛電路(PVCs)承載標(biāo)簽交換基本業(yè)務(wù)。當(dāng)MPLS標(biāo)簽和幀中繼交換都適合幀中繼交換路由器時應(yīng)該用DLCIs,根據(jù)本規(guī)范應(yīng)該封裝MPLS業(yè)務(wù)和在網(wǎng)絡(luò)層路由信息基礎(chǔ)上向前傳送。
2 幀中繼交換的特性
標(biāo)簽交換的結(jié)構(gòu)允許在LSR(Label Switching Router)執(zhí)行中有相當(dāng)大的靈活性,而(可能預(yù)先存在的)硬件有能力約束FR-LSR,多協(xié)議互聯(lián)利用的幀格式和幀中繼標(biāo)準(zhǔn)一樣。由于這樣的約束,F(xiàn)R-LSRs需要一些特殊過程。
影響它的性能(如LSRs )的幀中繼交換的一些主要特點是:
*在幀的幀中繼數(shù)據(jù)鏈路首部中DLCI字段上實現(xiàn)標(biāo)簽交換功能;這規(guī)定了在包中標(biāo)簽的長度和位置。DLCI字段的長度可能是10(缺。┗23比特和在首部中它能夠擴(kuò)展到2或4個字節(jié)。
*當(dāng)在路由器中IP首部上執(zhí)行時,一般不能實現(xiàn)“TTL(Time To Live)-減少”功能。
*在建立的電路上傳遞參數(shù)的每個節(jié)點執(zhí)行阻塞控制?梢栽趲氖撞恐性O(shè)定標(biāo)記作為阻塞結(jié)果或超過約定的電路參數(shù)。
*雖然在標(biāo)準(zhǔn)交換中,可以配置多個輸入DLCIs對一個輸出DLCI,在多點對一點電路中得到,一般不完全支持多點對多點VCs。
3 標(biāo)簽封裝和堆棧
3.1 標(biāo)簽封裝
在缺省狀態(tài),應(yīng)該用普通的標(biāo)簽封裝發(fā)送全部帶標(biāo)簽的包,使用幀中繼空封裝機(jī)理:
“n”是Q.922的地址長度,可以是2或4個字節(jié)。
DLCI的Q.922[ITU]表示法(按規(guī)范的順序,權(quán)值最小的比特存儲在第一位,即在存儲器中一個字節(jié)的最右邊的比特)如下:
幀中繼空封裝的使用意味著標(biāo)簽隱含著編碼網(wǎng)絡(luò)協(xié)議的類型。
在文件[3]中描述了關(guān)于標(biāo)簽堆棧結(jié)構(gòu)和返回到幀源的差錯消息。
對于深層“n”的標(biāo)簽堆棧,普通封裝包含“n”標(biāo)簽,在頂層堆棧條目中承載著對EXP,S和TTL字段的有意義的值,而非標(biāo)簽,標(biāo)簽更適合在按Q.922地址形式編碼的幀中繼數(shù)據(jù)鏈路首部的DLCI字段中承載。
3.2 標(biāo)簽堆棧
每個標(biāo)簽堆棧條目用4個字節(jié)表示
標(biāo)簽:20比特標(biāo)簽值;EXP:試驗用3比特;S:堆棧的底部1比特;TTL:8比特。
4 幀中繼標(biāo)簽交換處理
4.1 DLCIs的使用
用標(biāo)簽與路由的結(jié)合完成標(biāo)簽交換和用標(biāo)簽值向前傳送包,包括確定任意更換標(biāo)簽的值。在FR-LSR中,頂層(當(dāng)前)MPLS標(biāo)簽在幀的幀中繼數(shù)據(jù)鏈路層的首部DLCI字段中承載。頂層標(biāo)簽載著關(guān)于網(wǎng)絡(luò)類型的隱含信息。
對于兩種連接的FR-LSRs,全雙工連接時LDP(Label Distribution Protocol)一定是可用的。用配置方法分配LDP VC的DLCI值,類似于配置DLCI用在兩個交換機(jī)之間運(yùn)行IP路由協(xié)議。
除這個配置值以外,用DLCI值可以處理鏈路兩個方向的MPLS,屬于兩個獨(dú)立的空間,即,VCs可以是“半雙工”,每個方向用它自己的DLCI。
DLCIs允許的范圍,DLCIs長度和支持通過LDP消息傳達(dá)VC合并。注意用標(biāo)簽的DLCIs范圍取決于DLCI字段的長度。
4.2 同類LSPs
如果是一個LSP(Label Switching Path),當(dāng)從LSR1發(fā)送包P到LSR2和LSR3時,LSR1,LSR2和LSR3用相同的標(biāo)簽堆棧編碼。像一個LSP使用同類的。
4.3 不是同類LSPs
如果是一個LSP,當(dāng)發(fā)送包P到LSR2時,LSR1用一個標(biāo)簽堆棧編碼,當(dāng)發(fā)送包P到LSR3時,而LSR2用不同的編碼。在一般情況下,MPLS結(jié)構(gòu)支持在不同的跳上有不同的標(biāo)簽堆棧編碼的LSPs。當(dāng)收到貼標(biāo)簽的包時,LSR必須譯碼確定當(dāng)前標(biāo)簽堆棧的值,必須在標(biāo)簽堆棧上運(yùn)行確定堆棧的新標(biāo)簽值和在發(fā)送貼標(biāo)簽的包到它的下一跳之前適當(dāng)?shù)木幋a新值。
運(yùn)行幀中繼交換的LSRs和其它LSRs結(jié)合的MPLS網(wǎng)絡(luò),其它LSRs用其他MPLS封裝,如普通(MPLS填充首部)或ATM封裝。在這樣的網(wǎng)中,可能有些LSRs,帶有幀中繼接口及MPLS普通接口。這是同一LSP的不同跳上有不同標(biāo)簽堆棧編碼LSR的一個例子。在輸入接口上LSR可能不交換幀中繼標(biāo)簽編碼和在輸出接口上用標(biāo)簽編碼進(jìn)入普通MPLS首部代替它。
4.4 幀中繼標(biāo)簽交換回路的預(yù)防和控制
FR-LSRs應(yīng)該在空閑FR-LSPs回路或LSP幀中繼段上運(yùn)行,因此FR-LSPs應(yīng)該用回路檢測和可用的回路預(yù)防機(jī)理。
4.4.1 FR-LSRs回路控制——MPLS TTL處理
在MPLS標(biāo)簽堆棧中編碼的MPLS TTL用下面的機(jī)理:
(a)抑制回路;
。╞)限制包的范圍。
當(dāng)數(shù)據(jù)包沿著LSP傳播時,如果經(jīng)過路由器的順序相同,不管有沒有標(biāo)簽交換應(yīng)該顯現(xiàn)相同的TTL值。如果數(shù)據(jù)包沿著LSPs層次傳播時,在TTL值中應(yīng)反映經(jīng)過LSR跳的總數(shù)。
MPLS TTL的初始值從前面的TTL值加載到新推進(jìn)的標(biāo)簽條目中,當(dāng)前面的標(biāo)簽堆棧不存在時,來自網(wǎng)絡(luò)層的首部或預(yù)先存在的低層標(biāo)簽堆棧條目。
FR-LSR同層交換貼標(biāo)簽的包不消耗MPLS TTL。FR-LSR的順序是“非-TTL段”。
當(dāng)數(shù)據(jù)包從“非-TTL LSP段”顯現(xiàn)時,它跨過的LSR-跳數(shù)值,應(yīng)該反映在TTL中。在“獨(dú)播”情況下,傳播LSP的長度或LSP幀中繼段的長度到FR-LSR入口節(jié)點,在傳送包進(jìn)入非-TTL LSP段之前,能使入口消耗TTL值。
當(dāng)入口FR-LSR消耗MPLS TTL時,在數(shù)據(jù)包到達(dá)“非-TTL LSP段”的出口前,特殊數(shù)據(jù)包的TTL將過期,F(xiàn)R-LSR一定不交換帶標(biāo)簽的包,而遵守文件[2]中的規(guī)范,企圖返回差錯消息到包的源。
*它作為一個過期的包處理和返回一個ICMP消息到它的源。
*它作為無標(biāo)簽的包傳送,用TTL反映IP(網(wǎng)絡(luò)層)傳送。
如果進(jìn)來的TTL是1,只用第一個選項。在多播情況下,LSP長度或LSP段長度傳播到FR-LSR出口節(jié)點,在包傳出非-TTL LSP段之前,出口消耗TTL值。
4.4.2 執(zhí)行MPLS TTL計算
用“輸入TTL”計算得到“輸出TTL”取決于(i)“輸入封裝”,(ii)“傳送封裝”和(iii)“輸出封裝”。(i),(ii)和(iii)之間的關(guān)系定義為“輸入封裝”(ie),“傳送封裝”(fe)和“輸出封裝”(oe)的函數(shù)“D”。用“輸入TTL”計算得到“輸出TTL”說明如下:
輸出TTL=輸入TTL-D(ie,fe,oe)
或簡要符號:
輸出TTL=輸入TTL-d
“d”有三個可能值:“0”,“1”或“LSP段的跳數(shù)”:
“獨(dú)播”傳輸:
當(dāng)傳送包時,“LSP段的跳數(shù)”值是有標(biāo)簽的跳數(shù)值,當(dāng)為LSP分配標(biāo)簽時,如果LDP提供跳數(shù)值,那是有“跳數(shù)目標(biāo)”的LDP消息。如果LDP不提供跳數(shù)值或提供一個“未知”值和缺省“段的跳數(shù)”值是1。
當(dāng)發(fā)送標(biāo)簽連結(jié)上游時,跳數(shù)值與來自下游的相應(yīng)連結(jié)有關(guān),如果不同于“未知”值,必須加1和向上游發(fā)送結(jié)果作為與新的連結(jié)有關(guān)的跳數(shù)值(不改變發(fā)送的未知值)。如果新的跳數(shù)值超過“最大”值,F(xiàn)R-LSR不必向上游傳遞連結(jié),但必須向上游發(fā)送一個錯誤。
多播傳輸:
“傳送封裝”用縮寫:“I”對應(yīng)IP(網(wǎng)絡(luò)層),“G”對應(yīng)于普通MPLS和“F”對應(yīng)幀中繼MPLS,如果LSR接口用縮寫:“i”對應(yīng)輸入或輸出封裝是IP和非MPLS封裝,“g”對應(yīng)于輸入或輸出MPLS封裝是普通MPLS,“f”對應(yīng)幀中繼,“a”是ATM和認(rèn)為符號“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
幀中繼“獨(dú)播”——在入口計算的TTL
幀中繼多播——在出口計算的TTL
4.5 經(jīng)過FR-LSRs入口的標(biāo)簽處理
當(dāng)數(shù)據(jù)包第一次進(jìn)入MPLS區(qū)域時,傳送操作除輸出封裝至少在一個條目中包括MPLS標(biāo)簽堆棧外,由正常網(wǎng)絡(luò)層傳送包。幀中繼空封裝將承載在標(biāo)簽中隱含的網(wǎng)絡(luò)層協(xié)議信息,標(biāo)簽必須與網(wǎng)絡(luò)協(xié)議結(jié)合。用網(wǎng)絡(luò)層傳送后得到的網(wǎng)絡(luò)TTL(或跳限制)填充在頂層標(biāo)簽堆棧條目中的TTL字段中。進(jìn)一步處理FR-LSR有兩種可能情況:
(a)LSP是同類——只有幀中繼——和FR-LSR是入口。
。╞)LSP不是同類——幀中繼,PPP,以太網(wǎng),ATM等,段形成LSP——和FR-LSR是進(jìn)入幀中繼段的入口。
“獨(dú)播”數(shù)據(jù)包,幀中繼LSP(同類)的“跳數(shù)”或LSP(不是同類)的幀中繼段應(yīng)該消耗MPLS TTL。構(gòu)成LSP的LDP應(yīng)該傳遞有用信息到關(guān)于“非-TTL段”“跳數(shù)”的FR-LSR入口。
多播數(shù)據(jù)包,MPLS TTL應(yīng)該減1。構(gòu)成LSP的LDP應(yīng)該傳遞有用信息到關(guān)于“非-TTL段”的“跳數(shù)”的FR-LSR出口。
其次,封裝包的MPLS向下游傳遞到達(dá)幀中繼的數(shù)據(jù)鏈路,帶頂層標(biāo)簽的驅(qū)動器作為輸出DLCI。傳送載著MPLS封裝數(shù)據(jù)包的幀中繼幀進(jìn)入幀中繼VC到下一LSR。
4.6 由核心FR-LSRs處理標(biāo)簽
在FR-LSR中,在幀的幀中繼數(shù)據(jù)鏈路層的首部DLCI字段中承載當(dāng)前(頂層)MPLS標(biāo)簽。正像傳統(tǒng)的幀中繼,對于到達(dá)接口的幀,在DLCI基本信息中查找?guī)欣^數(shù)據(jù)鏈路首部承載的DLCI,代替有相應(yīng)輸出的DLCI和在輸出接口上發(fā)送(傳送到下一節(jié)點)。
在標(biāo)簽堆棧的頂層也承載當(dāng)前標(biāo)簽信息。在頂層條目中,在幀的幀中繼數(shù)據(jù)鏈路層的首部中承載和交換除標(biāo)簽信息外的所有字段,當(dāng)前是有意義的。
4.7 由出口FR-LSRs 處理標(biāo)簽
當(dāng)?shù)竭_(dá)幀中繼LSP的端點時,F(xiàn)R-LSR取出標(biāo)簽堆棧。如果取出的標(biāo)簽是最后的標(biāo)簽,確定承載特定的網(wǎng)絡(luò)層協(xié)議是必需的。標(biāo)簽堆棧沒有承載識別網(wǎng)絡(luò)層協(xié)議的明顯信息。這必須從堆棧取出的標(biāo)簽值推出。
如果取出的標(biāo)簽不是最后的標(biāo)簽,前面的頂層MPLS TTL傳送到新的頂層標(biāo)簽堆棧條目。
如果FR-LSR是混合LSP的幀中繼段的出口交換,幀中繼段的終點不是LSP的終點,在下一跳標(biāo)簽傳送條目中具有的信息基礎(chǔ)上,為傳送到LSP的下一段應(yīng)該處理MPLS包。從NHLFE(Next Hop Label Forwarding Entry)設(shè)置輸出標(biāo)簽值,依據(jù)輸出接口類型和傳輸操作類型適當(dāng)減少M(fèi)PLS TTL值。根據(jù)MPLS規(guī)范,對于LSP的下一段特定的鏈路傳送MPLS包。
“獨(dú)播”的數(shù)據(jù)包,如果輸出接口是普通的或有LSP(不是同類)的下一ATM段的“跳數(shù)”,如果輸出接口是ATM(非-TTL)接口,MPLS TTL應(yīng)該減1。
多播數(shù)據(jù)包,MPLS
TTL應(yīng)該減少離開FR段的跳數(shù)值。關(guān)于FR“非-TTL”的“跳數(shù)”,構(gòu)成LSP的LDP應(yīng)該傳遞有意義的信息到出口FR-LSR。
5 幀中繼標(biāo)簽交換控制
支持標(biāo)簽交換的幀中繼交換必須實現(xiàn)標(biāo)簽交換的控制,標(biāo)簽交換的控制主要由標(biāo)簽分配和維護(hù)程序組成?梢杂脦追N機(jī)理傳送標(biāo)簽連結(jié)信息,其中之一是標(biāo)簽分配協(xié)議(LDP)。
標(biāo)簽交換控制使用直接來自網(wǎng)絡(luò)層路由協(xié)議的信息,這意味著交換必須在這些協(xié)議中同等分享(如,OSPF,IS-IS)。
在某些情況下,LSRs可以用其它協(xié)議(如RSVP,PIM,BGP)分配標(biāo)簽連結(jié)。在這些情況中,幀中繼LSR應(yīng)該在這些協(xié)議中分享。
在經(jīng)過LDP或RSVP或其它(不包括傳統(tǒng)幀中繼機(jī)理)建立幀中繼電路的情況下,假定建立信息的電路,如輸入/輸出最大幀長度,進(jìn)/出的請求/同意的通過量,進(jìn)/出的接收通過量,進(jìn)/出的突發(fā)長度,進(jìn)/出的幀速率,在發(fā)送中使用的和可以傳遞阻塞控制到FR-LSRs至RSVP或能夠靜態(tài)配置。還假設(shè)阻塞控制和幀的首部帶標(biāo)記作為阻塞結(jié)果,應(yīng)該由FR-LSRs用類似于傳統(tǒng)幀中繼電路的方式完成。仿真最有效路由器的目標(biāo)作為缺省值,缺省VC參數(shù),在缺少LDP時,RSVP或其它機(jī)理參與設(shè)置這樣的參數(shù),應(yīng)該是0 CIR,因此輸入管理將在輸入的幀中,設(shè)置DE(Discard Eligibility)比特,但不丟棄數(shù)據(jù)幀。
在MPLS基礎(chǔ)上,電路控制和狀態(tài)信息可以經(jīng)過LDP傳遞。
支持幀中繼交換的標(biāo)簽交換要求只與幀、比特填充、首部和FCS一致。對于PVCs或SVCs,不需要Q.933信令。在相同接口上,對于非-MPLS(標(biāo)準(zhǔn)幀中繼)PVCs或SVCs可以使用PVC或SVC信令。
在幀中繼交換基礎(chǔ)上標(biāo)簽交換控制成分的存在,不排除能夠支持由ITU和FRF(Frame Relay Forum)在相同交換和相同接口上定義的幀中繼控制成分。兩個控制成分,有ITU/FRF定義的標(biāo)簽交換應(yīng)該獨(dú)立運(yùn)行。
然而,只有少量的信息需要在兩個控制成分之間一致,DLCI空間部分對每個成分都是可用的。
6 標(biāo)簽分配和維護(hù)過程
標(biāo)簽分配協(xié)議的機(jī)理和消息形式在文件[1]和[2]中討論。在本節(jié)中討論的“下游——按需”標(biāo)簽分配和維護(hù)機(jī)理必須由不支持VC合并的FR-LSRs使用及也可以由支持VC合并的FR-LSRs使用(注意這一機(jī)理用于hop-by-hop路由業(yè)務(wù))。
6.1 邊緣LSR的性能
考慮FR-LSR邊緣集的成員。假設(shè),作為路由計算結(jié)果,選擇FR-LSR作為確定路由FEC(Forwarding Equivalence Classes)的下一跳和下一跳通過LC-FR接口是可以到達(dá)的。假設(shè)下一跳 FR-LSR是一個“LDP-peer”。邊緣LSR為來自下一跳,下游LSR的標(biāo)簽連結(jié)發(fā)送一個LDP“請求”消息。當(dāng)邊緣LSR接收來自下游的,在LDP“映射”消息中LSR標(biāo)簽連結(jié)信息的響應(yīng)時,標(biāo)簽存儲在標(biāo)簽信息底部作為FEC的輸出標(biāo)簽。映射消息可能包括跳數(shù)值,跳數(shù)值表示包通過FR-LSR域到達(dá)出口FR-LSR的跳數(shù)值,為計算TTL可以存儲這個信息。一旦這樣做,LSR可用MPLS在FEC中向前傳送包。
當(dāng)FR-LSR域的邊緣集的一個成員從FEC的FR-LSR接收LDP“請求”消息時,它是出口FR-LSR。它分配一個標(biāo)簽,在它的標(biāo)簽信息底部建立一個新條目,標(biāo)簽放在進(jìn)來標(biāo)簽條目中和返回(經(jīng)過LDP)包含分配標(biāo)簽回流到原請求同等的LDP的“映射”消息!坝成洹毕疤鴶(shù)”的目標(biāo)置1。
當(dāng)路由計算引起邊緣LSR改變路由的下一跳和前面的下一跳在FR-LSR域中時,邊緣LSR應(yīng)該通報前面的下一跳(經(jīng)過LDP“釋放”消息),標(biāo)簽與路由的結(jié)合不再需要。
當(dāng)FR-LSR從連接到LC-FR接口上FR-PSR的同等LDP接收一些路由(FEC)的LDP“請求”消息時,F(xiàn)R-LSR采取下列動作:
*它分配一個標(biāo)簽,在它的標(biāo)簽信息底部建立一個新條目和標(biāo)簽放在進(jìn)來標(biāo)簽條目的成分中;
*它傳送“請求”,通過發(fā)送一個LDP“請求”消息到下一跳LSR,路由(FEC)的下游;
在“順序控制”方式中,在返回“映射”上游的響應(yīng)到“請求”前,F(xiàn)R-LSR等待來自下游的有“映射”消息的響應(yīng)。在此情況下,F(xiàn)R-LSR增加它從下游接收的跳數(shù)值和用這個值在返回上游的“映射”中。
FR-LSR可以不等待來自下游(“獨(dú)立控制”方法)的連結(jié),返回上游連結(jié)。在此情況下,在“映射”中,它使用保留的跳數(shù)值,表示它是‘未知’的。稍后將返回正確的跳數(shù)值,說明如下。
“順序”和“獨(dú)立”控制各有優(yōu)缺點,允許作為執(zhí)行或配置選擇。
一旦FR-LSR在來自下一跳的LDP“映射”消息中,接收標(biāo)簽連結(jié)的響應(yīng),標(biāo)簽放在LIB條目的輸出標(biāo)簽中。
注意,F(xiàn)R-LSR或FR-LSR域的邊緣集的成員,可以接收來自相同F(xiàn)R-LSR的相同路由(FEC)的多個連結(jié)請求。它必須為每個“請求”(假定有足夠的資源)產(chǎn)生新的“映射”和保留任意現(xiàn)存的映射。對于接收的每個“請求”, FR-LSR應(yīng)該產(chǎn)生新的連結(jié)“請求”傳送到路由的下一跳。
當(dāng)路由計算引起邊緣LSR改變路由(FEC)的下一跳時,F(xiàn)R-LSR應(yīng)該通報前面的下一跳(經(jīng)過LDP“釋放”消息),標(biāo)簽與路由的連結(jié)不再需要。
當(dāng)LSR接收不再需要特定標(biāo)簽連結(jié)的通告時,LSR可能解除與連結(jié)有關(guān)的標(biāo)簽和解開連結(jié)。這種方式是“保守的標(biāo)簽保持方式”。在FR-LSR接收這樣的通告和解開連結(jié)的情況下,應(yīng)該通告不再需要標(biāo)簽連結(jié)的路由的下一跳。如果LSR不解開連結(jié)(在“自由保持方式中”配置的FR-LSP),只要接收的請求與已建立的引起連結(jié)的請求有相同的跳數(shù)值和相同路由,它可以再用這個連結(jié)。
當(dāng)路由改變時,從前面的路由在路由分叉點重建標(biāo)簽連結(jié)。那個點上LSRs的上游(有一個例外,注意下邊)忘記了改變。在任何時間LSR改變它的特定路由的下一跳,如果新的下一跳是FR-LSR或經(jīng)過LC-LSR接口可達(dá)到的邊緣集的成員,則在與路由LSR有關(guān)的LIB中的每個條目應(yīng)從新的下一跳請求(經(jīng)LDP)連結(jié)。
當(dāng)FR-LSR從下游鄰居接收標(biāo)簽連結(jié)時,可能已經(jīng)為這個路徑到上游鄰居提供了相應(yīng)的標(biāo)簽連結(jié),由于正使用“獨(dú)立控制”或由于來自下游的新連結(jié)是路由改變的結(jié)果。在此情況下,應(yīng)該從新的連結(jié)中提取的跳數(shù)值加1。如果新的跳數(shù)值不同于前面?zhèn)鞯缴嫌梧従拥奶鴶?shù)值(包括上游鄰居給定的‘未知’值),F(xiàn)R-LSR必須通告改變的上游鄰居。每個FR-LSR依次增加跳數(shù)值和傳遞到上游直到到達(dá)入口邊緣LSR。
在任何時間FR-LSR產(chǎn)生到下一跳LSR的標(biāo)簽連結(jié)請求,作為從另一個(上游)LSR接收標(biāo)簽連結(jié)請求的結(jié)果和不滿意到下一跳的請求,對于接收的請求FR-LSR應(yīng)該解開在響應(yīng)中建立的連結(jié)和通告請求器(經(jīng)過LDP“撤銷”消息)。
當(dāng)LSR確定丟失它的LDP與另一個LSR會話時,采用下列動作:
*必須丟棄經(jīng)過這個連接得到的連結(jié)信息;
*對于建立的任意標(biāo)簽連結(jié)作為從同級接收的標(biāo)簽連結(jié)請求,LSR可以解開這些連結(jié)(和再分配與這些連結(jié)有關(guān)的標(biāo)簽)。
6.2 標(biāo)簽空間的有效應(yīng)用-合并FR-LSRs
上面的討論假設(shè),在FR-LSR域中,邊緣LSR將為每一個在路由表中有下一跳的前綴請求一個標(biāo)簽?梢杂行У販p少邊緣LSR請求需要的標(biāo)簽數(shù),幾個路由改為一個標(biāo)簽。在路由和同級傳送用的標(biāo)簽之間多個對一個映射的使用提供保持標(biāo)簽數(shù)的機(jī)理。
注意,在業(yè)務(wù)需要幀中繼分段情況下,可能限制保持標(biāo)簽空間(VC合并)。問題是必須按順序發(fā)送幀中繼分段,一定不能交叉明顯的幀分段,明顯的分段一定不能交叉存取。如果分段的FR-PSR確保所有分段按順序傳輸,沒有與其他的幀交叉,則能夠?qū)嵭袠?biāo)簽保持(VC合并)。
當(dāng)使用標(biāo)簽保持,F(xiàn)R-LSR接收來自某些FEC上游LSR的連結(jié)請求時和它已經(jīng)有FEC的輸出標(biāo)簽連結(jié),它不需要發(fā)送下游連結(jié)請求。它可以分配一個進(jìn)來的標(biāo)簽和返回到上游請求器連結(jié)的標(biāo)簽。從請求器接收的包,有頂層標(biāo)簽,用FEC的現(xiàn)存輸出標(biāo)簽代替標(biāo)簽后向前傳送。如果FR-LSR沒有FEC的輸出標(biāo)簽連結(jié),但有一個顯著的請求,不再發(fā)送另一個請求。這意味著在標(biāo)簽保持情況下,F(xiàn)R-LSR必須響應(yīng)有新連結(jié)的每個上游請求,但它可能需要發(fā)送一個下游連結(jié)請求。
在保持標(biāo)簽情況下,如果改變路由表引起FR-LSR選擇FECs新的下一跳,它可能釋放以前下一跳的路由連結(jié)。如果新的下一跳已經(jīng)沒有相應(yīng)的連結(jié),它必須請求一個連結(jié)(注意選擇取決于標(biāo)簽保持方式)。
如果得到新的連結(jié),包含的跳數(shù)值不同于舊的連結(jié),F(xiàn)R-LSR必須處理新的跳數(shù)值:如果不同于“未知”值,加1和通報有新數(shù)值FEC的標(biāo)簽連結(jié)的上游鄰居。如果新的跳數(shù)值超出“最大”值,要保證將要檢測的回路,F(xiàn)EC的標(biāo)簽值一定是來自所有上游鄰居到前面發(fā)送的連結(jié)。
6.3 到達(dá)幀中繼的特殊LDP消息
在兩個幀中繼“LDP-peer”LSRs之間交換的標(biāo)簽分配協(xié)議消息可以包含幀中繼特殊信息:
幀中繼標(biāo)簽范圍:
有下列字段:
保留 保留這個字段。在傳送時必須設(shè)為0和在接收時忽略。
Len 這個字段規(guī)定了DLCI的比特數(shù)。支持下列值:
Len DLCI 比特
0 10
2 23
Len 值的1和3保留將來用。
最小DLCI
23比特字段是發(fā)起FR-LSR支持的DLCIs的數(shù)據(jù)塊下限的2進(jìn)制的值。最小DLCI應(yīng)該在這個字段的右邊和前面的比特應(yīng)該置0。
最大DLCI
23比特字段是發(fā)起FR-LSR支持的DLCIs的數(shù)據(jù)塊上限的2進(jìn)制的值。最大DLCI應(yīng)該在這個字段的右邊和前面的比特應(yīng)該置0。
幀中繼合并:
有下列字段:
M(合并) 1比特字段規(guī)定FR-LSR的合并能力:
數(shù)值 意思
0 不支持合并
1 支持合并
支持VC合并的FR-LSR必須保證來自輸入DLCI的分段的幀,在輸出DLCI上不交叉。
保留 保留這個字段。在發(fā)送中設(shè)置為0和在接收端忽略。
幀中繼標(biāo)簽:
有下列字段:
保留 保留這個字段。在發(fā)送中設(shè)置為0和在接收端忽略。
Len 這個字段規(guī)定了DLCI的比特數(shù)。支持下列值:
Len DLCI 比特
0 10
2 23
Len值的1和3保留將來用。
DLCI
幀中繼標(biāo)簽的二進(jìn)制值。標(biāo)簽值的有意義的比特數(shù)(10或23)編碼進(jìn)入幀中繼數(shù)據(jù)鏈路首部的數(shù)據(jù)鏈路連接標(biāo)識符(DLCI)字段。
參 考 文 獻(xiàn)
[1] Rosen, E., Callon, R. and A. Vishwanathan, "Multi-Protocol Label Switching Architecture", RFC 3031, January 2001.
[2] Andersson, L., Doolan, P., Feldman, N., Fredette, A. and R. Thomas, "Label Distribution Protocol", RFC 3036, January 2001.
[3] Rosen, E., Rehter, Y., Tappan, D., Farinacci, D., Fedorkow, G., Li, T. and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001.
馬光星,原信息產(chǎn)業(yè)部數(shù)據(jù)通信技術(shù)研究所高級工程師,退休后在北京恒光科技發(fā)展公司工作。