MPLS介紹及基本配置

轉載來源:https://baijiahao.baidu.com/s?id=1652897123752919441&wfr=spider&for=pc

MPLS(Multi-Protocol Label Switching)的概念是在一個封包中加入Label(標籤)。這個標籤是加在二層頭部與三層頭部之間的一串32 bits標識,所以MPLS又叫作2.5層,其中的20 bits爲標籤值。路由器會根據這個標籤值去判斷封包的下一跳(Next Hop),使用這種方法,路由器不用再去查找路由表即可以決定如何處理封包,傳輸效率便可大大提升。這裏所說的傳輸效率大大提升是有年代感的一句話,早期網絡設備架構爲集中架構,也就是轉控一體式架構,在轉發量特別大的時候會嚴重消耗設備的處理能力,轉發效率自然會受到較大的影響。當時推出MPLS的主要目的也是爲了減少轉發量,以降低設備的壓力,從而提高轉發效率,相較於傳統IP轉發原理,MPLS確實做到了這一點。但是在當今的網絡環境下,網絡設備已經實現了架構的大轉變,由原來的一體式集中架構變成了轉控分離式架構,比如一臺設備中分爲交換板與控制板,這種架構在硬件上就解決了集中式架構的低效率問題,並且設備本身的性能也大大提升,所以現在如果還是說採用MPLS會使得傳輸效率大大提升是一句不嚴禁的話。就當今網絡而言,MPLS最大的用處就是MPLS VPN。當初MPLS在設計中所使用的標籤功能讓其在現代網絡中又找到了新的用武之地,當初認爲並不是很主要的一個功能讓其沒有被完全淘汰掉,除了MPLS VPN,現在已經找不到它的一點點用處,這也正是有心栽花花不開,無心插柳柳成蔭。

 

名詞解釋● LER(Label Edge Router):在MPLS網絡中,用於標籤的壓入或彈出。● LSR(Label Switched Router):在MPLS網絡中,用於標籤的交換。根據數據流的方向,LSP的入口LER被稱爲入節點(Ingress);位於LSP中間的LSR被稱爲中間節點(Transit);LSP的出口LER被稱爲出節點(Egress)。● Ingress LSR: 在下圖的拓撲中,如果封包是從R1到R6,R1是封包進入MPLS網絡遇到的第一個路由器,那麼R1就是Ingress Router,稱爲Ingress LSR。Ingress Router主要是幫助進入MPLS網絡的封包加上Label(標籤)。● Egress LSR: 當封包將要離開MPLS網絡時,它經過的最後一個Router就是Egress LSR。Egress LSR的責任是幫封包移除標籤。在處圖拓撲中,R6就是Egreess LSR。● LSP(Label Switched Path):標籤交換路徑,即到達同一目的地址的報文在MPLS網絡中經過的路徑。● FEC(Forwarding Equivalent Class):轉發等價類,一般指具有相同轉發處理方式的報文。在MPLS網絡中,到達同一目的地址的所有報文就是一個FEC。

 

MPLS體系結構● 控制平面:負責產生和維護路由信息以及標籤信息。 ▲ 路由信息表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):簡稱標籤轉發表,由標籤分發協議建立LFIB,負責帶MPLS標籤報文的轉發。● MPLS路由器上,報文的轉發過程: ▲ 當收到普通IP報文時,查找FIB表,如果Tunnel ID爲0x0,則進行普通IP轉發;如果查找FIB表,Tunnel ID爲非0x0,則進行MPLS轉發。 ▲ 當收到帶標籤的報文時,查找LFIB表,如果對應的出標籤是普通標籤,則進行MPLS轉發;查找LFIB表,如果對應的出標籤是特殊標籤,如標籤3,則將報文的標籤去掉,進行IP轉發。

 

靜態LSP與動態LSP靜態LSP的特點:● 不使用標籤發佈協議,不需要交互控制報文,資源消耗比較小。● 通過靜態方式建立的LSP不通根據網絡拓撲變化動態調整,需要人工干預。● 靜態LSP適用於拓撲結構簡單並且穩定的網絡。● 配置靜態LSP時,管理員需要爲各路由器手工分配標籤,需要遵循的原則是:前一節點出標籤的值等於下一個節點入標籤的值。動態LSP的特點:● 動態LSP通過LDP協議實現對FEC分類、標籤的分配以及LSP的建立和維護操作。● 組網配置簡單,易於管理和維護。● 支持基於路由動態建立LSP,網絡拓撲發生變化時,能及時反應網絡狀況。● 如下圖所示,Egress路由器RTD爲本地存在的路由分配標籤,並將路由和標籤的綁定關係主動發送給上游鄰居路由器RTC。● 路由器RTC收到下游鄰居路由器RTD的路由和標籤的綁定關係後,將其記錄到LIB中,並將自己分配的標籤和路由的綁定關係發送給上游鄰居路由器RTB● RTB執行相同的動作將標籤和路由的綁定關係發送給上游鄰居路由器RTA,RTA爲Ingress路由器,沒有上游鄰居,因此動態的LSP完成建立。

 

MPLS標籤的發佈方式標籤的發佈方式:● DU(Downstream Unsolicited,下游自主方式):對於一個到達同一目地址報文的分組,LSR無需從上游獲得標籤請求消息即可進行標籤分配與分發。● DoD(Downstream on Demand,下游按需方式):對於一個到達同一目的地址報文的分組,LSR獲得標籤請求消息之後才進行標籤分配與分發。如圖所示拓撲:● 採用DU方式分發標籤,對於目的地址爲100.1.1.1/32的分組,下游RTD(Egress)通過標籤映射消息主動向上游RTC(Transit)通告自己主機路由100.1.1.1/32的標籤。● 採用DoD方式分發標籤,對於目的地址爲100.1.1.1/32的分組,上游RTC(Transit)向下遊發送標籤請求消息,下游RTD(Egress)收到標籤請求消息後,纔會向上遊發送標籤映射消息。● 華爲設備默認採用DU的方式發佈標籤。● DU無需等待上游的請求消息,可以直接向鄰居分配標籤。在網絡拓撲發生變化時,採用DU方式可以快速反應爲新的拓撲分發標籤,收斂時間相對於DoD方式較短。

 

