MPLS基本技術介紹


MPLS Basics

MPLS簡介

MPLSMultiprotocol Label Switching,多協議標簽交換)起源於IPv4Internet Protocol version 4,因特網協議版本4),最初是為了提高轉發速度而提出的,其核心技術可擴展到多種網絡協議,包括IPv6Internet Protocol version 6,因特網協議版本6)、IPXInternet Packet Exchange,網際報文交換)和CLNPConnectionless Network Protocol,無連接網絡協議)等。MPLS中的“M”指的就是支持多種網絡協議。

MPLS技術集二層的快速交換和三層的路由轉發於一體,可以滿足各種新應用對網絡的要求。

MPLS結構的詳細介紹可參考RFC 3031Multiprotocol Label Switching Architecture)。

 

MPLS基本概念

1. 轉發等價類

MPLS作為一種分類轉發技術,將具有相同轉發處理方式的分組歸為一類,稱為FECForwarding Equivalence Class,轉發等價類)。相同FEC的分組在MPLS網絡中將獲得完全相同的處理。

FEC的劃分方式非常靈活,可以是以源地址、目的地址、源端口、目的端口、協議類型或VPN等為劃分依據的任意組合。例如,在傳統的采用最長匹配算法的IP轉發中,到同一個目的地址的所有報文就是一個FEC

2. 標簽

標簽是一個長度固定,僅具有本地意義的短標識符,用於唯一標識一個分組所屬的FEC。一個標簽隻能代表一個FEC

標簽長度為4個字節,其結構如1所示。標簽共有4個域:

圖 1 標簽的封裝結構

 

標簽共有4個域:

l              Label:標簽值字段,長度為20bits,用來標識一個FEC

l              Exp3bits,保留,協議中沒有明確規定,通常用作CoS

l              S1bitMPLS支持多重標簽。值為1時表示為最底層標簽。

l              TTL8bits,和IP分組中的TTL意義相同,可以用來防止環路。

2所示,如果鏈路層協議具有標簽域,如ATMVPI/VCI,則標簽封裝在這些域中;否則,標簽封裝在鏈路層頭和網絡層數據之間的一個墊層中。這樣,任意鏈路層都能夠支持標簽。

圖 2 標簽在分組中的封裝位置

Label:標簽,Frame mode:幀模式,Cell mode:信元模式

 

3. 標簽交換路由器

LSRLabel Switching Router,標簽交換路由器)是MPLS網絡中的基本元素,所有LSR都支持MPLS技術。

4. 標簽交換路徑

一個轉發等價類在MPLS網絡中經過的路徑稱為LSPLabel Switched Path,標簽交換路徑)。在一條LSP上,沿數據傳送的方向,相鄰的LSR分別稱為上遊LSR和下遊LSR。如 3中,R2R1的下遊LSR,相應的,R1R2的上遊LSR

圖 3 標簽交換路徑LSP

 

LSP在功能上與ATM和幀中繼(Frame Relay)的虛電路相同,是從MPLS網絡的入口到出口的一個單向路徑。LSP中的每個節點由LSR組成。

5. 標簽分發協議

LDPLabel Distribution Protocol,標簽分發協議)是MPLS的控製協議,它相當於傳統網絡中的信令協議,負責FEC的分類、標簽的分配以及LSP的建立和維護等一係列操作。

MPLS可以使用多種標簽發布協議,包括專為標簽發布而製定的協議,例如:LDPCR-LDPConstraint-Based Routing using LDP,基於約束路由的LDP);也包括現有協議擴展後支持標簽發布的,例如:BGPBorder Gateway Protocol,邊界網關協議)、RSVPResource Reservation Protocol,資源預留協議)。同時,還可以手工配置靜態LSP

6. LSP隧道技術

MPLS支持LSP隧道技術。

一條LSP的上遊LSR和下遊LSR,盡管它們之間的路徑可能並不在路由協議所提供的路徑上,但是MPLS允許在它們之間建立一條新的LSP,這樣,上遊LSR和下遊LSR分別就是這條LSP的起點和終點。這時,上遊LSR和下遊LSR間的LSP就是LSP隧道,它避免了采用傳統的網絡層封裝隧道。如4. 3LSP<R2R21R22R3>就是R2R3間的一條隧道。

