HCIP-17.1.6 LDP标签分发原理(上)

数通

动态LSP

动态LSP通过LDP协议实现对FEC的分类、标签的分配、LSP的建立和维护等操作。

动态LSP的特点:

  • 组网配置简单,易于管理和维护。
  • 支持基于路由动态建立LSP,网路拓扑发生变化时,能及时反映网络状况。

注意:

  • 入标签 In Label,是路由器自己给某网段分配的,并会传递给上游路由器。
  • 出标签 Out Label,从下游路由器学到。
ip ip-prefix aa permit 192.168.6.0 24
ip ip-prefix aa permit 192.168.5.0 24
mpls
 lsp-trigger ip-prefix aa
mpls
 mpls-triger none # 自身不触发建立标签,只有从邻居学来的
dis mpls ldp peer
reset mpls ldp all # 重置LDP建立ldp邻居,重新分发标签,重置后,重新分发的标签可能和上一次不一样

6.21-101

如上图拓扑所示:

  1. Egress路由器RTD为本地存在的路由分配标签,并将路由和标签的绑定关系主动发送给上游路由器RTC。
  2. 路由器RTC收到下游邻居路由器RTD的路由和标签的绑定关系后,将其记录到LIB中,并将自己分配的标签和路由的绑定关系发送给上游邻居路由器RTB。
  3. RTB执行相同的动作,将标签和路由的绑定关系发送给上游邻居路由器RTA,RTA是Ingress路由器没有上游邻居,因此动态的LSP完成建立。

LDP邻居建立

6.22-1

MPLS路由器通过周期性地发送LDP链路Hello消息(LDP Link Hello),实现LDP邻居的发现,并建立本地LDP会话。

  • 为了能使开启LDP协议的设备快速发现邻居,LDP的Hello消息使用UDP封装。UDP是无连接的协议,为了保证邻居的有效性和可靠性,Hello消息周期发送,发送周期为5s,使用组播224.0.0.2作为目的IP地址,意思是“发送给网络中的所有路由器”。

  • LDP的Hello消息中,携带有Transport Address字段,该字段与设备配置的LSR ID一致,表明与对端建立邻居关系时所使用的IP地址。如果该字段IP地址是直连接口IP地址,则直接建立邻居关系;如果该字段地址是LoopBack接口IP地址,保证该接口IP地址路由可达,才能建立邻居关系。

LDP协议主要使用四类消息:

  • 发现(Discovery)消息:用于通告和维护网络中邻居的存在,如Hello消息。
  • 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。
  • 通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射,如Address消息、Label Mapping消息。
  • 通知(Notification)消息:用于提供建议性的消息和差错通知。

LDP邻居建立过程如上图所示:

(1)两个LSR之间互相发送Hello消息,Hello消息中携带传输地址,双方使用传输地址建立LDP会话。

(2)传输地址较大的一方作为主动方,发起TCP连接

  • 如上图,RTB作为主动方发起TCP连接,RTA作为被动方等待对方发起连接

(3)TCP连接建立成功后,主动方RTB发送初始化消息,协商建立LDP会话的相关参数

  • LDP会话相关参数包括LDP协议版本、标签分发方式、keepalive保持定时器的值、最大PDU长度和标签空间等
  • 被动方RTA收到初始化消息后,如果RTA接受相关参数,则发送初始化消息,同时发送Keepalive消息给主动方RTB。
  • 如果被动方RTA不能接受相关参数,则发送Notification消息终止LDP会话的建立。
  • 主动方RTB收到初始化消息后,接受相关参数,则发送Keepalive消息给被动方RTA。
  • 如果主动方RTB不能接受相关参数,则发送Notification消息给被动方RTA终止LDP会话的建立。
  • 当双方都收到对端的Keepalive消息后,LDP会话建立成功。LDP会话建立成功后,进行FEC的创建与标签的分发。

6.22-4