1. LDP报文类型: LDP分为多种报文,总共分为四大类,每种LDP报文都包含相同的头部信息,全部使用四层(TCP、UDP)进行封装 UDP类型报文组播地址为224.0.0.2,源端口目标端口都为646 TCP类型报文使用单播,源端口随机,目标端口646 LDP包含公告头和具体报文头,每种消息类型使用TLV进行标示 公共头部信息: ① Version:2字节 表示版本号。目前LDP的版本号始终为1。 ② PDU Length:2字节 表示PDU的总长度,包括LDP ID和整组LDP消息,不包括Version和PDU Length字段。 ③ LSR-ID:4字节 LDR-ID标识一台LSR,必须全局唯一。 ④ Liber Space ID:2字节 标识了LSR内的标签空间。对于平台范围标签空间,这些数值都应当为0 ⑤ Bunch of messages:变长 是一组LDP消息的集合,可以是一个或者多个LDP消息。 当LDP报文以UDP方式传输时,“Bunch of messages”只能是Hello消息的集合。 当LDP报文以TCP方式传输时,“Bunch of messages”可以是除Hello消息外任意类型的LDP消息的集合。 具体报文头信息: ① U :1比特,未知的消息,如果对端收到的LDP消息中“Message type”字段为未知的LDP消息类型,且“U”字段的值为“0”,则向源端发送通知(Notification)消息。如果对端收到的LDP消息中“Message type”字段为未知的LDP消息类型,且“U”字段的值为“1”,则忽略该未知消息。 ② Message Type:15比特 LDP消息的类型。 ③ Message Length:16比特 LDP消息的长度,是Message ID、强制参数和可选参数的长度的总和。 ④ Message ID:32比特 LDP消息的编号,用于唯一地标识一个LDP消息。 ⑤ Mandatory Parameters:变长 LDP消息的强制参数。 ⑥ Optional Parameters:变长 LDP消息的可选参数,包含0~n个TLV。由于LDP报文类型繁多,所以将LDP报文分为四大类,每一类表示不同的作用。 主要分为以下几类: ① Discovery message发现消息 ② Session message链接消息 ③ Advertise message通知消息 ④ Notification message通告消息 分类 | | | | | 发现消息,宣告和维 护网络中一个LSR的 存在,使用UDP发送 hello消息维护邻居 | | | | 链接消息,用于建立、维护和终止LDP 邻居间的LDP 信息传递,使用TCP传输 | | 初始化报文,在LDP Session建立过程中 协商参数,如果协商 通过,完成LDP Peer 的协商 | | | | | | 通知消息,生成、改变和删除FEC的标签映射,使用TCP传输 | | | | | | | | | | | | | | | | | | 终止为完成的Label Request Message | | | | | | | | | | | | |
(1)Discovery message类: 发现消息,宣告和维护网络中一个LSR的存在,使用UDP发送hello消息维护邻居 ① Hello: Hello报文使用Common Hello Parameters TLV和IPv4 Transport Address TLV标示 LDP发现协议中宣告本LSR并发现邻居,每隔5S发送一次,15S失效,如果两端时间不一致, 则取时间小的Hello时间为标准,UDP封装,本地地址为单播IP:646,对端目标地址为 224.0.0.2:646 注:基本发现中Hello包只能与直连链路上的Peer建立邻居,当配置远端Peer时,此时目 端的LSR-ID地址,ransport Address为创建TCP session使用的目标地址,默认使用LSR-ID地址,所以在配置LSR-ID时,需要使用实际接口IP 公共Header 协议报文Header Common Hello Parameters TLV: Type:类型 Length:长度 Hold Time:Hello老化时间 Hello类型:直连链路为Link Hello GTSM:置位符,标示是否使用GTSM功能 IPv4 Transport Address TLV: Type:类型 Length:长度 IPv4 Transport Address:连接地址(默认为LSR-id) (2)Session message类: 链接消息,用于建立、维护和终止LDP 邻居间的LDP 信息传递,使用TCP传输。 ① Initialization: 初始化报文,在LDP Session建立过程中协商参数,如果协商通过,完成LDP Peer的协商, 使用Common Session Parameters TLV进行承载 公共Header 协议报文Header Common Session Parameters TLV: Type:类型 Length:长度 Session Protocol Version:LDP版本 Session Keep Alive Time:Keep Alive老化时间 Session Max PDU Length:最大PDU长度 Session Receiver LSR Identifier: 已经存在的LSR邻居ID ② Keep Alive: 监控LDP Session的TCP连接的完整性,默认15S发送一次, Hold timer为45S,不能修改, Keep Alive消息只包含公共头和协议消息头,在建立TCP连接时可以和Initialization一起承载 (3)Advertise message类: 通知消息,生成、改变和删除FEC的标签映射,使用TCP传输。 ① Address: 宣告路由器之间接口地址 ② Address Withdraw: 撤销接口地址 ③ Label Mapping: 宣告FEC/Label映射消息 ④ Label Request: 请求FEC的标签映射,在DOD模式中,使用此报文请求下游报文去往目标FEC的标签映射 ⑤ Label Abort Request: 终止为完成的Label Request Message ⑥ Label Withdraw: 撤销FEC/Label映射 ⑦ Label Release: 释放标签,当收到对方的Label Withdraw报文对FEC标签映射进行撤销,撤销之后发送Label Release给对端回复 (4)Notification message类: 通告消息,宣告告警和错误信息。 ① Notification: 通知LDP Peer错误信息
|