如果隧道經由的路由與逐跳從路由協議中取得的路由一致,這種隧道就稱為逐跳路由隧道(Hop-by-Hop Routed Tunnel);否則稱為顯式路由隧道(Explicitly Routed Tunnel)。

7. 多層標簽棧

如果分組在超過一層的LSP隧道中傳送,就會有多層標簽,形成標簽棧(Label Stack)。在每一隧道的入口和出口處,進行標簽的入棧(PUSH)和出棧(POP)操作。

標簽棧按照“後進先出”(Last-In-First-Out)方式組織標簽,MPLS從棧頂開始處理標簽。

MPLS對標簽棧的深度沒有限製。若一個分組的標簽棧深度為m,則位於棧底的標簽為1級標簽,位於棧頂的標簽為m級標簽。未壓入標簽的分組可看作標簽棧為空(即標簽棧深度為零)的分組。

MPLS體係結構

1. MPLS網絡結構

4所示,MPLS網絡的基本構成單元是LSR,由LSR構成的網絡稱為MPLS域。

位於MPLS域邊緣、連接其它用戶網絡的LSR稱為LERLabel Edge Router,邊緣LSR),區域內部的LSR稱為核心LSR。核心LSR可以是支持MPLS的路由器,也可以是由ATM交換機等升級而成的ATM-LSR。域內部的LSR之間使用MPLS通信,MPLS域的邊緣由LER與傳統IP技術進行適配。

分組在入口LER被壓入標簽後,沿著由一係列LSR構成的LSP傳送,其中,入口LER被稱為Ingress,出口LER被稱為Egress,中間的節點則稱為Transit

圖 4 MPLS網絡結構

 

結合上圖簡要介紹MPLS的基本工作過程:

(1)        首先,LDP和傳統路由協議(如OSPFISIS等)一起,在各個LSR中為有業務需求的FEC建立路由表和LIBLabel Information Base,標簽信息表);

(2)        入口LER接收分組,完成第三層功能,判定分組所屬的FEC,並給分組加上標簽,形成MPLS標簽分組;

(3)        接下來,在LSR構成的網絡中,LSR根據分組上的標簽以及LFIBLabel Forwarding Information Base,標簽轉發表)進行轉發,不對標簽分組進行任何第三層處理;

(4)        最後,在MPLS出口LER去掉分組中的標簽,繼續進行後麵的IP轉發。

由此可以看出,MPLS並不是一種業務或者應用,它實際上是一種隧道技術,也是一種將標簽交換轉發和網絡層路由技術集於一身的路由與交換技術平台。這個平台不僅支持多種高層協議與業務,而且,在一定程度上可以保證信息傳輸的安全性。

2. MPLS節點結構

圖 5 MPLS節點結構示意圖

 

5所示,MPLS節點由兩部分組成:

l              控製平麵(Control Plane):負責標簽的分配、路由的選擇、標簽轉發表的建立、標簽交換路徑的建立、拆除等工作;

l              轉發平麵(Forwarding Plane):依據標簽轉發表對收到的分組進行轉發。

對於普通的LSR,在轉發平麵隻需要進行標簽分組的轉發,需要使用到LFIBLabel Forwarding Information Base,標簽轉發表)。對於LER,在轉發平麵不僅需要進行標簽分組的轉發,也需要進行IP分組的轉發,所以既會使用到LFIB,也會使用到FIBForwarding Information Base,轉發信息表)。

MPLS與路由協議

LDP通過逐跳方式建立LSP時,利用沿途各LSR路由轉發表中的信息來確定下一跳,而路由轉發表中的信息一般是通過IGPBGP等路由協議收集的。LDP並不直接和各種路由協議關聯,隻是間接使用路由信息。另一方麵,通過對BGPRSVP等已有協議進行擴展,也可以支持標簽的分發。

MPLS的應用中,也可能需要對某些路由協議進行擴展。例如,基於MPLSVPN應用需要對BGP進行擴展,使BGP能夠傳播VPNVirtual Private Network,虛擬專用網)的路由信息;基於MPLSTETraffic Engineering,流量工程)需要對OSPFIS-IS協議進行擴展,以攜帶鏈路狀態信息。

