目录
1.1 LDP基本概念
- MPLS需要使用标签分发协议完成标签的分配控制和保持
- 目前有很多种标签分发协议,LDP(Label Distribution Protocol)为其中之一
- LDP为FEC分配标签:LDP邻居之间发送Label/FEC映射信息
1.1.1 LDP消息类型
- LDP消息承载在UDP或TCP之上,端口号为646
- Discovery message: 宣告和维护网络中一个LSR的存在。
- Session message: 建立、维护和终止LDP Peers之间的LDP Session。
- Advertisement message: 生成、改变和删除FEC的标签映射。
- Notification message: 宣告告警和错误信息。
- 注意,上面的只是消息类型,并不是真正的协议报文
1.1.2 LDP消息类型与封装格式
- LDP Header
- Version:2B,表示LDP版本,当前版本号为1
- PDU Length:2B,字节为单位,表示除了Version和PDU Length以外的其他部分的总长度
- LDP Identifier:6B,前4B用来唯一标识一个LSR,即LSR ID,后2B用来表示LSR的标签空间,LDP Identifier用来表示LDP会话的Peer ID(类比OSPF和BGP的Router ID,只是LDP的LSR ID一定要手工配置,另外如果没有配置Transport Address,LSR ID也会用作TCP连接和LDP Session的建立)
- LDP Message
- U:1B,为Unknown Message bit,当LSR收到一个无法识别的消息时,该消息的U=0时,LSR会返回给该消息的生成者一个通告,当U=1时,忽略该无法识别的消息,不发送通告给生成者
- Type:2B,表示具体的消息类型,可参考1.1.3
- Message Length:2B,以字节为单位表示Message ID、Mandatory Parameters和Optional Parameters的总长度
- Message ID:4B,用来标识一个消息
- Mandatory Parameters:该可变长消息的必须的参数
- Optional Parameters:该可变长消息的可选的参数
1.1.3 LDP消息作用
- Hello报文用的是UDP封装,Session Message用的是TCP封装
- Label Mappping消息很重要,其实就是标签的映射信息(FEC对应一个标签,在华为设备中,默认情况是以IP前缀来划分FEC,所以不同的前缀就对应不同的标签)
补充说明:
- Label Withdraw Message:用来撤消FEC/Label映射。LSR通过发送Label Withdraw Message告诉对等体该对等体不可以继续使用自己以前通告给他的标签。
- Label Release Message:用来释放标签。当一个LSR不再需要以前从LDP Peer收到的标签时,就发送一个Label Release Message给该LDP Peer。
- Notification Message:用来通知LDP Peer错误信息或者其他一些辅助信息如LDP Session状态等。