「MPLS」- 转发平面:标签数据转发

  CREATED BY JENKINSBOT

标签转发的相关表项

当处理报文时,LSR 主要根据 FTN、NHLFE、ILM 表;

补充说明:
1)Tunnel ID:为了给使用隧道的上层应用(如 VPN、路由管理)提供统一的接口,系统自动为隧道分配了一个 ID,也称为 Tunnel ID。该 Tunnel ID 的长度为 32-bit,仅本地有效。在 MPLS 转发过程中,通过 Tunnel ID 关联 FIB、ILM、NHLFE 表项;
2)简单说(便于理解):在华为设备中,Ingress-LSR 查询 FIB 表,Transit-LSR 与 Egress-LSR 查询 LFIB 表;
3)FTN、NHLFE、ILM 都是 LFIB 的组成部分;

FTN, FEC-to-NHLFE

当 LSR 收到 IP-Packet 并需要进行 MPLS 转发时,使用该表

该表所存在的设备:FTN 只在 Ingress-LSR 存在;

FTN 包括:Tunnel ID、FEC 到 NHLFE 的映射信息;

NHLFE, Next Hop Label Forwarding Entry

下一跳标签转发表项(Next Hop Label Forwarding Entry):LSR 对报文(MPLS 或 IP 报文)进行 MPLS 转发时,使用该表;

NHLFE 在 Ingress 和 Transit 存在

NHLFE 包括:Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息;

ILM,Incoming Label Map

入标签映射(ILM,Incoming Label Map):用于指导 MPLS 报文的转发(MPLS 或 IP 转发);

ILM 只在 Transit 和 Egress 存在;

ILM 包括:Tunnel ID、入标签、入接口、标签操作类型等信息;

数据转发的查表过程

虽然我们平时更多的查看路由表(RIB)以确定数据转发路径,但实际设备是使用 FIB 来指导数据转发;

display fib x.x.x.x verbose
LFIB: display mpls ldp
ILM + NHLFE: dispaly mpls lsp in-label <label>

for Ingress LSR

当 IP-Packet 进入 MPLS-Domain 时:
1)Ingress LSR 查看 FIB 表,检查目的 IP 地址对应的 Tunnel ID 值是否为 0x0:
—- 如果 Tunnel ID == 0x0,则进入正常的 IP 转发流程;
—- 如果 Tunnel ID != 0x0,得到 FTN 信息,根据 FIB 表的 Tunnel ID 找到对应的 NHLFE 表项,将 FIB 表项和 NHLFE 表项关联起来,指导报文的转发
2)查看 NHLFE 表项,可以得到出接口、下一跳、出标签和标签操作类型;
3)在 IP 报文中压入出标签,同时处理 TTL,然后将封装好的 MPLS 报文发送给下一跳;

for Transit LSR

当 MPLS 报文在 MPLS-Domain 转发时,Transit-LSR 通过查询 ILM 和 NHLFE 指导 MPLS 报文的转发:
1)Transit LSR 根据 MPLS 的标签值查看对应的 ILM 表,得到 Tunnel ID;
2)根据 ILM 的 Tunnel ID 找到对应的 NHLFE 项;
3)查看 NHLFE 表项,得到出接口、下一跳、出标签和标签操作类型,标签操作类型为 Swap,则交换标签;

for Egress LSR

当 MPLS 报文需要离开 MPLS-Domain 时:
Egress 根据 ILM 查询,到该标签对应的操作为 Pop,说明需要剥离该标签
根据当前标签头部的下一层报文头部进行下一步处理