MPLS的應用

最初,MPLS技術結合了二層交換技術和三層路由技術,提高了路由查找速度。但是,隨著ASICApplication-Specific Integrated Circuit,專用集成電路)技術的發展,路由查找速度已經不成為阻礙網絡發展的瓶頸。這使得MPLS在提高轉發速度方麵不具備明顯的優勢。

但由於MPLS結合了IP網絡強大的三層路由功能和傳統二層網絡高效的轉發機製,在轉發平麵采用麵向連接方式,與現有二層網絡轉發方式非常相似,這些特點使得MPLS能夠很容易地實現IPATM、幀中繼等二層網絡的無縫融合,並為QoSQuality of Service,服務質量)、TEVPN等應用提供更好的解決方案。

1. 基於MPLSVPN

傳統的VPN一般是通過GREL2TPPPTP等隧道協議來實現私有網絡間數據流在公網上的傳送,LSP本身就是公網上的隧道,因此,用MPLS來實現VPN有天然的優勢。

基於MPLSVPN就是通過LSP將私有網絡的不同分支連接起來,形成一個統一的網絡。基於MPLSVPN還支持對不同VPN間的互通控製。

圖 6 基於MPLSVPN

 

6是基於MPLSVPN的基本結構:CECustomer Edge,用戶邊緣設備)可以是路由器,也可以是交換機或主機;PEProvider Edge,服務商邊緣路由器)位於骨幹網絡。

PE負責對VPN用戶進行管理、建立各PELSP連接、同一VPN用戶各分支間路由分派。PE間的路由分派通常是用LDP或擴展的BGP協議實現。

基於MPLSVPN支持不同分支間IP地址複用,並支持不同VPN間互通。與傳統的路由相比,VPN路由中需要增加分支和VPN的標識信息,這就需要對BGP協議進行擴展,以攜帶VPN路由信息。

2. 基於MPLS流量工程

基於MPLSTE和差分服務Diff-serv特性,在保證網絡高利用率的同時,可以根據不同數據流的優先級實現差別服務,從而為語音、視頻等數據流提供有帶寬保證的低延時、低丟包率的服務。

由於全網實施流量工程的難度比較大,因此,在實際的組網方案中往往通過差分服務模型來實施QoS

Diff-Serv的基本機製是在網絡邊緣,根據業務的服務質量要求將該業務映射到一定的業務類別中,利用IP分組中的DS字段(由ToS域而來)唯一的標記該類業務,然後,骨幹網絡中的各節點根據該字段對各種業務采取預先設定的服務策略,保證相應的服務質量。

Diff-Serv的這種對服務質量的分類和MPLS的標簽分配機製十分相似,事實上,基於MPLSDiff-Serv就是通過將DS的分配與MPLS的標簽分配過程結合來實現的。

MPLS基本配置簡介

標簽的發布和管理

MPLS體係中,由下遊LSR決定將標簽分配給特定FEC,再通知上遊LSR。即,標簽由下遊指定,標簽的分配按從下遊到上遊的方向。

1. 標簽發布方式(Label Advertisement Mode

標簽發布方式分為兩種:

l              下遊按需方式DoDDownstream On Demand):對於一個特定的FECLSR從上遊獲得標簽請求消息之後才進行標簽分配與分發;

l              下遊自主方式DUDownstream Unsolicited):對於一個特定的FECLSR無須從上遊獲得標簽請求消息即進行標簽分配與分發。

具有標簽分發鄰接關係的上遊LSR和下遊LSR之間必須使用相同的標簽發布方式,否則LSP無法正常建立。

 

