LDP 会话保护

当ldp的邻居的直连接口出现故障时,会直接影响ldp neighbor的建立状态,如果说链路恢复后,ldp的neighbor肯定是会重建的,这无可厚非,

但是这里要强调的问题是这样的,如果说链路出现了震荡,导致复返的问题呢?

是不是将会导致ldp的邻居反复的重建?因为LDP是和BGP一样,使用TCP协议来建立邻居关系,速度上肯定是会慢一些,

而为了不影响这样的情况发生,我们需要对ldp的会话进行一个保护措施。通过这个会话保护 ,使链路在恢复的过程中加快速度。

 

如下图所示

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_TCP

 


R1-R2-R3全部运行IGP协议,然后运行MPLS,彼此直连建立ldp neighbor关系.

先在R1上查看,能否看到两个邻居

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_R3_02

 


此时我们将R1的f0/1口down掉,我们看一下效果是什么样的

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_R3_03

 


邻居3.3.3.3不复存在了, 这是一定的,因为R1和R3并没有建立非直连的neighbor关系

所以也就没有办法保存这个会话了。

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_R3_04

 


同样,在R1的bindings中也不会看到R3发过来的标签了。

 

具体实施

步骤如下,

1先要定义一个ACL,来指定邻居
2 mpls ldp session protection for (acl-peer) duration sencondes
ACL peer ,是匹配所需要的ldp peer ,匹配的是ldp routerid , duration,指的是持续的时间,默认为永久。

这里需要注意的是,在建立会话保护时,要两端都设置才可以,

如果有一要额外的命令,(一会儿再说)

R1-R3进行会话保护的具体配置如下

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_R3_05

 


先要定义ACL,指定邻居的ID,

然后定义一个MPLS的会话保护,指定ACL列表,时间为永久保护

R3也做同样的配置

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_链路_06

 


验证一下效果

现在我们再到R1上将F0/1down掉,看看会发生什么?

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_mpls ldp邻居状态没有建立_07

 


由于开启了会话保护,所在当直连接口或是链路down掉以后也无防,邻居关系还在,

只不过是它的标记有一些特殊,active,passive,是一个被动的邻居

 另外,我们来看一下bindings

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_R3_08

 


 

由R3发过来的标签也还都在,看来是会话保持起了作用了。

 

不支持会话保护

如果此时,R3并不支持Mpls 的session,怎么办?

 

还得得之前提到的非直连ldp的被动模式吗?只要是能够接收targeted-hello也可以了

Mpls ldp discovery targeted-hello accept from xxx

 

总结

对于mpls 的会话保护 是建立在两端的,所以说两端 都要配置

LDP的会话保护 一定是存在有备份线路的基础之上的。

 

LDP 认证

LDP 的认证是非常非常简单的,不像OSPF啊那些玩意

它只有一条命令

即指定邻居设置password

Mpls ldp neighbor x.x.x.x password xxx

 

mpls ldp邻居状态没有建立 mpls ldp 邻居状态_TCP_09