Print

某局点多条静态路由与bfd联动后部分静态路由bfd会话未建立经验案例

2019-09-26 发表

组网及说明

不涉及。

问题描述

设备做了多条静态路由与bfd联动,开始测试阶段,物理接口都是down的状态时,display bfd session发现bfd会话只记录了部分静态路由会话信息,另外一部分静态路由bfd会话不存在。


过程分析

设备主要配置如下:

ip route-static vpn-instance vpn1 10.10.10.0 23 NULL0
ip route-static vpn-instance vpn1 10.10.10.156 32 10.10.10.142 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.156 32 10.10.10.146 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.157 32 10.10.10.142 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.157 32 10.10.10.146 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.158 32 10.10.10.150 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.158 32 10.10.10.154 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.159 32 10.10.10.150 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn1 10.10.10.159 32 10.10.10.154 bfd control-packet bfd-source 10.10.10.126
ip route-static vpn-instance vpn2 10.10.20.0 25 NULL0
ip route-static vpn-instance vpn2 10.10.20.36 32 10.10.20.142 bfd control-packet bfd-source 10.10.20.126
ip route-static vpn-instance vpn2 10.10.20.36 32 10.10.20.146 bfd control-packet bfd-source 10.10.20.126
ip route-static vpn-instance vpn2 10.10.20.37 32 10.10.20.150 bfd control-packet bfd-source 10.10.20.126
ip route-static vpn-instance vpn2 10.10.20.37 32 10.10.20.154 bfd control-packet bfd-source 10.10.20.126
ip route-static vpn-instance vpn2 10.10.20.128 25 NULL0

设备display bfd session显示如下:

[8805-F]dis bfd sess

Total Session Num: 4     Up Session Num: 0     Init Mode: Active

IPv4 Session Working Under Ctrl Mode:

LD/RD            SourceAddr      DestAddr        State  Holdtime    Interface

4097/0           10.10.20.126  10.10.20.142  Down      /        N/A       

4098/0           10.10.20.126  10.10.20.146  Down      /        N/A       

4099/0           10.10.20.126  10.10.20.150  Down      /        N/A       

4100/0           10.10.20.126  10.10.20.154  Down      /        N/A  

仔细查看设备配置发现,设备配置了3条黑洞路由(如上加粗),怀疑是和匹配黑洞路由有关系;经测试,把黑洞路由删除,在接口down的情况下,不存在任何bfd会话,锁定该故障现场和设备中配置的黑洞路由有关系;

经进一步实验验证,得出如下结论:

没有bfd session是因为路由的目的地址和下一跳迭代到了同一个黑洞路由,这种情况下bfd session是起不来的,如下:

ip route-static vpn-instance vpn1 10.10.10.0 23 NULL0

ip route-static vpn-instance vpn1 10.10.10.156 32 10.10.10.142 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.156 32 10.10.10.146 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.157 32 10.10.10.142 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.157 32 10.10.10.146 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.158 32 10.10.10.150 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.158 32 10.10.10.154 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.159 32 10.10.10.150 bfd control-packet bfd-source 10.10.10.126

ip route-static vpn-instance vpn1 10.10.10.159 32 10.10.10.154 bfd control-packet bfd-source 10.10.10.126

10.10.10.156和10.10.10.142都迭代到了10.10.10.0 23这条路由;
目的地址和下一跳会迭代到不同的黑洞路由,有bfd session对应的路由,如下:

ip route-static vpn-instance vpn2 10.10.20.0 25 NULL0

ip route-static vpn-instance vpn2 10.10.20.36 32 10.10.20.142 bfd control-packet bfd-source 10.10.20.126

ip route-static vpn-instance vpn2 10.10.20.36 32 10.10.20.146 bfd control-packet bfd-source 10.10.20.126

ip route-static vpn-instance vpn2 10.10.20.37 32 10.10.20.150 bfd control-packet bfd-source 10.10.20.126

ip route-static vpn-instance vpn2 10.10.20.37 32 10.10.20.154 bfd control-packet bfd-source 10.10.20.126

ip route-static vpn-instance vpn2 10.10.20.128 25 NULL0

10.10.20.36会迭代到10.10.20.0 25这一条路由,10.10.20.142会迭代到10.10.20.128 25这条路由。

解决方法

在路由下一跳不可达的情况下(如本例中物理口down的测试环境),路由的目的地址和下一跳迭代到了同一个黑洞路由,就不会存在bfd会话;目的地址和下一跳会迭代到不同的黑洞路由,就会存在bfd会话。在实际业务中,为了保证静态路由和bfd的有效联动,建议现场合理调整黑洞的路由的配置。