2. 標簽分配控製方式(Label Distribution Control Mode

標簽分配控製方式分為兩種:

l              獨立標簽分配控製(Independent):LSR可以在任意時間向與它連接的LSR通告標簽映射。這種方式可能導致在收到下遊標簽之前就向上遊發布了標簽。

l              有序標簽控製方式(Ordered):對於LSR上某個FEC的標簽映射,隻有當該LSR已經具有此FEC下一跳的標簽映射消息或者該LSR就是此FEC的出口節點時,該LSR才可以向上遊發送此FEC的標簽映射。

3. 標簽保持方式(Label Retention Mode

標簽保持方式是指LSR對收到的、但目前暫時用不到的標簽—FEC綁定的處理方式。

標簽保持方式也分為兩種:

l              自由標簽保持方式(Liberal):對於從鄰居LSR收到的標簽映射,無論鄰居LSR是不是自己的下一跳都保留。

l              保守標簽保持方式(Conservative):對於從鄰居LSR收到的標簽映射,隻有當鄰居LSR是自己的下一跳時才保留。

使用自由標簽保持方式,LSR能夠迅速適應路由變化;而使用保守標簽保持方式,LSR可以分配和保存較少的標簽數量。

保守標簽保持方式通常與DoD方式一起,用於對於標簽空間有限的LSR

4. 標簽交換中的幾個基本概念

l              NHLFENext Hop Label Forwarding Entry):下一跳標簽轉發項。用於描述對標簽執行的操作,包括入棧(Push)操作和交換(Swap)操作。

l              FTNFEC to NHLFE map):在Ingress節點將轉發等價類FEC映射到NHLFE的過程。

l              ILMIncoming Label Map):入標簽映射。對於接收的標簽分組,LSR將標簽映射到NHLFE的過程,包括空(Null)操作、出棧(Pop)操作。

5. 標簽交換的過程

入口LERIngress)將進入網絡的分組劃分成轉發等價類FEC。屬於相同FEC的分組在MPLS域中將經過相同的路徑,即使用同一條LSPLSR對到來的FEC分組分配一個標簽,然後從相應的接口轉發出去。

標簽交換的具體操作描述如下:

(1)        LSP沿途的所有LSR都先建立ILM,入標簽是根據ILM表項進行映射的;

(2)        對於接收到的標簽分組,LSR將標簽映射到NHLFE

(3)        LSR隻需根據標簽從標簽信息表中找到相應的NHLFE,用新的標簽替換原來的標簽,然後對標簽分組繼續轉發。

倒數第二跳彈出

在介紹MPLS的基本工作過程時提到:在MPLS網絡中,核心LSR根據分組上的標簽進行轉發;在Egress節點(出口LER)去掉分組中的標簽,繼續進行IP轉發。

實際上,在比較簡單的MPLS應用中,Egress節點隻需要進行IP轉發,標簽已經沒有使用價值。這種情況下,為了減輕Egress節點的負擔,提高MPLS網絡對報文的處理能力,可以利用PHPPenultimate Hop Popping,倒數第二跳彈出)特性,在倒數第二個節點處將標簽彈出,Egress節點就不再進行標簽操作了。

MPLS MTU

MPLS標簽棧象“墊層”一樣,位於二層數據幀頭和數據之間。在MPLS轉發過程中,雖然網絡層報文長度小於接口的MTU,但是增加MPLS標簽後,報文長度可能超過鏈路層允許發送的範圍,從而導致報文無法正常轉發。為此,設備上定義了MPLS MTUMPLS轉發時將增加標簽後的報文長度與MPLS MTU比較。報文長度大於MPLS MTU時,如果允許分片,則將報文分片後再進行轉發;如果不允許分片,則直接丟棄。

MPLSTTL的處理

MPLSTTL處理包括IP TTL複製和ICMP響應報文返回路徑這兩個方麵。

1. IP TTL複製

MPLS標簽中包含一個8位的TTL域,其含義與IP頭中的TTL域相同。

根據RFC 3031中的描述,LSR節點在對分組壓入標簽時,需要將原IP分組或下層標簽中的TTL值拷貝到新增加的標簽的TTL域。LSR在轉發標簽分組時,對棧頂標簽的TTL值做減一操作。標簽出棧時,再將棧頂的TTL值拷貝回IP分組或下層標簽。

TTL除了用於防止產生路由環路外,也用於實現tracert功能:

l              如果在Ingress節點使能IP TTL複製功能,報文在LSP中經過的每一跳都體現為IP TTL逐跳遞減,tracert的結果將反映報文實際經過的路徑;

l              如果不在Ingress節點使能IP TTL複製功能,則報文在LSP中經過的跳數不會導致IP TTL遞減,tracert的結果不包括MPLS骨幹網絡中每一跳,就好像Ingress路由器與Egress路由器是直連的。

