LDP 协议报文包括:
1)LDP Header:携带 LDP 版本、报文长度等信息;
2)LDP Message:携带消息类型、消息长度等信息;
LDP Header
长度为 10Byte,包括三部分:
Version,占用 2Byte,表示 LDP 版本号,当前版本号为 1;
PDU Length,占用 2Byte,以字节为单位表示除了 Version 和 PDU Length 以外的其他部分的总长度;
LDP Identifier,LDP ID,长度 6Byte:前 4Byte 用来唯一标识一个 LSR;后 2Byte 用来表示 LSR 的标签空间;
LDP Message
包含五个部分:
U(Unknown Message bit)占用 1 bit,当 LSR 收到一个无法识别的消息时,对该消息的 U 字段:
1)当 U=0 时,LSR 会返回给该消息的生成者一个通告;
2)当 U=1 时,忽略该无法识别的消息,不发送通告给生成者;
Type,表示具体的消息类型,目前 LDP 定义的常用的消息有:Notification,Hello,Initialization,KeepAlive,Address,Address Withdraw,Label Mapping,Label Request,Label Abort Request,Label Withdraw,Label Release;
Message Length,占用 2Bytes,以字节为单位表示 Message ID、Mandatory Parameters、Optional Parameters 的总长度;
Message ID,占用 32bit,用来标识一个消息;
Mandatory Parameters、Optional Parameters:分别为可变长的该消息的必须的参数和可选的参数;