OSPF部分接口无邻居导致主备倒换丢包

发布时间:  2014-08-12 浏览次数:  168 下载次数:  0
问题描述
在进行设备主备倒换测试时,发现流量中断。修改GR超时时间为较大值后仍无法解决,且丢包时间随GR超时时间变化,每次丢包都是在GR时间超时一瞬间开始。
涉及版本:NE20E-S4 V800R005C01SPC200 
告警信息
处理过程
1、登陆设备检查发现OSPF的GR配置正确,尝试将GR时间从3分钟延长到5分钟,然后主备倒换,仍然会在GR超时后丢包。
2、采集主备倒换期间日志,发现ospf在GR结束时失败:
OSPF 60 exited GR Unsuccessfully.
3、排查日志,记录GR失败的原因为接口状态变化,但是日志中并未看到接口状态变化。
OSPF 60 exited GR mode as interface status changed.  
4、排查设备配置,发现所有的OSPF接口都配置了P2P类型:ospf network-type p2p
5、检查设备所有配置了P2P类型OSPF的接口,发现并非所有接口都有OSPF邻居,将没有邻居的口关闭后,GR成功。 
根因
当接口的OSPF配置为P2P类型时,主备倒换后启动GR,会等待P2P类型的OSPF接口完成邻居建立,但是由于一部分接口没有邻居,所以直到GR时间超时也不会建立邻居。此时认为GR失败,因此会重置所有OSPF邻居,导致流量丢包。
建议与总结
如果准备使用GR,建议保证所有配置了P2P类型OSPF的接口都有邻居,或者改用广播类型OSPF。否则会在GR时间超时时,认为GR失败,重置所有OSPF邻居,导致丢包。因为广播网类型的OSPF邻居存在DR超时时间,所以可以以此来判断是否完成协商,完成GR;但是P2P类型的OSPF没有DR过程,也就没有超时时间,因此使用邻居建立成功为结束GR标志。对此,RFC中并没有确切规定,各厂商有自己的实现。

END