MPLS VPN應用中,出於網絡安全的考慮,需要隱藏MPLS骨幹網絡的結構,這種情況下,對於私網報文,Ingress節點上不能使用TTL的複製功能。

2. ICMP響應報文

MPLS VPN網絡中,P路由器無法對MPLS承載的VPN報文進行路由。當MPLS報文的TTL超時時,ICMP響應報文將按照LSP繼續傳送,到達LSP終點路由器後,再根據IP路由轉發ICMP響應報文。這種處理方式增加了網絡流量和報文轉發時延。

對於僅有一層標簽的MPLS報文,當TTL超時時,直接使用IP路由返回ICMP響應報文。

檢測MPLS LSP

MPLS中,如果LSP轉發數據失敗,負責建立LSPMPLS控製平麵將無法檢測到這種錯誤,這會給網絡維護帶來困難。

MPLS LSP Ping/Traceroute為用戶提供了發現LSP錯誤、並及時定位失效節點的機製。類似於普通IPPing/TracerouteMPLS LSP Ping/Traceroute使用MPLS Echo Request報文和MPLS Echo Reply報文檢測LSP的可用性。MPLS Echo Request中攜帶需要檢測的FEC信息,和其他屬於此FEC的報文一樣沿LSP發送,從而實現對LSP的檢測。

l              MPLS LSP Ping是用於對LSP的有效性、可達性進行檢測的工具。采取方法是通過發送一個叫做MPLS Echo Request的報文,通過LSP的數據轉發,到達出口後,在MPLS域的Egress,由Egress節點的控製平麵確認本LSR是否為該FEC的出口,返回一個叫做MPLS Echo Reply的報文,如果發送方收到該報文,則說明這條LSP可以正確用於數據轉發。

l              MPLS LSP Traceroute是對LSP的錯誤進行定位的工具。采取方法是Echo Request數據包被發送到每一個中間LSR的控製平麵,以確定本LSR是否是此路徑的中間節點。

LDP協議簡介

LDP基本概念

LDP協議規定標簽分發過程中的各種消息以及相關的處理進程。

通過LDPLSR可以把網絡層的路由信息直接映射到數據鏈路層的交換路徑上,進而建立起LSPLSP既可以建立在兩個相鄰的LSR之間,也可以建立在兩個非直連的LSR之間,從而在網絡中所有中間節點上都使用標簽交換。

1. LDP對等體

LDP對等體是指相互之間存在LDP會話、使用LDP來交換標簽/FEC映射關係的兩個LSRLDP對等體通過它們之間的LDP會話獲得對方的標簽映射消息。

2. LDP會話

LDP會話用於在LSR之間交換標簽映射、釋放等消息。LDP會話可以分為兩種類型:

l              本地LDP會話(Local LDP Session):建立會話的兩個LSR之間是直連的;

l              遠端LDP會話(Remote LDP Session):建立會話的兩個LSR之間是非直連的。

3. LDP消息類型

LDP協議主要使用四類消息:

l              發現(Discovery)消息:用於通告和維護網絡中LSR的存在;

l              會話(Session)消息:用於建立、維護和終止LDP對等體之間的會話;

l              通告(Advertisement)消息:用於創建、改變和刪除標簽—FEC綁定;

l              通知(Notification)消息:用於提供建議性的消息和差錯通知。

為保證LDP消息的可靠發送,除了發現階段使用UDP傳輸外,LDPSession消息、Advertisement消息和Notification消息都使用TCP傳輸。

4. 標簽空間與LDP標識符

LDP對等體之間分配標簽的範圍稱為標簽空間(Label space)。可以為LSR的每個接口指定一個標簽空間(per-interface label space),也可以整個LSR使用一個標簽空間(per-platform label space)。

LDP標識符(LDP Identifier)用於標識特定LSR的標簽空間,是一個六字節的數值,格式如下:

<LSR ID><標簽空間序號>

其中,LSR ID占四字節,標簽空間序號占兩字節。標簽空間序號取值為1時表示每個接口指定一個標簽空間;取值為0時表示整個LSR使用一個標簽空間。

LDP標簽分發

7LDP標簽分發示意圖。

