HuaWei ❀ MPLS的轉發

MPLS的轉發

1、MPLS報文的基本轉發原理
以支持PHP的LSP爲例,說明MPLS報文的基本轉發原理
在這裏插入圖片描述
如上圖所示,其目的地址爲4.4.4.2/24,則MPLS報文基本轉發原理如下:
(1)Ingress節點收到目的地址爲4.4.4.2的IP報文,添加標籤Z並轉發;
(2)Transit節點收到該標籤報文,進行標籤交換,將標籤Z彈出,換成標籤Y;
(3)倒數第二跳Trasit節點收到帶標籤Y的報文,因爲Egress分給它的標籤值爲3,所以進行PHP操作,彈出標籤Y並轉發報文,從倒數第二跳轉發給Egress的報文以IP報文形式傳輸;
(4)Egress節點收到該IP報文,將其轉發給目的地4.4.4.2/24;

2、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(Incomint Label Map)
    ILM包括:Tunnel ID、入標籤、入接口、標籤操作類型等信息;
    ILM在Transit節點的作用是將標籤和NHLFE綁定,通過標籤索引ILM表,就相當於使用目的IP地址查詢FIB,能夠得到所有的標籤轉發信息;

  • Tunnel ID
    爲了給使用隧道的上層應用提供統一的接口,系統自動爲隧道分配了一個ID,稱爲Tunnel ID,該ID值的長度爲32bit,本地有效;

MPLS詳細轉發過程如下圖所示:
在這裏插入圖片描述
當IP報文進入MPLS域時,首先查看FIB表,檢測目的IP地址對應的Tunnel ID值是否爲0x0;
如果Tunnel ID值爲0x0,則進入IP轉發流程,否則進入MPLS轉發流程;

在報文轉發過程中,FIB、ILM和NHLFE表項是通過Tunnel ID關聯的;

  • Ingress的處理:
    查看FIB表,根據目的IP地址找到對應的Tunnel ID;
    根據FIB表的Tunnel ID找到對應的NHLFE表項,將FIB表項和NHLFE表項關聯起來;
    查看NHLFE表項,可以得到出接口、下一跳、出標籤和標籤操作類型,標籤操作類型爲Push;
    在IP報文中壓入出標籤,並根據QoS策略處理EXP,同時處理TTL,然後將封裝的MPLS報文發送給下一跳;

  • Transit的處理:
    根據MPLS的標籤值查看對應的ILM表,可以得到Tunnel ID;
    根據ILM表的Tunnel ID找到對應的NHLFE表項;
    查看NHLFE表項,可以得到出接口、下一跳、出標籤和標籤操作類型;
    MPLS報文的處理方式根據不同的標籤而不同:
    如果標籤值>=16,則用新標籤替換MPLS報文中的舊標籤,同時處理EXP和TTL,然後發送給下一跳;
    如果標籤值=3,則直接彈出標籤,處理EXP和TTL,然後進行IP轉發或下一層標籤轉發;

  • Egress的處理:
    如果Egress收到IP報文,則查看路由表,進行IP轉發;
    如果Egress收到MPLS報文,則查看ILM表獲得標籤操作類型,同時處理EXP和TTL;
    如果標籤中棧底標識S=1,直接進行IP轉發;
    如果標籤中棧底標識S=0,繼續進行下一層標籤轉發;

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