MPLS基礎:
1)、標籤交換路由器LSR(Label Switching Router):能夠進行 MPLS 標籤交換和報文轉發的網絡設備;
2)、MPLS域(MPLS Domain):由 LSR 構成的網絡區域;
3)、邊緣路由器 LER(Label Edge Router):位於 MPLS 域邊緣、鏈接其它網絡的 LSR;
4)、核心 LSR(Core LSR):區域內部的 LSR;
5)、標籤交換路徑 LSP(Label Switched Path):IP 報文在 MPLS 網絡中通過的路徑。
6)、入節點(Ingress):LSP 的入口 LER;
7)、中間節點(Transit):位於 LSP 中間的 LSR;
8)、出節點(Egress):LSP 的出口 LER。
注:一條 LSP能夠有 0 個、 1 個或多箇中間節點,但有且只有一個入節點和一個出節點。數據庫
MPLS體系結構:
MPLS 的體系結構由控制平面(Control Plane)(無鏈接)和轉發平面(Forwarding Plane)(面向鏈接)組成。
1.首先根據路由協議構建路由信息數據庫(這個是路由表)
2.路由信息數據庫會生成轉發信息數據庫(這個不是路由表,是轉發信息數據庫)
3.LDP協議會根據路由信息數據庫生成標籤轉發信息數據庫,用於標籤轉發的LFIB表跨域
數據包通過流程:當一個IP包到達LER時,首先查找FIB表,FIB表是根據路由表所生成的,經過dis fib命令能夠看到FIB表裏有目的地址/掩碼,下一跳地址,flag,出接口以及tunnel-ID。
一、當一個IP包進入LER時,首先查看FIB表中的tunnel ID字段是否爲0,若是是0,就根據FIB表中的下一跳地址,出接口等信息直接發送出去;若是不爲0,就去查找LFIB表,而後根據標籤進行轉發。
二、當一個帶有標籤的數據包進入LER時,直接查找LFIB表,根據LFIB表中的信息進行交換轉發。(FIB表至關於在2.5和3層之間的表;而LFIB表至關於2和2.5層之間的表)網絡
MPLS標籤:
一、 轉發等價類:將具備相同特徵的報文歸爲一類,稱爲轉發等價類 FEC(Forwarding Equivalence Class)。
二、 標籤:標籤(Label)是一個短而定長的、只具備本地意義的標識符,用於惟一標識一個分組所屬的 FEC。
三、 MPLS報文格式:
1)、Label:20比特,標籤值字段,用來標識一個FEC。
2)、EXP:3比特,用於擴展。如今一般用作CoS(Class of Service),其做用與Ethernet802.1p的做用相似。
3)、S:1比特,MPLS支持多重標籤。值爲1時表示爲最底層標籤。
4)、TTL:8比特,和IP分組中的TTL意義相同,能夠用來防止環路。
四、 標籤操做類型:
標籤壓入(Push)、標籤交換(Swap)和標籤彈出(Pop)。
五、 標籤分發協議:
1)、LDP
2)、RSVP-TE
3)、MP-BGP
4)、靜態ide
LSP的創建:
MPLS 須要爲報文事先分配好標籤,創建一條 LSP,才能進行報文轉發。標籤由下游分配,按從下游到上游的方向分發。(LSP是一個單向的路徑)
一、 LDP鄰居創建原理:
1)、首先運行LDP協議的設備每隔4s(大概)向MA網絡中發送hello報文,報文的源地址爲出接口地址,目的地址爲224.0.0.2,使用UDP協議,源目端口都爲646(全部路由器都監控這個地址);
2)、發現鄰居以後,就發送初始化報文,協商能力(是以mpls lsr-id爲源目地址,從發現了鄰居以後,都是單播報文)這個時候爲TCP協議,主動發起端源端口爲隨機高端口,目的端口爲TCP 646(對端回包端口就反過來);
3)、相互之間發送地址信息報文,包括本身全部直連地址;
4)、相互之間發送標籤映射信息報文,針對本身和已經收到的FEC分配標籤,並將標籤信息以單播方式發送給鄰居(注意:華爲只爲主機路由分配標籤);
5)、將本身生成的標籤和收到的標籤都放入標籤信息數據庫裏(dis mpls ldp lsp);
6)、根據標籤信息數據庫生成標籤轉發信息表(LFIB,dis mpls lsp),全部的數據是查找這個表進行標籤轉發的。
二、 RSVP-TE:(Resource Reservation Protocol Traffic Engineering)是對 RSVP 的擴展,用於基於約束的 LSP 的創建和刪除。
三、 MP-BGP:支持爲 MPLS ××× 業務中私網路由和跨域 ××× 的標籤路由分配標籤。ui
MPLS詳細轉發過程:
一、NHLFE(也叫LFIB表):下一跳標籤轉發表項 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 節點的做用是將標籤和 NHLFE 綁定。經過標籤索引 ILM 表,就至關於使用目的 IP 地址查詢 FIB,可以獲得全部的標籤轉發信息。
四、Tunnel ID:Tunnel ID 的長度爲 32 比特,只是本地有效。
五、具體報文轉發流程:
1)、當一個IP包到達LER時,首先查找FIB表,FIB表是根據路由表所生成的,經過dis fib命令能夠看到FIB表裏有目的地址/掩碼,下一跳地址,flag,出接口以及tunnel-ID。
2)、當一個IP包進入LER時,首先查看FIB表中的tunnel ID字段是否爲0,若是是0,就根據FIB表中的下一跳地址,出接口等信息直接發送出去;若是不爲0,就去查找LFIB表,而後根據標籤進行轉發。
3)、當一個帶有標籤的數據包進入LER時,直接查找LFIB表(內容與ILM表同樣),根據LFIB表中的信息進行交換轉發。3d
MPLS環路檢測方法:
一、IGP防環機制(控制層面)
二、TTL(數據層面)orm
MPLS對TTL的處理模式:
一、 Uniform 模式(默認模式):
當收到一個IP包時,首先將IP報文中的TTL減1,而後再copy到MPLS的TTL中,而後在MPLS域中傳遞的時候,每通過一跳,都會減去MPLS中的TTL值,到了出MPLS域的時候(如次末跳彈出),就將MPLS中的TTLcopy回IP的TTL中,已達到防環的機制。
二、 Pipe 模式:
當收到一個IP包時,首先將IP的TTL減1,而後不會copyIP的TTL到MPLS的TTL,會直接給MPLS的TTL置爲255,IP的TTL仍是保持原來的不變,當出MPLS域的時候,纔開始繼續IP的TTL值。blog