MPLS转发
文章目录
- MPLS转发
🏡作者主页:点击!
🤖Datacom专栏:点击!
⏰️创作时间:2025年07月20日09点26分
MPLS转发
MPLS转发过程中包括Push、Swap、Pop。基本的标签转发动作
- Push:IP报文进入MPLS域。MPLS边界设备在报文二层首部和IP首部之间插入新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新标签
- Swap:报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签替换MPLS报文的栈顶标签
- Pop:报文离开MPLS域时,将MPLS报文的标签剥离
- 最后一个节点,标签已经没有价值,利用次末跳弹出机制,在第倒数第二跳设备上将标签弹出,减少最后一条的负担,直接进入IP转发或者是下一层标签转发
- 默认次末跳弹出标签是3(Php就是倒数第二跳弹出)
基本转发过程
MPLS转发过程中包括Push、Swap、Pop。基本的标签转发动作
- Push:IP报文进入MPLS域。MPLS边界设备在报文二层首部和IP首部之间插入新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新标签
- Swap:报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签替换MPLS报文的栈顶标签
- Pop:报文离开MPLS域时,将MPLS报文的标签剥离
- 最后一个节点,标签已经没有价值,利用次末跳弹出机制,在第倒数第二跳设备上将标签弹出,减少最后一条的负担,直接进入IP转发或者是下一层标签转发
- 默认次末跳弹出标签是3(Php就是倒数第二跳弹出)
基本转发过程
Tunnel ID:长度为32位比特,只是本地有效,本地
NHLFE:下一跳标签转发表项,指导MPLS报文的转发(类似于FIB)
ILM:入标签到下一组标签转发表项的映射(ILM在Transit节点将标签和NHLFE绑定,通过标签索引 ILM)(相当于目的IP地址查询FIB,得到所有标签转发信息)
详细转发过程
- 如果Tunnel-ID的值是0x0,则正常进入IP转发流程
- 如果Tunenl-ID的是不为0x0,则进入MPLS转发流程
MPLS转发流程中,FIB、ILM和NHLFE表项都是通过Tunnel ID关联的
Ingress的处理,通过查询FIB和NHLFE表指导报文的转发
查看FIB表,根据目的地址找对对应的Tunnel ID
dis fib
根据FIB表的Tunnel ID,找到对应的 NHLFE 表项,将FIB和NHLFE表项关联
查看NHLFE表,得出出接口、下一跳、出标签和标签操作类型
IP报文中压入标签,处理TTL将封装好的MPLS报文发送给下一跳
Tansit的处理:查询 ILM 表和 NHLFE 指导MPLS报文转发
根据MPLS标签值查看对应的 ILM 表,得到tunnel ID
根据 ILM表的Tunnel ID,找到对应的 NHLFE 表项
查看 NHLFE 表项,得到出接口、下一跳、出标签和标签操作类型等
MPLS报文处理方式根据不同标签值而不同
- 标签值大于等于16,用新标签替换 MPLS 报文中的旧标签,同时处理 TTL ,将替换完的MPLS报文交给下一跳
- 标签值为3,直接弹出标签,同时处理TTL,进行IP转发或者下一层标签转发
Egress的处理:查询 ILM 指导MPLS报文的转发和查询路由表指导IP报文转发
- 如果Egress收到IP报文,则查看路由表,进行IP转发
- 如果Egress收到MPLS报文,则查看 ILM 表获得标签操作类型,同时处理TTL
- 标签中栈底标识 s=1,表明该标签是栈底标签,直接进行IP转发
- 标签中栈底标识 s=0,表明还有一层标签,继续进行下一层标签转发
Tunnel ID:长度为32位比特,只是本地有效,本地
NHLFE:下一跳标签转发表项,指导MPLS报文的转发(类似于FIB)
ILM:入标签到下一组标签转发表项的映射(ILM在Transit节点将标签和NHLFE绑定,通过标签索引 ILM)(相当于目的IP地址查询FIB,得到所有标签转发信息)
详细转发过程
- 如果Tunnel-ID的值是0x0,则正常进入IP转发流程
- 如果Tunenl-ID的是不为0x0,则进入MPLS转发流程
MPLS转发流程中,FIB、ILM和NHLFE表项都是通过Tunnel ID关联的
Ingress的处理,通过查询FIB和NHLFE表指导报文的转发
查看FIB表,根据目的地址找对对应的Tunnel ID
dis fib
根据FIB表的Tunnel ID,找到对应的 NHLFE 表项,将FIB和NHLFE表项关联
查看NHLFE表,得出出接口、下一跳、出标签和标签操作类型
IP报文中压入标签,处理TTL将封装好的MPLS报文发送给下一跳
Tansit的处理:查询 ILM 表和 NHLFE 指导MPLS报文转发
根据MPLS标签值查看对应的 ILM 表,得到tunnel ID
根据 ILM表的Tunnel ID,找到对应的 NHLFE 表项
查看 NHLFE 表项,得到出接口、下一跳、出标签和标签操作类型等
MPLS报文处理方式根据不同标签值而不同
- 标签值大于等于16,用新标签替换 MPLS 报文中的旧标签,同时处理 TTL ,将替换完的MPLS报文交给下一跳
- 标签值为3,直接弹出标签,同时处理TTL,进行IP转发或者下一层标签转发
Egress的处理:查询 ILM 指导MPLS报文的转发和查询路由表指导IP报文转发
- 如果Egress收到IP报文,则查看路由表,进行IP转发
- 如果Egress收到MPLS报文,则查看 ILM 表获得标签操作类型,同时处理TTL
- 标签中栈底标识 s=1,表明该标签是栈底标签,直接进行IP转发
- 标签中栈底标识 s=0,表明还有一层标签,继续进行下一层标签转发