目录
MPLS报文转发涉及概念
Tunnel ID
NHLFE (NextHop Label Forwarding Entry)下一跳标签转发表
ILM(Incoming Label Map)入标签映射
MPLS转发流程举例
Ingress节点
Transit节点
Egress节点
MPLS TTL处理模式
意义:防止MPLS转发环路,且实现Tranceroute功能
RFC 3443 模式
收到MPLS TTL为1的报文:MPLS ICMP报文
MPLS报文转发涉及概念
Tunnel ID使得FIB/ILM/NHLFE相互关联
Tunnel ID
- 32bit,系统自动分配本地唯一,给上层应用提供统一管理接口,同隧道不同节点tunnel ID可以相同
- 标识是否进入MPLS转发流程,0表示进行IP转发,非0匹配NHLFE下一跳标签转发表,进行MPLS转发
NHLFE (NextHop Label Forwarding Entry)下一跳标签转发表
- 指导MPLS报文转发,依据出标签递归查询到对应接口及下一跳进行标签报文转发
- NHLFE包含的元素
- • tunnel ID
- • 出接口
- • 下一跳
- • 出标签
- • 标签操作类型
- FEC与NHLFN映射关系称为FTN(FEC-to-NHLFN)
• dis fib查看tunnelID非0x0
• FTN只在Ingress LER存在(IP报文到MPLS报文转换只在入节点发生),只有Ingress需要使用FEC查找需要压入的标签,然后依据NHLFN转发,MPLS报文在传输节点只需要NHLFE即可完成转发
ILM(Incoming Label Map)入标签映射
- 入标签与NHLFE的映射称为ILM,将入标签、出标签、tunnelID建立映射关系
- ILM(Incoming Label Map)将以下参数建立对应关系
• 1、入标签
• 2、出标签
• 3、tunnel ID
• 0x0
• 非0x0
• 4、标签操作类型
• PUSH
• SWAP
• POP
MPLS转发流程举例
Ingress节点
- 查询FIB和NHLFE指导转发
• 依据目的IP查询FIB表,发现tunnel ID非0进入MPLS转发流程
• 依据tunnelID查询NHLFE,在LSP建立情况下按NHLFE进行MPLS转发操作
Transit节点
- 查询ILM和NHLFE指导转发
• 依据入标签查看ILM表的tunnelID
• 依据tunnelID查询NHLFE进行MPLS转发
Egress节点
- 查询ILM或RIB指导转发
• 由于无MPLS下一跳,故不需要查询NHLFE
• 查询ILM对标签进行操作并处理TTL
• S=1;POP
• S=0;两层标签,按第二层进行SWAP
MPLS TTL处理模式
意义:防止MPLS转发环路,且实现Tranceroute功能
RFC 3443 模式
- Uniform 统一:默认
• 将IP报头移植到MPLS Label中,出MPLS域再复写到IP包头中
• MPLS域内IP包头TTL不变,MPLS头TTL字段减少,出MPLS域,MPLS TTL再映射给IP包头
• 把MPLS域中每跳作为IP网络中的单跳处理
- Pipe 管道
• 类比将两端边缘节点看作是通过管道链接,MPLS节点跳数不计入IP报文,忽略MPLS域内节点,起到隐藏MPLS域内LSR作用
• IP报文TTL只在进入、出MPLS域时将IP头TTL减1,MPLS域作为2跳
• MPLS报文TTL值按跳数减少,起到防环作用
收到MPLS TTL为1的报文:MPLS ICMP报文
- LSR存在发送者路由,则可以使用IP报文返回TTL超时信息
- LSR不存在发送者路由,ICMP将继续传递给Egress,由Egress将消息返回发送者