MPLS標籤的分配控制方式:● Independent(獨立標籤分配控制方式):本地LSR可以自主地分配一個標籤綁定到某個IP分組,並通告給上游LSR,而無需等待下游的標籤。● Ordered(有序標籤分配控制方式):只有當該LSR已經具有此IP分組的下一跳的標籤,或者該LSR就是該IP分組的出節點時,該LSR纔可以向上遊發送此IP分組的標籤。如圖所示拓撲:採用Independent方式:● 如果標籤發佈方式爲DU,且標籤分配控制方式爲Independent,則RTC(Transit)無需等待下游RTD(Egress)的標籤,就會直接向上遊RTB分發標籤。● 如果標籤發佈方式爲DoD,且標籤分配控制方式爲Independent,則發送標籤請求的RTB(Transit)的直連下游RTC(Transit)會直接回應標籤,而不必等待來自下游RTD(Egress)的標籤。採用Ordered方式:● 如果標籤發佈方式爲DU,且標籤分配控制方式爲Ordered,則RTC(Transit)只有收到下游RTD(Egress)的標籤,纔會向上遊RTB分發標籤。● 如果標籤發佈方式爲DoD,且標籤分配控制方式爲Ordered,則發送標籤請求的RTB(Transit)的直連下游RTC(Transit)只有收到下游RTD(Egress)的標籤,纔會向上遊RTB分發標籤。

 

MPLS標籤的保持方式:● Liberal(自由標籤保持方式):對於從鄰居LSR收到的標籤映射,無論鄰居LSR是不是自己的下一跳都保留。● Conservative(保守標籤保持方式):對於從鄰居LSR收到的標籤映射,只有當鄰居LSR是自己的下一跳時才保留。當網絡拓撲變化引起下一跳鄰居改變時:● 使用自由標籤保持方式,LSR可以直接利用原來非下一跳鄰居發來的標籤,迅速重建LSP,但需要更多的內存和標籤空間。● 使用保守標籤保持方式,LSR只保留來自下一跳鄰居的標籤,節省了內存和標籤空間,但LSP的重建會比較慢。● 華爲設備默認採用自由標籤保持方式保存標籤。如圖所示拓撲,路由表中,RTB通過RTD到達100.1.1.1/32的路徑最優,RTB從RTC收到分配給100.1.1.1/32的標籤處理方式有以下兩種:● 一是RTB保留從RTC收到的標籤信息。● 二是RTB不保留從RTC收到的標籤信息,前者稱爲Liberal方式,後者稱爲Conservative方式。

 

PHP(Penultimate Hop Popping)PHP:倒數第二跳彈出,具體過程如下:● RTC收到RTB發送的帶標籤1026的報文,醒找LFIB表,發現發配的出標籤爲隱式空標籤3,於是執行彈出標籤的動作,並將IP數據包轉發給下游路由器RTD。● RTD收到RTC發送的IP報文,直接查找自己的FIB表,根據FIB表中的出接口進行IP數據的封裝並轉發。

 

MPLS配置演示1、下面我們根據下圖中的拓撲來演示一下MPLS的配置,這裏IGP我們使用IS-IS協議,併爲各設備配置Loopback0,使用LDP創建LSP,我們採用動態LSP。其實MPLS基本配置的內容不多,配置非常簡單,主要是要明白其中的各種原理。

 

2、地址規劃如下,首先做好基本配置,確保IS-IS工作正常,這裏就不再演示基本配置了。Loopback 0: R1: 1.1.1.1/32 R2: 2.2.2.2/32 R3: 3.3.3.3/32 R4: 4.4.4.4/32 R5: 5.5.5.5/32 R6: 6.6.6.6/32NET地址: R1:10.0001.0000.0000.1001.00 R2:10.0002.0000.0000.2001.00 R3:10.0002.0000.0000.3001.00 R4:10.0001.0000.0000.4001.00 R5:10.0002.0000.0000.5001.00 R6:10.0002.0000.0000.6001.00

 

3、首先在各交換機上全局使能MPLS和MPLS LDP,注意LSR-ID要使用L0的地址,這個ID與其它協議不同,這個是真正的地址。 mpls lsr-id 2.2.2.2 mpls mpls ldp4、然後在相應接口上使能MPLS和MPLS LDP,例如R2的g0/0/0接口 int gg0/0/0 mpls mpls ldp5、需要注意的是,華爲LDP默認只會爲32位主機路由分配標籤,所以需要注意環回口L0地址的配置是否正確。

 

6、在所有路由器上配置完成後,可通過以下命令查看MPLS LDP和LSP狀態,如下圖以R2爲例。dis mpls ldpdis mpls lsp

 

7、在R1上通過MPLS ping R6ping lsp -a 1.1.1.1 ip 6.6.6.6 32

 

8、通過Tracert查看R1到R6的路徑。tracert lsp -a 1.1.1.1 ip 6.6.6.6 32

 

9、通過抓包,可以看到MPLS的標籤,可以與前面查看的LSP進行對照。這裏是在R1上進行的抓包。

 

10、查看R6的MPLS Route和IP路由表,可以看到R6並沒有到R1的路由。但是二者之間卻可以ping通,就是MPLS標籤的功勞。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章