LDP协议标签映射信息
标签映射消息的格式
- 一个LDP报文中会承载多个标签映射消息
- 每个标签映射消息包含两要素:FEC TLV和Label TLV
FEC TLV与Label TLV
LDP协议与IGP路由协议的关系
- LDP必须与IGP路由协议配合
- 在帧模式(Frame Mode)下,为每一条路由分配一个标签
- 为本地的直连路由分配POP标签
如果没有倒数第二跳弹出会怎么样?
在边界路由器需要先查找MPLS转发表,然后再查找IP路由表,两次查找造成效率低下
LDP协议的”标签行为“
分配模式:Label Allocation
本地为一条路由前缀绑定一个标签的前提条件
1)独立控制模式:Independent Control
只要本地通过IGP学习到路由前缀,就会为这条路由前缀分配标签(本地也会为直连路由分配POP标签)
2)有序控制模式:Ordered Control
本地通过IGP学习到路由前缀,但必须该路由前缀的下一跳路由器将该前缀所对应的标签映射消息通告给本地,本地才会为该前缀分配标签
分发模式:Label Distribution
本地将一个标签映射消息通告给邻居的前提条件
1)下游主动模式:Downstream Unsolicited
本地会主动将所生成的标签映射消息通告给所有LDP邻居
2)下游按需模式:Downstream On Demand
只有邻居向本地请求某条前缀的标签映射消息时,本地才会通告标签映射消息给邻居
保留模式:Label Retention
本地是否会在数据库中保留从邻居接收到的所有标签映射消息
1)自由模式: Liberal Retention
本地将从邻居接收的所有标签映射消息都保存在数据库中
2)保守模式: Conservative Retention
本地仅保存最优路由下一跳邻居所通告的该路由前缀的标签映射消
标签空间:Label Space
本地所通告出去的标签是对局部(接口)有意义还是对全局有意义
1)基于平台: Per-Platform
本地通告出去的标签映射消息对全局有意义,从不同的接口通告出去的同一FEC所对应的标签相同。
2)基于接口: Per-Interface
本地通告出去的标签映射消息对局部有意义,从不同的接口通告出去的同一FEC所对应的标签不同。
帧模式(Frame Mode)
- 分配模式(Label Allocation):独立控制模式(Independent Control)
- 分发模式(Label Distribution):下游主动模式(Downstream Unsolicited)
- 保留模式(Label Retention):自由模式(Liberal Retention)
- 标签空间(Label Space):基于平台(Per-Platform)
路由环路的预防与检测
任何涉及到转发或者是路由的算法,都容易发生“路由环路”。
既然LSP的建立是依赖IP路由的,那么环路的预防也应该交给IP来做。自己无需处理了。
路由环路的检测:每经过一次MPLS转发,TTL减一。
R1(config)#mpls ip propagate-ttl
TTL copy功能默认是打开的
R1(config)#no mpls ip propagate-ttl [forwarded | local]
Forward 对进入的流量关闭标签copy功能
Local 为本地产生的流量关闭标签copy功能
关闭TTL copy功能,此时,IP域进入MPLS域,TTL值为255
MPLS转发表与LDP标签数据库的关系
- LDP标签数据库中包含所有邻居所通告的标签映射消息
- LSR只会选择最优路由下一跳的路由器所通告的标签映射消息进入 MPLS转发表
Pop tag vs Untag
Outgoing tag(Label)中的POP与Untag有什么区别?
- POP:仅会将顶层标签头部弹出,经过该动作转发后的报文可以是IP报
文也可以是MPLS标签报文 - Untag:会将所有标签头部移除,变成一个纯IP报文转发出去