圖 7 標簽分發過程

 

例如, 7中的LSP1上,LSR BLSR C的上遊LSR

本章前麵提到,標簽的分發過程有兩種模式,主要區別在於標簽映射的發布是上遊請求(DoD)還是下遊主動發布(DU)。

下麵分別詳細描述這兩種模式的標簽分發過程:

2. DoDdownstream-on-demand)模式

上遊LSR向下遊LSR發送標簽請求消息(Label Request Message),其中包含FEC的描述信息。下遊LSR為此FEC分配標簽,並將綁定的標簽通過標簽映射消息(Label Mapping Message)反饋給上遊LSR

下遊LSR何時反饋標簽映射消息,取決於該LSR采用的標簽分配控製方式。

l              采用Ordered方式時,隻有收到它的下遊返回的標簽映射消息後,才向其上遊發送標簽映射消息;

l              采用Independent方式時,不管有沒有收到它的下遊返回的標簽映射消息,都立即向其上遊發送標簽映射消息。

上遊LSR一般是根據其路由表中的信息來選擇下遊LSR。在 7中,LSP1沿途的LSR都采用Ordered方式,LSP2上的LSR F則采用Independent方式。

3. DUdownstream unsolicited)模式

下遊LSRLDP會話建立成功後,主動向其上遊LSR發布標簽映射消息。上遊LSR保存標簽映射信息,並根據路由表信息來處理收到的標簽映射信息。

LDP基本操作

按照先後順序,LDP的操作主要包括以下四個階段:

l              發現階段

l              會話建立與維護

l              LSP建立與維護

l              會話撤銷

1. 發現階段

在這一階段,希望建立會話的LSR向相鄰LSR周期性地發送Hello消息,通知相鄰節點自己的存在。通過這一過程,LSR可以自動發現它的LDP對等體,而無需進行手工配置。

LDP有兩種發現機製:

l              基本發現機製

基本發現機製用於發現本地的LDP對等體,即通過鏈路層直接相連的LSR,建立本地LDP會話。

這種方式下,LSR周期性以UDP報文形式從接口發送LDP鏈路Hello消息(LDP Link Hello),發往標識“子網內所有路由器”的組播地址。

LDP鏈路Hello消息帶有接口的LDP標識符及其他相關信息,如果LSR在某個接口收到了LDP鏈路Hello消息,則表明在該接口(鏈路層)存在LDP對等體。

l              擴展發現機製

擴展發現機製用於發現遠端的LDP對等體,即不通過鏈路層直接相連的LSR,建立遠端LDP會話。

這種方式下,LSR周期性以UDP報文形式向指定的IP地址發送LDP目標Hello消息(LDP Targeted Hello)。

LDP目標Hello消息帶有LSRLDP標識符及其他相關信息,如果LSR收到LDP目標Hello消息,則表明在網絡層存在LDP對等體。

2. 會話建立與維護

發現鄰居之後,LSR開始建立會話。這一過程又可分為兩步:

(1)        建立傳輸層連接,即,在LSR之間建立TCP連接;

(2)        隨後對LSR之間的會話進行初始化,協商會話中涉及的各種參數,如LDP版本、標簽分發方式、定時器值、標簽空間等。

會話建立後,通過不斷地發送Hello消息和Keepalive消息來維護這個會話。

3. LSP建立與維護

LSP的建立過程實際就是將FEC和標簽進行綁定,並將這種綁定通告LSP上相鄰LSR。這個過程是通過LDP實現的,以DU模式、有序標簽控製方式為例,主要步驟如下:

(1)        當網絡的路由改變時,如果有一個邊緣節點發現自己的路由表中出現了新的目的地址,並且這一地址不屬於任何現有的FEC,則該邊緣節點需要為這一目的地址建立一個新的FEC

(2)        如果此邊緣節點存在上遊LSR,並且尚有可供分配的標簽,則該節點為FEC分配標簽,並向上遊發出標簽映射消息,其中包含分配的標簽等信息。

(3)        收到標簽映射消息的LSR記錄相應的標簽映射信息,若消息由對應FEC的下一跳發送,則將在其標簽轉發表中增加相應的條目。此LSR為它的上遊LSR分配標簽,並繼續向上遊LSR發送標簽映射消息。

