小乔 发表于 2024-4-25 13:13:59

MPLS LDP报文详解

1. LDP报文类型:LDP分为多种报文,总共分为四大类,每种LDP报文都包含相同的头部信息,全部使用四层(TCP、UDP)进行封装UDP类型报文组播地址为224.0.0.2,源端口目标端口都为646TCP类型报文使用单播,源端口随机,目标端口646LDP包含公告头和具体报文头,每种消息类型使用TLV进行标示公共头部信息:https://www.wolf-lab.com/Uploads/image/20220426/1650966117674824.png① 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消息的集合。具体报文头信息:https://www.wolf-lab.com/Uploads/image/20220426/1650966141713813.png① 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通告消息
分类作用消息类型具体作用
Discovery message类发现消息,宣告和维护网络中一个LSR的存在,使用UDP发送hello消息维护邻居Hello报文LDP发现机制中宣告本LSR并发现邻居
Session message类 链接消息,用于建立、维护和终止LDP 邻居间的LDP 信息传递,使用TCP传输Initialization初始化报文,在LDPSession建立过程中协商参数,如果协商通过,完成LDP Peer的协商
Keep Alive监控LDP Session的TCP连接的完整性
Advertise message类通知消息,生成、改变和删除FEC的标签映射,使用TCP传输Address宣告路由器之间接口地址
Address Withdraw撤销路由器之间接口地址
Label Mapping宣告FEC/Label映射消息
Label Request请求FEC的标签映射
Label Abort Request终止为完成的LabelRequest Message
Label Withdraw撤销FEC/Label映射
Label Release释放标签
Notification message类通告消息,宣告告警和错误信息Notification通知LDP Peer错误信息
(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时,需要使用实际接口IPhttps://www.wolf-lab.com/Uploads/image/20220426/1650966193431565.png公共Header协议报文HeaderCommon Hello Parameters TLV:Type:类型Length:长度Hold Time:Hello老化时间Hello类型:直连链路为Link HelloGTSM:置位符,标示是否使用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进行承载https://www.wolf-lab.com/Uploads/image/20220426/1650966229848971.png公共Header协议报文HeaderCommon 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一起承载https://www.wolf-lab.com/Uploads/image/20220426/1650967133880317.png (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标签映射进行撤销,撤销之后发送LabelRelease给对端回复(4)Notification message类:通告消息,宣告告警和错误信息。① Notification:通知LDP Peer错误信息

mawr1985 发表于 2024-4-25 13:35:57

{:6_267:}
页: [1]
查看完整版本: MPLS LDP报文详解