一、MPLS概述
MPLS的定義
MPLS(Multiprotocol Label Switching,多協議標簽交換)起源于IPv4(Internet Protocol version 4,因特網協議版本4),最初是為了提高轉發速度而提出的,其核心技術可擴展到多種網絡協議,包括IPv6(Internet Protocol version 6,因特網協議版本6)、IPX(Internet Packet Exchange,網際報文交換)和CLNP(Connectionless Network Protocol,無連接網絡協議)等。MPLS中的“M”指的就是支持多種網絡協議。
MPLS是一種IP(Internet Protocol)骨干網技術。MPLS在無連接的IP網絡上引入面向連接的標簽交換概念,將第三層路由技術和第二層交換技術相結合,充分發揮了IP路由的靈活性和二層交換的簡捷性。
它實際上是一種隧道技術。這種技術不僅支持多種高層協議與業務,而且在一定程度上可以保證信息傳輸的安全性。
當下MPLS存在的意義
解決BGP的路由黑洞
MPLS VPN
MPLS TE 流量工程
二、MPLS相關概念
轉發等價類
MPLS作為一種分類轉發技術,將具有相同轉發處理方式的分組歸為一類,稱為FEC(Forwarding Equivalence Class,轉發等價類)。相同FEC的分組在MPLS網絡中將獲得完全相同的處理。通常對一個FEC分配唯一的標簽。
FEC的劃分方式非常靈活,可以是以源地址、目的地址、源端口、目的端口、協議類型或VPN等為劃分依據的任意組合。例如:
屬于某特定組的組播報文
目的IP地址匹配了某一個特定前綴的報文
根據DCSP字段,有相同QOS策略的報文
MPLS VPN中,屬于同一個VPN的報文
標簽
標簽是一個長度固定,僅具有本地意義的短標識符,用于唯一標識一個分組所屬的FEC。
MPLS domain
LSR構成的網絡區域稱為MPLS域(MPLS Domain) ,是MPLS的工作半徑。
標簽交換路由器
LSR(Label Switching Router,標簽交換路由器)是MPLS網絡中的基本元素,所有LSR都支持MPLS技術。
標簽邊界路由器
LER(Label Edge Router,標簽邊界路由器)可以轉發數據包進入MPLS域,也可以轉發IP包進入或離開MPLS域。
在MPLS域中LSR是轉發帶標簽的數據包,LER可以轉發數據包進入MPLS域,也可以轉發IP包進入或離開MPLS域。
標簽交換路徑
一個轉發等價類在MPLS網絡中經過的路徑稱為LSP(Label Switched Path,標簽交換路徑)。在一條LSP上,沿數據傳送的方向,相鄰的LSR分別稱為上游LSR和下游LSR。
LSP是一個單向路徑,與數據流方向一致。LSP的入口LER稱為入節點(Ingress);位于LSP中間的LSR稱為中間節點(Transit);LSP的出口LER稱為出節點(Egress)。
MPLS MTU
MPLS標簽棧象“墊層”一樣,位于二層數據幀頭和數據之間。在MPLS轉發過程中,雖然網絡層報文長度小于接口的MTU,但是增加MPLS標簽后,報文長度可能超過鏈路層允許發送的范圍,從而導致報文無法正常轉發。為此,設備上定義了MPLS MTU,MPLS轉發時將增加標簽后的報文長度與MPLS MTU比較。報文長度大于MPLS MTU時,如果允許分片,則將報文分片后再進行轉發;如果不允許分片,則直接丟棄。
三、MPLS結構
控制平面:負責產生和維護路由信息以及標簽信息。
IP路由協議:OSPF、ISIS等。
路由信息表RIB(Routing Information Base):由IP路由協議(IP Routing Protocol)生成,用于選擇路由。
標簽分發協議LDP(Label Distribution Protocol):負責標簽的分配、標簽轉發信息表的建立、標簽交換路徑的建立、拆除等工作。
標簽信息表LIB(Label Information Base):由標簽分發協議生成,用于管理標簽信息。
轉發平面:即數據平面(Data Plane),負責普通IP報文的轉發以及帶MPLS標簽報文的轉發。
-轉發信息表FIB(Forwarding Information Base):從RIB提取必要的路由信息生成,負責普通IP報文的轉發。
-標簽轉發信息表LFIB(Label Forwarding Information Base):簡稱標簽轉發表,由標簽分發協議在LSR上建立LFIB,負責帶MPLS標簽報文的轉發。
四、MPLS標簽報文格式
采用幀模式。在二層報頭和三層報頭之間插入MPLS報頭。可以插入一個或多個,這種標簽模式也被稱為幀模式。
靠近二層報頭的叫外層或者高層;靠近三層的叫內層或者低層標簽。當查看完二層報頭發現標簽之后就不再關心三層報頭,直接進行轉發。理論上,MPLS標簽可以無限嵌套。目前MPLS標簽嵌套主要應用在MPLS VPN、TE FRR(Traffic Engineering Fast ReRoute)中。
怎么判斷一個數據包是通過MPLS還是IP轉發呢?
在二層頭部中有一個PID(協議號字段)
PID標識二層頭部后面的報文類型,LSR判斷報文類型
Ethernet :
0x0800 IPv4
0x8847 MPLS單播報文
0x8848 MPLS多播報文
PPP :0x8021 IPv4
0x8281 MPLS單播報文
0x8283 MPLS多播報文
MPLS標簽空間:
標簽空間就是指標簽的取值范圍。標簽空間劃分如下:
0~15:特殊標簽。
16~1023:靜態LSP和靜態CR-LSP(Constraint-based Routed Label Switched Path)共享的標簽空間。
1024及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering)、MP-BGP(MultiProtocol Border Gateway Protocol)等動態信令協議的標簽空間。
PS:MPLS有一些特殊的固定標簽值,在后面會細說,這里不方便理解。
標簽操作類型(Label Operations)
Push:指當IP報文進入MPLS域時,MPLS邊界設備在報文二層首部和IP首部之間插入一個新標簽;或者MPLS中間設備根據需要,在標簽棧頂增加一個新的標簽(即標簽嵌套封裝)。
Swap: 當報文在MPLS域內轉發時,根據標簽轉發表,用下一跳分配的標簽,替換MPLS報文的棧頂標簽。
Pop: 當報文離開MPLS域時,將MPLS報文的標簽去掉。
五、LDP標簽分發協議
LDP簡述
LDP(Label Distribution Protocol,標簽分發協議)是MPLS的控制協議,它相當于傳統網絡中的信令協議,負責FEC的分類、標簽的分配以及LSP之間LDP Session的建立并交換Lebel/FEC映射信息等一系列操作。
通過LDP,LSR可以把網絡層的路由信息直接映射到數據鏈路層的交換路徑上,進而建立起LSP。LSP既可以建立在兩個相鄰的LSR之間,也可以建立在兩個非直連的LSR之間,從而在網絡中所有中間節點上都使用標簽交換。
LDP對等體
LDP對等體(LDP Peer)是指相互之間存在LDP會話、使用LDP來交換標簽/FEC映射關系的兩個LSR。LDP對等體通過它們之間的LDP會話獲得對方的標簽映射消息。
LDP會話
LDP會話用于在LSR之間交換標簽映射、釋放等消息。LDP會話可以分為兩種類型:
本地LDP會話(Local LDP Session):建立會話的兩個LSR之間是直連的;
遠端LDP會話(Remote LDP Session):建立會話的兩個LSR之間是非直連的。
標簽空間與LDP標識符
LDP對等體之間分配標簽的范圍稱為標簽空間(Label space)。可以為LSR的每個接口指定一個標簽空間(per-interface label space),也可以整個LSR使用一個標簽空間(per-platform label space)。
LDP標識符(LDP Identifier)用于標識特定LSR的標簽空間,是一個六字節的數值,格式如下:
?
LSR ID | 標簽空間序號 |
---|---|
4Byte | 2Byte,標簽空間序號取值為1時表示每個接口指定一個標簽空間;取值為0時表示整個LSR使用一個標簽空間 |
?
LDP消息類型:
發現(Discovery message):宣告和維護網絡中一個LSR的存在。
會話(Session message):建立、維護和終止LDP Peers之間的LDP Session。
通知(Advertisement message):生成、改變和刪除FEC的標簽映射。
通告(Notification message):宣告告警和錯誤信息。
為保證LDP消息的可靠發送,除了發現階段使用UDP傳輸外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP傳輸。
LDP消息的作用
? | 消息類型 | 作用 |
---|---|---|
Discovery Message | Hello | LDP發現機制中宜告本LSR并發現鄰居 |
Session Message | Initialization | 在LDP Session建立過程中協商參數 |
Session Message | KeepAlive | 監控LDP Session的TCP連接的完整性 |
Advertisement Message | Address | 宣告接口地址 |
Advertisement Message | Address Withdraw | 撤消接口地址 |
Advertisement Message | Label Mapping | 直告FEC/Label映射信息 |
Advertisement Message | Label Request | 請求FEC的標簽映射 |
Advertisement Message | Label Abort Request | 終止未完成的abel Request Message |
Advertisement Message | Label Withdraw | 撤消FEC/LabeI映射 |
Advertisement Message | Label Release | 釋放標簽 |
Notification Message | Notification | 通知LDP Peer錯誤信息 |
?
LDP的鄰居發現機制
基本發現機制
基本發現機制用于發現本地的LDP對等體,即通過鏈路層直接相連的LSR,建立本地LDP會話。
LSR通過周期性**(5S)地發送Hello Message表明自己的存在。這個消息是封裝在UDP報文中的,源和目的端口號為646**。在LDP基本發現機制中,該消息的目的IP地址為組播I P地址224.0.0.2。
LDP鏈路Hello消息帶有接口的LDP標識符及其他相關信息,如果LSR在某個接口收到了LDP鏈路Hello消息,則表明在該接口(鏈路層)存在LDP對等體。
擴展發現機制
擴展發現機制用于發現遠端的LDP對等體,即不通過鏈路層直接相連的LSR,建立遠端LDP會話。
這種方式下,LSR周期性以UDP報文形式向指定的IP地址發送LDP目標Hello消息(LDP Targeted Hello)。
LDP目標Hello消息帶有LSR的LDP標識符及其他相關信息,如果LSR收到LDP目標Hello消息,則表明在網絡層存在LDP對等體。
LDP Session的建立和維護
過程簡述
發送Hello報文之后發現了鄰居,建立TCP連接(兩端都會發送TCP,transport ip地址大的主動發起連接,目的端口是646,源端口任意)之后發送初始化消息(協商會話中涉及的各種參數,如LDP版本、標簽分發方式、定時器值、標簽空間等),再發送keepalive消息這樣LDP會話就建立完成了,完成之后兩個LSR就成為了LDP Peers,并會交換Advertisement Message。
如果協商過程中發現某些參數不匹配,就會發送Notification錯誤消息。
PS:Transport id默認是和配置的lsr-id一致,因為要用它來建立TCP連接,所以lsr-id一定要是可達的,如果不可達就要手動配置transport id。
LDP狀態機
一開始沒有建立LDP Session的時候是non existent狀態,之后就進入一個初始化狀態INITIALIZED,如果是TCP的主動方(transport id大,處于active狀態的一方),會主動發送初始化消息(在LDP Session建立過程中協商參數),然后自身狀態變成OPENSENT,在此狀態是在等待對方回復他初始化信息,被動方接收到主動方的初始化消息后,他會同時發送init和KeepAlive消息,然后將自身狀態變為OPENREC并等待接收主動方的KeepAlive,主動方接收到被動方的init和KeepAlive消息后,變為OPENREC狀態同時發送KeepAlive消息,被動方收到了主動方的KeepAlive后,二者回變為OPERATIONAL狀態,這樣LDP Session就建立完成了并發送其他LDP消息。
會話撤銷
LDP通過檢測Hello消息來判斷鄰接關系;通過檢測Keepalive消息來判斷會話的完整性。
LDP在維持鄰接關系和LDP會話時使用不同的定時器:
Hello保持定時器:LDP對等體之間,通過周期性發送Hello消息表明自己希望繼續維持鄰接關系。如果Hello保持定時器超時仍沒有收到新的Hello消息,則刪除Hello鄰接關系。
Keepalive定時器:LDP對等體之間通過LDP會話連接上傳送的Keepalive消息來維持LDP會話。如果會話保持定時器超時仍沒有收到任何Keepalive消息,則關閉連接,結束LDP會話。
六、LSP的建立
LSP介紹
IP報文在MPLS網絡中經過的路徑稱為標簽交換路徑LSP (Label Switched Path),這條路徑是在轉發報文之前就已經.通過各種協議確定并建立的,報文會在特定的LSP上傳遞。
LSP是一個單向路徑,與數據流的方向一致。LSP的入口LER稱為入節點(Ingress) ;位于LSP中間的LSR稱為中間節點(Transit) ; LSP的出PLER稱為出節點(Egress) 。一條LSP可以有0個、1個或多個中間節點,但有且只有一個入節點和一個出節點。
靜態LSP的建立
靜態LSP是用戶通過手工為各個轉發等價類分配標簽而建立的。手工分配標簽需要遵循的原則是:上游節點出標簽的值就是下游節點入標簽的值。
由于靜態LSP各節點上不能相互感知到整個LSP的情況,因此靜態LSP是一個本地的概念。
靜態LSP不使用標簽發布協議,不需要交互控制報文,因此消耗資源比較小,適用于拓撲結構簡單并且穩定的小型網絡。但通過靜態方式分配標簽建立的LSP不能根據網絡拓撲變化動態調整,需要管理員干預。
動態LSP的建立
動態LSP通過標簽發布協議動態建立。標簽發布協議是MPLS的控制協議(也可稱為信令協議),負責FEC的分類、標簽的分發以及LSP的建立和維護等一系列操作。
LDP協議分配原則
①路由器LDP默認會為/32主機路由分配標簽。(前提是設備從/32路由的下一跳設備得到了標簽)也可以為/24的網段去分
②如果通過多個鄰居收到一個FEC的標簽,設備會使用本FEC(路由前綴)下一跳設備分配的標簽
七、MPLS與路由協議
LDP通過逐跳方式建立LSP時,利用沿途各LSR路由轉發表中的信息來確定下一跳,而路由轉發表中的信息一般是通過IGP、BGP等路由協議收集的。LDP并不直接和各種路由協議關聯,只是間接使用路由信息。另一方面,通過對BGP、RSVP等已有協議進行擴展,也可以支持標簽的分發。
在MPLS的應用中,也可能需要對某些路由協議進行擴展。例如,基于MPLS的VPN應用需要對BGP進行擴展,使BGP能夠傳播VPN(Virtual Private Network,虛擬專用網)的路由信息;基于MPLS的TE(Traffic Engineering,流量工程)需要對OSPF或IS-IS協議進行擴展,以攜帶鏈路狀態信息。
八、MPLS數據轉發
轉發過程中涉及到的表項
①NHLFE
下一跳標簽轉發表項NHLFE (Next Hop Label Forwarding Entry) 用于指導MPLS報文的轉發。NHLFE包括: Tunnel ID、出接口、下一跳、出標簽、標簽操作類型等信息。
②FTN
FEC到一組NHLFE的映射稱為FTN (FEC-to-NHLFE) 。
通過查看FIB表中Tunnel ID值不為0x0的表項,能夠獲得FTN的詳細信息。FTN只在Ingress(入節點)存在。
③ILM
入標簽到一組下一跳標簽轉發表項的映射稱為入標簽映射ILM (Incoming Label Map)。ILM包括: Tunnel ID、入標簽、入接口、標簽操作類型等信息。
ILM在Transit節點(并不是Ingress節點)的作用是將標簽和NHLFE綁定。通過標簽索引LM表,就相當于使用目的IP地址查詢FIB,能夠得到所有的標簽轉發信息。
④Tunnel ID
為了給使用隧道的上層應用(如VPN、路由管理)提供統一的接口,系統自動為隧道分配了一個ID,也稱為Tunnel ID。 該Tunnel ID的長度為32比特,只是本地有效。
※當IP報文進入MPLS域時,首先查看FIB表,檢查目的IP地址對應的Tunnel ID值是否為0x0。
如果Tunnel ID值為0x0,則進入正常的IP轉發流程。
如果Tunnel ID值不為0x0,則進入MPLS轉發流程。
MPLS查表流程圖
在MPLS轉發過程中, FIB、ILM和NHLFE表項是通過Tunnel ID關聯的
ingress的處理
查看FIB表,根據目的IP地址找到對應的Tunnel ID。
根據FIB表的Tunnel ID找到對應的NHLFE表項,將FIB表項和NHLFE表項關聯起來。
查看NHLFE表項,可以得到出接口、下一跳、出標簽和標簽操作類型,標簽操作類型為Push。
在IP報文中壓入出標簽,并根據QoS策略處理EXP,同時處理TTL,然后將封裝好的MPL S報文發送給下一跳。
Transit的處理
根據MPLS的標簽值查看對應的ILM表,可以得到Tunnel ID。
根據ILM表的Tunnel ID找到對應的NHLFE表項。
查看NHLFE表項,可以得到出接口、下一跳、出標簽和標簽操作類型。
MPLS報文的處理方式根據不同的標簽值而不同。.
如果標簽值>=16,則用新標簽替換MPLS報文中的舊標簽,同時處理EXP和TTL,然后將替換完標簽的MPLS報文發送給下一跳。
如果標簽值為3,則直接彈出標簽(次末跳彈出,這是針對FEC),同時處理EXP和TTL,然后進行IP轉發或下一層標簽轉發。
Egress的處理:通過查詢ILM表指導MPLS報文的轉發或查詢路由表指導IP報文轉發。
如果Egress收到IP報文,則查看路由表,進行IP轉發。
如果Egress收到MPLS報文,則查看ILM表獲得標簽操作類型,同時處理EXP和TTL。
如果標簽中的棧底標識S=1,表明該標簽是棧底標簽,直接進行IP轉發。
如果標簽中的棧底標識S=0,表明還有下一層標簽,繼續進行下一層標簽轉發。
PS:PHP次末跳彈出
為了減輕Egress節點的負擔,提高MPLS網絡對報文的處理能力,可以使最后一跳路由器只進行一次IP查表,但是當需要通過EXP位進行QoS策略時,次末跳彈出會讓QoS非常繁瑣,需要對兩個網段分別配置IP和MPLS的QoS。
固定標簽值
標簽值 | 名稱 | 詳細信息 |
---|---|---|
0 | IPV4 Explicit Null Lable IPV4顯式空標簽 | 表示該標簽必須被彈出(即標簽被剝掉),且報文的轉發必須基于IPv4。如果出節點分配給倒數第二跳節點的標簽值為0,則倒數第二跳LSR需要將值為0的標簽正常壓入報文標簽值頂部,轉發給最后一跳。最后一跳發現報文攜帶的標簽值為0,則將標簽彈出。 |
1 | Router Alert Label 路由器報警標簽 | 只有出現在非棧底時才有效。類似于IP報文的“Router Alert Option”字段,節點收到Router Alert Label時,需要將其送往本地軟件模塊進一步處理。實際報文轉發由下一層標簽決定。如果報文需要繼續轉發,則節點需要將Router Alert Label壓回標簽棧頂。 |
2 | IPv6 Explicit NULL Label IPV6顯式空標簽 | 表示該標簽必須被彈出,且報文的轉發必須基于IPv6。如果出節點分配給倒數第二跳節點的標簽值為2,則倒數第二跳節點需要將值為2的標簽正常壓入報文標簽值頂部,轉發給最后一跳。最后一跳發現報文攜帶的標簽值為2,則直接將標簽彈出。 |
3 | lmplicit NULL Label 隱式空標簽 | 倒數第二跳LSR進行標簽交換時,如果發現交換后的標簽值為3,則將標簽彈出,并將報文發給最后一跳。最后一跳收到該報文直接進行IP轉發或下一層標簽轉發。 |
4~13、15 | 保留 | ? |
14 | OAM Router Alert Label | MPLS OAM(Operation Administration & Maintenance)通過發送OAM報文檢測和通告LSP故障。OAM報文使用MPLS承載。OAM報文對于Transit LSR和倒數第二跳LSR(penultimate LSR)是透明的。 |
16~1023 | ? | 靜態LSP使用 |
1024以上 | ? | LDP、RSVP-TE、 MP-BGP使用 |
九、MPLS環路檢測
MPLS對TTL的處理——Uniform(統一)模式
IP報文經過MPLS網絡時,在入節點,IP TTL減1映射到MPLS TTL字段,此后報文在MPLS網絡中按照標準的TTL處理方式處理。在出節點將MPLS TTL減1后映射到IP TTL字段。如上圖所示。
MPLS對TTL的處理二——Pipe(管道)模式
在入節點,IP TTL值減1,MPLS TTL字段為固定值,此后報文在MPLS網絡中按照標準的TTL處理方式處理。在出節點會將IP TTL字段的值減1。即IP分組經過MPLS網絡時,無論經過多少跳,IP TTL只在入節點和出節點分別減1。如上圖所示。
MPLS域透明化,在IP上將其看為一跳。
TTL對ICMP響應報文的影響
在MPLS網絡中,當LSR收到TTL為1的含有標簽的MPLS報文時,LSR生成ICMP的TTL超時消息。
如果LSR上存在到達報文發送者的路由,則可以通過IP路由,直接向發送者回應TTL超時消息。
如果LSR上不存在到達報文發送者的路由,則ICMP響應報文將按照LSP繼續傳送,到達LSP出節點后,由Egress節點將該消息返回給發送者。
通常情況下,收到的MPLS報文只帶一層標簽時,LSR可以采用第一種方式回應TTL超時消息;收到的MPLS報文包含多層標簽時,LSR采用第二種方式回應TTL超時消息。
但是,在MPLS VPN中,ASBR(Autonomous System Boundary Router,自治系統邊界路由器)和HoVPN組網應用中的SPE(Superstratum PE or Sevice Provider-end PE,上層PE或運營商側PE),接收到的承載VPN報文的MPLS報文可能只有一層標簽,此時,這些設備上并不存在到達報文發送者的路由,則采用第二種方法回應TTL超時消息。
十、對MPLS LSP的檢測
在MPLS中,如果LSP轉發數據失敗,負責建立LSP的MPLS控制平面將無法檢測到這種錯誤,這會給網絡維護帶來困難。
MPLS LSP Ping/Traceroute為用戶提供了發現LSP錯誤、并及時定位失效節點的機制。類似于普通IP的Ping/Traceroute,MPLS LSP Ping/Traceroute使用MPLS Echo Request報文和MPLS Echo Reply報文檢測LSP的可用性。MPLS Echo Request中攜帶需要檢測的FEC信息,和其他屬于此FEC的報文一樣沿LSP發送,從而實現對LSP的檢測。
MPLS LSP Ping是用于對LSP的有效性、可達性進行檢測的工具。采取方法是通過發送一個叫做MPLS Echo Request的報文,通過LSP的數據轉發,到達出口后,在MPLS域的Egress,由Egress節點的控制平面確認本LSR是否為該FEC的出口,返回一個叫做MPLS Echo Reply的報文,如果發送方收到該報文,則說明這條LSP可以正確用于數據轉發。
MPLS LSP Traceroute是對LSP的錯誤進行定位的工具。采取方法是Echo Request數據包被發送到每一個中間LSR的控制平面,以確定本LSR是否是此路徑的中間節點。
十一、LDP的標簽管理
LDP標簽空間
①基于平臺的標簽空間
不管是通過哪個接口,分發給哪個鄰居,一個FEC分發的標簽是一樣的。
弊端:攻擊人可以根據要攻擊的FEC的標簽值,發送一個不合法但標簽值相同的數據。
不管用多少接口,都要為每個接口分配不同的標簽值,標簽數據庫會非常大,但是比較安全
LDP標簽分發方式
DU(Downstream Unsolicited下游自主)
對于一個特定的FEC,LSR無需從上游獲得標簽請求消息即進行標簽分配與分發。下游LSR在LDP會話建立成功后,主動向其上游LSR發布標簽映射消息。上游LSR保存標簽映射信息,并根據路由表信息來處理收到的標簽映射信息。
DoD(Downstream on Demand下游按需)
游LSR向下游LSR發送標簽請求消息(Label Request Message),其中包含FEC的描述信息。下游LSR為此FEC分配標簽,并將綁定的標簽通過標簽映射消息(Label Mapping Message)反饋給上游LSR。
具有標簽分發鄰接關系的上游LSR和下游LSR之間必須使用相同的標簽發布方式,否則LSP無法正常建立。
LDP標簽控制方式
Independent獨立
采用Independent獨立控制方式時,每個LSR隨時可以向鄰居發送標簽幀映射。(不管有沒有收到它的下游返回的標簽映射消息,都立即向其上游發送標簽映射消息)
Ordered有序
當標簽控制方式時Ordered,只有當LSR收到特定FEC下一跳發送的特定FEC標簽映射消息或者LSR是LSP的出口節點時,LSR才可以向上游發送標簽映射消息。(只有收到它的下游返回的標簽映射消息后,才向其上游發送標簽映射消息)
LDP標簽保持方式
Conservative保守
當使用DU標簽分發方式時,LSR可能從多個LDP Peer收到到同一網段的標簽映射消息,如果采用Conservative保持方式,則路由器只保留IP路由表中下一跳發來的標簽,丟棄非下一跳發來的標簽。
Liberal自由
如果采用Liberal保持方式,路由器會保留所有LDP Peer發來的標簽,無論該LDP Peer是否為到達目的網段的下一跳。
使用自由標簽保持方式,LSR能夠迅速適應路由變化;而使用保守標簽保持方式,LSR可以分配和保存較少的標簽數量。
保守標簽保持方式通常與DoD方式一起,用于對于標簽空間有限的LSR。
十二、LDP 標簽過濾
LDP協議在缺省的情況下,從下游鄰居接收到的所有FEC的標簽映射(標簽-FEC綁定)都將接受;并按照水平分割的原則向各個上游鄰居通告FEC的標簽映射。
LDP標簽過濾提供了兩種機制,可以有選擇的接受從指定LDP下游鄰居接收到的標簽映射、也可以選擇性地向指定LDP上游鄰居通告指定地址前綴的標簽映射。
標簽接受控制
標簽接受控制(Label Acceptance Control)或入站標簽過濾(Inbound Filtering),選擇性地接受指定下游設備通告過來的、指定地址前綴的標簽映射。
標簽通告控制
標簽通告控制(Label Advertisement Control)或出站標簽過濾(Outbound Filtering),選擇性地向指定上游設備通告指定地址前綴的標簽映射。
十三、MPLS與路由協議
LDP通過逐跳方式建立LSP時,利用沿途各LSR路由轉發表中的信息來確定下一跳,而路由轉發表中的信息一般是通過IGP、BGP等路由協議收集的。LDP并不直接和各種路由協議關聯,只是間接使用路由信息。另一方面,通過對BGP、RSVP等已有協議進行擴展,也可以支持標簽的分發。
在MPLS的應用中,也可能需要對某些路由協議進行擴展。例如,基于MPLS的VPN應用需要對BGP進行擴展,使BGP能夠傳播VPN(Virtual Private Network,虛擬專用網)的路由信息;基于MPLS的TE(Traffic Engineering,流量工程)需要對OSPF或IS-IS協議進行擴展,以攜帶鏈路狀態信息。
LDP IGP同步
LDP和IGP同步功能主要用來解決在LSP存在主備鏈路的組網中,主LSP發生故障,導致的流量丟失問題。
具體情況如下:
當主鏈路發生故障時,IGP流量和LSP流量均切換到備份鏈路上。但當主鏈路從故障中恢復時,由于IGP比LDP收斂速度快,IGP會 先于LDP切換回主鏈路,因此造成LSP流量丟失。
當主鏈路正常,但主鏈路節點間的LDP會話發生故障時,LSP流量從主鏈路切換到備份鏈路,而IGP流量繼續從主鏈路轉發,導致LSP流量丟失。
十四、MPLS常問問題
路由器是如何判斷一個數據包是IP包還是標簽包。
答:在二屋協議號中,如果協議號為:0X0800就是IP包,如果是0X8847或0X8848就是MPLS包。
MPLS在OSI參考模型中是幾層?
答:MPLS介于二層與三層之間,插入了4個BYTE的長度。
3 .分發標簽的方式有哪些?
答:有下游請求(down-stream on demand,簡稱DoD)和主動分發(DU)兩種
4.有哪些獨立的標簽分發協議?
答:協議就是TDP和LDP啊!
5 .談談TDP和LDP的區別
答:TDP是思科的私有協議,用TCP/UDP 711端口,LDP是業界標準,用TCP/LDP 646端口
在ip路由表中,LDP為每一條前綴都會進行一個本地綁定,這句話對嗎?如果不對請說明原因。
答:不精確,LDP是不對BGP路由分標簽的。
標簽交換有哪幾種動作。
答:壓標簽、彈標簽、交換標簽
哪些標簽是被用于保留的.
答:其中4至13、15是被保留的。
哪一個標簽用于通知倒數第二跳LSR使用倒數第二跳標簽移除(POP)機制?
答:就是標簽3,又叫隱式空標簽。
審核編輯:黃飛
評論
查看更多