MPLS 協議

MPLS 概述

MPLS (Multi-Protocol Label Switching, 多協議標籤交換)
根據數據流的方向,LSP 的入口 LER 被稱爲入節點(Ingress);位於 LSP 中間的 LSR 被稱爲中間節點(Transit);LSP 的出口 LER 被稱爲出節點(Egress)。
在這裏插入圖片描述

MPLS 基本網絡結構

在這裏插入圖片描述

LSP(Label Switched Path):標籤交換路徑,即到達同一目的地址的報文在MPLS網絡中經過的路徑。
FEC(Forwarding Equivalent Class):一般指具有相同轉發處理方式的報文。
在MPLS網絡中,到達同一目的地址的所有報文就是一個FEC(FEC 轉發等價類)

 

MPLS 數據報文結構

標籤是一個短而定長的、只有本地意義的標識,用於唯一標識去往同一目的地址的報文分組
0~15: 特殊標籤。如標籤 3,稱爲隱式空標籤,用於倒數第二跳彈出;
16~1023: 靜態 LSP 和靜態 CR-LSP(Constraint-based Routed Label
Switched Path)共享的標籤空間;
1024 及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic
Engineering)、MP-BGP
在這裏插入圖片描述

LSP建立方式

建立LSP的方式有兩種:
·靜態LSP:用戶通過手工方式爲各個轉發等價類分配標籤建立轉發隧道
·動態LSP:通過標籤發佈協議動態建立轉發隧道

靜態LSP

在這裏插入圖片描述靜態LSP的特點:
·不使用標籤發佈協議,不需要交互控制報文,資源消耗比較小
·通過靜態方式建立的LSP不能根據網絡拓撲變化動態調整,需要管理員干預
·靜態LSP適用於拓撲結構簡單並且穩定的網絡

實驗:在這裏插入圖片描述

1.運行IBGP協議,運行OSPF
R1:
ospf router-id 1.1.1.1
area 0
net 192.168.12.1 0.0.0.0
net 1.1.1.1 0.0.0.0

R2:
ospf router-id 2.2.2.2
area 0
net 192.168.12.2 0.0.0.0
net 192.168.23.2 0.0.0.0
net 2.2.2.2 0.0.0.0

R3:
ospf router-id 3.3.3.3
area 0
net 192.168.23.3 0.0.0.0
net 3.3.3.3 0.0.0.0


2.配置靜態 MPLS
先要有 lsr-id,而且全局開了 也要去接口開啓。
R1:
mpls lsr-id 1.1.1.1
mpls
int g0/0/0
mpls

R2:
mpls lsr-id 2.2.2.2
mpls
int g0/0/0
mpls
int g0/0/1
mpls

R3:
[R3]mpls lsr-id 3.3.3.3
[R3]mpls
[R3-mpls]int g0/0/1
[         ]mpls

3.設置角色
ingress,transit,egress
設置ingress角色
[R1]static-lsp ingress r1tor3 destination 3.3.3.3 32 next-hop 192.168.12.2 out-label 102

設置transit角色
[R2]static-lsp transit r1tor3 incoming-interface g0/0/0 in-label 102 nexthop 192.168.23.3 out-label 203

設置egress角色
[R3]static-lsp egrerss r1tor3 incoming-interface g0/0/1 in-label 203

4.測試驗證
直接ping是 IP報文,做逐跳查找的。所以應該 ping lsp ip 3.3.3.3 32

dis mpls lsp 查看標籤交換路徑
在這裏插入圖片描述

tracert lsp ip 3.3.3.3 32
在這裏插入圖片描述

R3 去ping, ping lsp ip 1.1.1.1 不通,因爲在R3路由器沒有LSP
如果要的話,ingress和egress要互換,在R3上配 r3tor1,如果名字一樣會被覆蓋
[R3]static-lsp ingress r3to31 destination 1.1.1.1 32 nexthop 192.168.23.2 out-label 302
[R2]static-lsp transit r3tor1 incoming-interface g0/0/1 in-label 302 nexthop 192.168.12.1 out-label 201
[R1]static-lsp egress r3tor1 incoming-interface g0/0/0 in-label 201
[R3]ping lsp ip 1.1.1.1 32
[R3]tracert lsp ip 1.1.1.1 32

 

動態LSP

在這裏插入圖片描述·動態LSP通過LDP協議實現對FEC的分類、標籤的分配及LSP的建立和維護等操作。
·動態LSP的特點:
 組網配置簡單,易於管理和維護
 支持基於路由動態建立LSP,網絡拓撲發生變化時,能及時反映網絡狀態

mpls lsr-id 1.1.1.1
mpls
mpls ldp
int g0/0/0
mpls
mpls ldp

