前言
我们都知道一个IP报文进入一个MPLS域后会打上标签,但是标签值该打多少,MPLS设备之间又怎么知道对方的标签信息这是一个问题。对于这个问题提出了LDP(Label Distribution Protocol)标签分发协议。
LDP是用来在LSR之间建立LDP Session(会话)并交换Label/FEC映射信息的协议。
LDP邻居发现和会话建立
基本概念
LDP消息类型
Discovery message:宣告和维护网络中一个LSR的存在。
Session message:建立、维护和终止LDP Peers之间的LDP Session。
Advertisement message:生成、改变和删除FEC的标签映射。
Notification message:宣告警告和错误信息。
LDP消息类型与封装格式
LDP邻居发现
LDP邻居发现,首先需要在设备上开启LDP功能这和要在设备上开启OSPF建立邻居是一样的,一个是路由协议一个是标签协议。
LDP基本发现机制
发现本地链路(不会泛洪到其他链路上,仅仅是设备直连链路)上的LSR邻居,通过组播方式建邻。设备互相发送UDP端口646 Hello Message进行发现,然后由IP地址大的LSR发起TCP会话连接。
LDP扩展发现机制
可以发现远端的LSR邻居,通过单播建立邻居。需要手工去指定peer设备,设备互相发送UDP端口646 Hello Message进行发现,然后由IP地址大的LSR发起TCP会话连接。
LDP会话建立和维护
当LSR TCP会话建立成功后,由IP地址大的LSR发起Initialization Message然后对端LSR回复一个Initialization Message,最后两端定时发送KeepAlive Message保持连接。
Initialization中会去协商LDP参数,比如LSR ID,Label Space等。
LDP会话建立成功后设备会发送Advertisement message,去协商标签的配置。