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