display mpls ldp interface 查看LDP接口
display mpls ldp session 查看LDP會話
display mpls ldp
LSR在LDP會話中的角色:
Active:LSR ID值較大的一方表示建立LDP會話的主動方
Passive:LSR ID值較小的一方表示建立LDP會話的被動方
都是針對動態的
 
在這裏插入圖片描述
 

 
在這裏插入圖片描述

標籤的發佈方式:華爲採用 DU 下游自主
DU(Downstream Unsolicited,下游自主方式): —— 主動向上游通告標籤
對於一個到達同一目地址報文的分組,LSR無需從上游獲得標籤請求消息即可進行標籤分配與分發。
DoD(Downstream on Demand,下游按需方式):
對於一個到達同一目的地址報文的分組,LSR獲得標籤請求消息之後才進行標籤分配與分發。

標籤的分配控制方式:華爲採用 Ordered 有序標籤分配控制
Independent(獨立標籤分配控制方式):本地LSR可以自主地分配一個標籤綁
定到某個IP分組,並通告給上游LSR,而無需等待下游的標籤。
Ordered(有序標籤分配控制方式):只有當該LSR已經具有此IP分組的下一跳
的標籤,或者該LSR就是該IP分組的出節點時,該LSR纔可以向上遊發送此IP分
組的標籤。
Label Distribution Mode:Ordered

標籤的保持方式:華爲採用 Liberal 自由標籤保持
Liberal(自由標籤保持方式):對於從鄰居LSR收到的標籤映射,無論鄰居LSR
是不是自己的下一跳都保留。
Conservative(保守標籤保持方式):對於從鄰居LSR收到的標籤映射,只有當
鄰居LSR是自己的下一跳時才保留。
Label Retention Mode:Liberal

 

LDP建立LSP操作

在這裏插入圖片描述 

瞭解:爲什麼需要 隱式標籤3呢?
在這裏插入圖片描述
當數據報文轉發到RTD路由器,首先會查LFIB(標籤轉發表),然後把標籤剝離掉,查找FIB(正常IP報文的轉發表)。 如果業務量很大,在Egress節點 即RTD路由器上要查兩張表,而前面幾臺只需要查LFIB 一張表。 一個人做了兩個人的工作,負擔會很重。

因此,改進,最後一臺需要FIB 數據報文轉發,只要查 FIB就行了。
在倒數第二條 RTC,直接把標籤彈掉。這樣RTD接收到的是正常的IP報文
在這裏插入圖片描述
PHP(Penultimate Hop Popping,倒數第二跳彈出),具體過程如下:
·RTC收到RTB發送的帶標籤1026的報文,查找LFIB表,發現分配的出標籤爲隱式空標籤3,於是執行彈出標籤的動作,並將IP數據包轉發給下游路由器RTD
·RTD收到RTC發送的IP報文,直接查找自己的FIB表,根據FIB表中的出接口進行IP數據的封裝並轉發
dis mpls lsp

 

MPLS VPN 技術原理與配置

  • MPLS在提高數據轉發速度上的優勢逐漸弱化,但其支持多層標籤嵌套和設備內轉控分離的特點,使其在VPN、TE等新興應用得到廣泛應用
  • 傳統的VPN存在一些固有缺陷,導致客戶組網時很多需求不能滿足。MPLS VPN將傳統的兩種VPN模型整合到一起,推動了VPN的發展。

IPSec VPN
peer-peer
在這裏插入圖片描述

overlap VPN
在這裏插入圖片描述

1.傳統VPN缺點

VPN技術的產生及分類
早期是用專線,專線有如下的特點:

  • 線路專有,安全性高,不同用戶之間物理隔離
  • 價格昂貴
  • 使用不充分,帶寬浪費嚴重
    在這裏插入圖片描述
    兩個客戶的VPN存在相同的地址空間,傳統VPN網絡結構中的設備無法區分客戶重疊的路由信息。
     

2.MPLS VPN解決傳統VPN的問題

在這裏插入圖片描述

解決VPN客戶地址空間重疊問題需要解決上述三個問題
1.解決方法:建立三個表,VPN1建一個表,VPN2建一個表,VPN全局表
2.RD 路由區分符,來自不同的就不同的區分 和 RT 路由目標,import和export方向,對應就接收
3.標籤嵌套,內層和外層
 

如何區分不同VPN客戶的相同路由 —— 獨佔式的PE
在這裏插入圖片描述

  • 專用PE設備分工明確,每個PE設備只保存自己的VPN路由,P設備只保存公網路由。因此解決共享PE設備上地址空間重疊的思路是:將專用PE設備與P設備的功能在同一臺PE設備上完成,並實現VPN路由的隔離
  • 在共享PE設備上使用VRF技術將重疊的路由隔離:每個VPN的路由放入自己對應的VPN Routing Table中
  • PE設備在維護多個VPN Routing Table時,同時還維護一個公網的路由表

