MPLS需要使用标签分发协议完成标签的分配控制和保持,目前有很多种标签分发协议,LDP(Label Distribution Protocol)为其中之一,LSR之间可以使用LDP协议来交换标签信息。
运行LDP协议的LSR之间通过交换LOp消息来发现邻居、建立和维护LOpSession并管理标签。LD叫肖息承载在UOP或下CP之上,端口号为646。这里简单介绍LDP常用的一些消息和各个消息的主要功能。按照消息的功能,LDP消息一共可以分为四大类型:Discovery Message,Session Message,Advertisement Message和Notification Message。Discovery Message用来宣告和维护网络中一个LSR的存在;session message用来建立、维护和终止LDP Peers之间的LDP Session;Advertisement message:用来生成、改变和删除FEC的标签映射;Notification message用来宣告告警和错误信息。DISCovery Messoge用来发现邻居,承载在UDP报文上。LDP要求可靠而有序地传递消息,所以LDP使用TCP建立Session,Session Message,Advertisement Message,Notification Message等消息都基于TCP传递。
LDP的发现机制图如下:
LDP发现机制包括LDP基本发现机制和LDP扩展发现机制。LDP基本发现机制可以自动发现直连在同一条链路上的LDP Peers,所以这种情况下不需要明确指明LDP Peer;LDP扩展发现机制能够发现非直连的LDP Peers。LDP的Discoverymessoge用于邻居发现,他提供了这样一个机制:LSR通过周期性地发送hello Message表明自己的存在。这个消息是封装在UDP报文中的,目的端口号为646。在LDP基本发现机制中,该消息的目的IP地址为组播lP地址224.0.0.2,即该消息发给该网段上所有的交换机(如图中的SWA和SWB分别周期性地发送hello Message给224.0.0.2)。Hello Message中携带了LDP ldentifier信息以便告诉对方自己使用的标签空间。然后lP地址大的LSR作为主动方发起TCp连接。TCP连接建立之后,LSR会继续发送hello Messoge以便发现新的邻居或者检测错误。