LDP Adjacency
两台 LSR 之间,当交互 Hello 消息后,即建立起邻接体(Adjacency)关系;
LDP Session and LDP Peer
在 LSR 间,当交互标签绑定消息前,必须建立 LDP 会话(类似 BGP,也采用 TCP 连接);
LDP Session 可以分为:
1)本地 LDP 会话(Local LDP Session):建立会话的两个 LSR 之间是直连的;
2)远程 LDP 会话(Remote LDP Session):建立会话的两个 LSR 之间可以是直连的,也可以是非直连的;
3)补充说明:L2 MPLS VPN 会使用 Remote LDP Session 技术,我们这里主要学习 Local LDP Session 技术;
在建立邻接体关系的基础上,两台 LSR 间交互 LDP 会话消息,建立起 LDP Session,两台设备之间形成 LDP Peer 关系;
LDP ID (LSR ID + Label Space ID)
每台运行 LDP 的 LSR 除了必须配置 LSR ID,还必须拥有 LDP ID;
LDP ID 的长度为 48bit,由 32bit 的 LSR ID 与 16bit 的 Label Space ID(标签空间标识符)构成;
LDP ID 以“<LSR-ID (32bit)>:<Label-Space-ID (16-bit)>”的形式呈现。例如 2.2.2.2:0;
Label Space ID,虽然 16bit,但通常存在两种形态:
1)值为 0:表示基于设备(或基于平台)的标签空间(对于同个 FEC,所有邻居设备将看到相同的标签值,即对于所有邻居,同个 FEC 同个 Label 值);
2)值非 0:表示基于接口的标签空间(对于同个 FEC ,所有的邻居设备将看到不相同的标签值,即对于不同邻居,同个 FEC 不同 Label 值);
在华为或思科中,均使用基于设备(或基于平台)的标签空间,即:对于同个 FEC,分发给不同邻居的标签值是相同的;
LDP Message
在运行 LDP 的 LSR 间,通过交换 LDP Message 来实现 邻居发现、会话建立与维护、标签管理 等等功能;
按照消息的功能,LDP 消息共可以分为四大类型:
1)发现消息(Discovery Message),用来宣告和维护网络中一个 LSR 的存在;用于通告和维护网络中 LSR 的存在,如 Hello 报文;
2)会话消息(Session Message),用于建立、维护和终止 LDP 对等体之间的会话,如 Initialization 报文、KeepAlive 报文;
3)通告消息(Advertisement Message),用来生成、改变和删除 FEC 的标签映射;
4)通知消息(Notification Message),通知消息:用来宣告告警和错误信息;
LDP Message 承载在 UDP 或 TCP 上,Port=646 。其中发现消息用来发现邻居,承载在 UDP 报文上。其他消息的传递要求可靠而有序,所以 LDP 使用 TCP 建立会话,会话、通告和通知消息都基于 TCP 传递;
Discovery Message
Hello:UDP,在 LDP 发现机制中,宣告本 LSR 并发现邻居;
LDP Link Hello,使用 UDP 报文,目的地址是组播 224.0.0.2 地址;
Session Message
Initialization:TCP,在 LDP Session 建立过程中协商参数
KeepAlive:TCP,监控 LDP Session 的 TCP 连接的完整性
Advertisement Message
Address:TCP,宣告接口地址;
Address Withdraw:TCP,撤消接口地址
Label Mapping:TCP,宣告 FEC/Label 映射信息
Label Request:TCP,请求 FEC 的标签映射
Label Abort Request:TCP,终止未完成的 Label Request Message
Label Withdraw:TCP,撤消 FEC/Label 映射
Label Release:TCP,释放标签
Notification Message
Notification:TCP,通知 LDP Peer 错误信息