LDP会话
LDP发现机制
LDP发现机制用于LSR发现潜在的LDP Peer。LDP有两种发现机制:
基本发现机制:用于发现链路上直连的LDP Peer。
LSR通过周期性的发送LDP Hello消息,实现LDP基本发现机制,建立LDP本地会话。
LDP Hello消息使用UDP协议,目的地址是组播地址,目的端口是LDP端口(646)。LDP Hello报文中携带LDP Identifier及一些其他信息(例如hello-hold time、transport address)。如果LSR在特定接口接收到LDP Hello消息,表明该接口存在LDP Peer。
扩展发现机制:用于发现链路上非直连LDP Peer。
LSR周期性的发送Targeted Hello消息到目的地址,实现LDP扩展发现机制,建立LDP远端会话。
Targeted Hello消息使用UDP协议,目的地址是单播地址,目的端口是LDP端口(646)。Targeted Hello消息同样携带LDP Identifier及一些其他信息(例如hello-hold time、transport address)。如果LSR接收到Targeted Hello消息,表明该LSR存在LDP Peer。
LDP会话建立过程
两台LSR之间交换Hello消息触发LDP会话的建立。
LDP会话的建立过程如图3-2所示:
两个LSR之间互相发送Hello消息。Hello消息中携带传输地址,双方使用传输地址建立LDP会话。首先传输地址较大的一方将作为主动方,发起建立TCP连接。如图3-2所示,LSR A作为主动方发起建立TCP连接,LSR B作为被动方等待对方发起连接。
TCP连接建立成功后,由主动方LSR A发送Initialization消息,协商建立LDP会话的相关参数,包括LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等。
被动方LSR B收到Initialization消息后,如果不能接受相关参数,则发送Notification消息终止LDP会话的建立;如果被动方LSR B能够接受相关参数,则发送Initialization消息,同时发送Keepalive消息给主动方LSR A。
主动方LSR A收到Initialization消息后,如果不能接受相关参数,则发送Notification消息给被动方LSR B终止LDP会话的建立;如果能够接受相关参数,则发送Keepalive消息给被动方LSR B。
当双方都收到对端的Keepalive消息后,LDP会话建立成功。
LDP动态能力通告
- mLDP全局能力使能及去使能
- mLDP MBB特性
自动建立LDP远端会话
普通的建立LDP远端会话的方式是在两端设备上手动配置。但是,在某些场景中需要支持自动建立LDP远端会话。例如:在部署Remote LFA FRR的场景中(请参见LDP Auto FRR),当源端设备利用Remote LFA算法计算出PQ节点后,为了在源端设备和PQ节点之间建立起LDP隧道,LDP需要根据PQ节点地址自动建立源端设备与PQ节点之间的LDP远端会话。
自动建立LDP远端会话的原理是:当LSR收到R位为1的Targeted Hello消息时,LSR将自动创建LDP远端对等体,并向源端回复R位为0的Targeted Hello消息,进而触发建立LDP远端会话。其中,Targeted Hello消息中的R位为1表示要求接收方周期性回复Targeted Hello消息,R位为0则表示不要求回复。如果在固定时间内LSR收不到R位为1的Targeted Hello消息,则LSR将删除与对应源端之间自动建立的LDP远端会话。