标签转发的相关表项
当处理报文时,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,说明需要剥离该标签
根据当前标签头部的下一层报文头部进行下一步处理