LDP是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。
LDP的工作过程主
LDP的工作过程主要分为两部分:
①LSR之间建立LDP会话。
②LSR之间基于LDP会话动态交换标签与FEC的映射信息,并根据标签信息建立LSP。
LDP会话、LDP邻接体、LDP对等体
LSR之间交互标签绑定消息之前必须建立LDP会话。LDP会话可以分为:
- 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;
- 远程LDP会话(Remote LDP Session):建立会话的两个LSR之间可以是直连的,也可以是非直连的。
两台LSR之间交互Hello消息之后,即建立起邻接体(Adjacency)关系;
在建立邻接体关系的基础上,两台LSR之间交互LDP会话消息,建立起LDP会话,两台设备之间形成LDP对等体关系。
LSR ID与LDP ID
每一台运行了LDP的LSR除了必须配置LSR ID,还必须拥有LDP ID。
- LDP ID的长度为48 bit,由32 bit的LSR ID与16 bit的标签空间标识符(Label Space ID)构成。
- LDP ID以“LSR ID : 标签空间标识”的形式呈现。例如2.2.2.2:0。
标签空间标识一般存在两种形态:
- 值为0:表示基于设备(或基于平台)的标签空间;
- 值非0:表示基于接口的标签空间。
LDP消息
运行LDP协议的LSR之间通过交换LDP消息来实现邻居发现、会话建立与维护以及标签管理等功能。
• 按照消息的功能,LDP消息一共可以分为四大类型:发现消息(Discovery Message),会话消息(Session Message),通告消息(Advertisement Message)和通知消息(Notification Message)。
▫ 发现消息:用来宣告和维护网络中一个LSR的存在;用于通告和维护网络中LSR的存在,如Hello报文。
▫ 会话消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization报文、 Keepalive报文。
▫ 通告消息:用来生成、改变和删除FEC的标签映射。
▫ 通知消息:用来宣告告警和错误信息。
• LDP消息承载在UDP或TCP之上,端口号均为646 。其中发现消息基于UDP传递;会话消息、通告消息、通知消息都基于TCP传递。
LDP报文封装
LDP协议报文包括了LDP头部和LDP消息两部分。
- LDP头部中携带了LDP版本、报文长度等信息;
- LDP消息中携带了消息类型、消息长度等信息。