(4)        當入口LSR收到標簽映射消息時,在標簽轉發表中增加相應的條目。這時,就完成了LSP的建立,接下來就可以對該FEC對應的數據分組進行標簽轉發了。

4. 會話撤銷

LDP通過檢測Hello消息來判斷鄰接關係;通過檢測Keepalive消息來判斷會話的完整性。

LDP在維持鄰接關係和LDP會話時使用不同的定時器:

l              Hello保持定時器:LDP對等體之間,通過周期性發送Hello消息表明自己希望繼續維持這種鄰接關係。如果Hello保持定時器超時仍沒有收到新的Hello消息,則刪除Hello鄰接關係。

l              Keepalive定時器:LDP對等體之間通過LDP會話連接上傳送的Keepalive消息來維持LDP會話。如果會話保持定時器超時仍沒有收到任何Keepalive消息,則關閉連接,結束LDP會話。

LDP環路檢測

MPLS域中建立LSP也要防止產生環路,LDP環路檢測機製可以檢測LSP環路的出現,並避免發生環路。

如果對MPLS域進行環路檢測,則必須在所有LSR上都配置環路檢測。但在建立LDP會話時,並不要求雙方的環路檢測配置一致。

LDP環路檢測有兩種方式:

1. 最大跳數

在傳遞標簽綁定(或者標簽請求)的消息中包含跳數信息,每經過一跳該值就加一。當該值達到規定的最大值時即認為出現環路,LSP建立失敗。

2. 路徑向量

在傳遞標簽綁定(或者標簽請求)的消息中記錄路徑信息,每經過一跳,相應的設備就檢查自己的LSR ID是否在此記錄中。在以下條件之一時認為出現環路,LSP建立失敗:

l              路徑向量記錄表中已有本LSR的記錄;

l              路徑的跳數達到設置的最大值。

如果記錄中沒有自己的LSR ID,就會將其添加到該記錄中。

LDP 標簽過濾

LDP協議在缺省的情況下,從下遊鄰居接收到的所有FEC的標簽映射(標簽-FEC綁定)都將接受;並按照水平分割的原則向各個上遊鄰居通告FEC的標簽映射。

LDP標簽過濾提供了兩種機製,可以有選擇的接受從指定LDP下遊鄰居接收到的標簽映射、也可以選擇性地向指定LDP上遊鄰居通告指定地址前綴的標簽映射。

1. 標簽接受控製

標簽接受控製(Label Acceptance Control)或入站標簽過濾(Inbound Filtering),選擇性地接受指定下遊設備通告過來的、指定地址前綴的標簽映射。

圖 8 標簽接受控製示意圖

 

 

2. 標簽通告控製

標簽通告控製(Label Advertisement Control)或出站標簽過濾(Outbound Filtering),選擇性地向指定上遊設備通告指定地址前綴的標簽映射。

圖 9 標簽通告控製示意圖

 

 

LDP GR

為了支持GR,在LDP會話建立過程中,LDP設備需要進行GR能力協商。假設LDP會話協商結果為支持GRGR過程如下:

Restarter發生重起後,啟動轉發狀態保持定時器,保留所有MPLS轉發表項,並標記為staleHelper在檢測到與Restarter之間的會話down後,將所有通過此會話學習到的FEC-Label綁定標記為stale,並將這些FEC-Label綁定保留一段時間(時間長度為對端通告來的reconnect time和本地配置的neighbor liveness time中較小者),如果在這段時間內,LDP會話重建失敗,刪除這些標記為staleFEC-Label綁定,如果建立成功,繼續保持Recovery長的一段時間,並在Recovery時間內通過和Restarter之間的標簽映射消息交互,協助Restarter恢複重起前的FEC-Label綁定和清除對應轉發表項的stale標記,Helper收到來自Restarter的相應FEC-Label綁定,清除保留的FEC-Label綁定的stale標記。

Restarter的轉發狀態保持定時器超時,刪除仍舊標記為stale的轉發表項。HelperRecovery時間後,刪除仍舊標記為staleFEC-label綁定。Restarter重起過程中,轉發表項被保留,保證流量不會中斷。

附件下載

聯係我們