如何在網絡傳遞過程中區分衝突路由?

  • 將VPN路由發佈到全局路由表之前,使用一個全局唯一的標識和路由綁定,以區分衝突的私網路由。這個標識被稱爲RD(Route Distinguisher)
    在這裏插入圖片描述
    但是單單RD 不能將 不同分佈的衝突路由都引入。它只能要麼收分部1,要麼分部2
    在這裏插入圖片描述 
    如何既收 分部1也收分部2 —— RT屬性 ,收發對應
    在這裏插入圖片描述
  • RT屬性用於將路由正確引入VPN,有兩類VPN Target屬性,Import Target和Export Target,分別用於VPN路由的導出與導入。

如何解決Import 多用戶時,數據大? 優化
在這裏插入圖片描述
使用RT實現本端與對端的路由正確引入VPN,原則如下:
本端的Export Target=對端的Import Target,本端的Import Target=對端的Export Target
 

從不同PE收到的相同路由靠RD區別
路由條目本端接受與否看RT
舉個生活的例子,RD就是身份證,RT就是護照。身份證只能有一張,護照可以有很多張。護照相同,就能進相同的局域網。用在運營商的邊界路由器上,RD是一個VRF的身份證。RT是這個VRF的護照,他可以導入很多不同的RT

如何解決數據轉發過程中衝突路由的查找?
因爲數據包沒有攜帶任何標識,所以在ICMP的數據包到達PE1時,PE1並不知道查找哪個VPN的路由表找到正確的目標地址
控制層面纔有三張表,然而轉發層面是沒有攜帶的。
解決:使用標籤嵌套解決數據轉發過程中衝突路由的查找問題 Outer\Inner MPLS Label

3.MPLS VPN工作原理

MPLS VPN的工作過程分爲兩部分:

  • MPLS VPN路由的傳遞過程
  • MPLS VPNS數據的轉發過程

公網標籤一直變,私網標籤不會變。 外層和內層標籤嵌套
爲了能夠區分是給VPN1還是VPN2的,通過MP-BGP協議來下放一個內層標籤。
當彈掉外層標籤後,露出私網標籤。
 

4.MPLS VPN配置實例

在這裏插入圖片描述
用戶側設備配置
在這裏插入圖片描述
骨幹網IGP配置
在這裏插入圖片描述
VPN實例
現在創建VPN實例,每個VPN獨立的表,然後VPN與接口綁定
在這裏插入圖片描述 

MP-BGP配置
VPN路由注入MP-BGP的過程: VRF中的IPV4路由被添加上RD,RT與標籤等信息成爲VPN-IPV4的路由放入到MP-BGP的路由表中,並通過MP-BGP協議在PE設備之間交換路由信息
在之前的常規BGP配置好後,在vpnv4下配置

  • RT是在團體屬性值裏,不一定能被識別到,可以加上 peer 5.5.5.5 advertise-comunity
  • ipv4-family vpn-instance VPN1
    這是私有協議的路由表,現在不能直接peer,這樣的話指的是全局路由表。要去私有指定
    在這裏插入圖片描述
    MPLS 配置
    動態LSP
    在這裏插入圖片描述

補充一點,VPN的路由引入
將靜態路由 引入到BGP,因爲上面運行的BGP,MPBGP和BGP之間是能學到。但靜態和OSPF一定要引入才能學習
bgp 100
ipv4-family vpn-instance VPN1
import-route static
 
如果MPLS-VPN錯了,就要查 IGP,EGP,LDP,還要查覈心BGP CE PE P
 

小結

  • 傳統的BGP只能維護單一路由表的路由信息,無法爲地址重疊的不同客戶直接提供服務,所以在BGP/MPLS VPN中使用了MP-BGP,它可以通過VPNv4地址族來區分不同客戶的網絡層地址信息,並使用VPN實例區分不同VPN客戶的路由及流量。
  • 在BGP/MPLS VPN中,每個VPN實例爲相應的VPN客戶單獨維護了一張路由和轉發表,稱爲VRF(VPN Routing and Forwading Table),不同的VPN實例間的路由是不能夠互通的。在PE上,通過將連接CE的接口綁定至VPN實例,就可以區分不同VPN客戶的路由。當PE將VPN路由傳遞至對端PE後,對端PE將使用VPN實例的RD(Route Disinguisher)與VPN Target屬性來區分VPN路由並將其分配至對應的VPN實例。
  • 通常,在BGP/MPLS VPN中,P路由器無需運行BGP,也無需知道關於VPN的任何信息。PE上的MP-BGP會爲VPN路由分配相應的標籤值(VPN標籤),作爲內層標籤,LDP分配的標籤作爲外層標籤。當VPN流量沿LSP經過P路由器時,P路由器只會進行外層標籤交換,當流量抵達對端PE時,對端PE會根據內層標籤判斷出流量所屬的VPN。
  • 在PE和CE的連通性,可以任何的連通性協議(OSPF,BGP等)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章