OSPF、BGP、ISIS的路由收敛时间、缩减路由收敛时间的措施有哪些

2023-07-20 08:43:34

路由收敛的概念


路由收敛指网络的拓扑结构发生变化后,路由表重新建立到发送再到学习直至稳定,并通告网络中所有相关路由器都得知该变化的过程。也就是网络拓扑变化引起的通过重新计算路由而发现替代路由的行为。

路由收敛的触发条件

  1. 路由器失效
  2. 连接失效
  3. 管理度量调整等

各个动态路由协议路由收敛的时间(该时间可以手动修改)

  • RIPv2 180s
  • OSPF:hello报文发送周期为10s或30s,hold时间=hello*4 (40|120s)限制邻居建立好之后,多久没有通过你收到hello,我们之间的邻接关系down掉。
  • ISIS:使用的是优化过的I-SPF算法,收敛时间肯定小于OSPF的,思科默认是5s,其他厂家具体,请网友们评论处解答哈^V^。
  • BGP:180s

均可以手动配置修改:改低了影响设备性能,改高了影响路由收敛体验。视具体拓扑来定。

注意:OSPF修改hold时间会引起邻居震荡(两边hold,hello-intertime得一致,否则邻居起不来)

如何提升现网的路由收敛效率


怎么样去提升动态路由的路由收敛效率,是我们每个网络工程师需要考虑的问题。根据每个动态路由协议的特点去结合现有技术实现路由的快速收敛,确保业务的高可用性,业务中断时间越短越好(切换时少丢几个包,甚至不丢包)。

比如说RIP协议路由收敛时间180s,这个时间是我们完全无法忍受的,需要借助如下协议去缩减路由收敛的时间。

NQA(Network Quality Analyzer):网络质量分析,有H3C研发,NQA并不是一种协议,它是根据标准的协议或端口发送探测消息,对网络性能、网络提供的服务及服务质量进行分析,为用户提供网络性能和服务质量的参数,如时延抖动、TCP连接时延、FTP连接时延和文件传输速率等。被探测方不需要安装任何特殊组件,只需按照标准进行响应即可。NQA支持10种探测类型:ICMP-echo、DHCP、FTP、HTTP、UDP-jitter、SNMP、TCP、UDP-echo、Voice和DLSw。

BFD(Bidirectional forwarding detection):双向转发检测机制,用于快速检测,监控网络中链路或者ip路由的转发连通状况。它经常搭配各种igp和bgp路由一起使用,达到快速收敛的作用。通过建立BFD会话,默认每隔一秒发送BFD检测报文,3倍的超时时间来对网络状况进行全方位的监控。

BFD是一套全网统一的检测机制,用于快速检测网络中链路连通状况。BFD是一种协议,相比NQA,它能够更快速地检测到链路的通信故障。但是BFD探测需要两端设备都支持此协议,而且它不能探测某项服务是否可达。不过从路由收敛的角度考虑,BFD能进行链路检测已经足够。

BFD 提供的检测机制与所应用的接口介质类型、封装格式、以及关联的上层协议如 OSPF、BGP、RIP 等无关。BFD 在两台路由器之间建立会话,通过快速发送检测故障消息给正在运行的路由协议,以触发路由协议重新计算路由表,大大减少整个网络的收敛时间。BFD 本身没有发现邻居的能力,需要上层协议通知与哪个邻居建立会话。

具体实例:

与BFD结合后,RIP路由的切换可以在1s~2s内完成,路由切换速度提高了近90倍(180/2=90)。


配置案例:

静态路由BFD:(以华为设备为例)

R1: sys sysn R1 inter g0/0/1 ip address 10.0.13.1 24 inter g0/0/0 ip address 10.0.12.1 24 quit R2: sys sysn R2 inter g0/0/0 ip address 10.0.13.13 24 quit R3: sys sysn R3 inter g0/0/0 ip address 10.0.12.12 24 quit //静态路由配置 R2: ip route-static 10.0.12.0 24 10.0.13.1 R3: ip route-static 10.0.13.0 24 10.0.12.1 //BFD配置 R1: [R1]bfd //启用BFD配置 [R1-bfd]quit [R1]bfd 1 bind peer-ip 10.0.13.13 source-ip 10.0.13.1 auto //创建BFD会话绑定信息 R2: [R2]bfd [R2-bfd]quit [R2]bfd 1 bind peer-ip 10.0.13.1 source-ip 10.0.13.13 auto [R1]display bfd session all //检查BFD会话 [R1] ip route-static 0.0.0.0 0.0.0.0 10.0.13.13 track bfd-session 1 //配置静态路由并联动BFD

OSPF与BFD联动:拓扑同上(不变)

//删除原本的静态及BFD R1: undo ip route-static 0.0.0.0 0.0.0.0 10.0.13.13 undo ip route-static 0.0.0.0 0.0.0.0 10.0.12.12 undo bfd 1 R2: undo ip route-static 10.0.12.0 255.255.255.0 10.0.13.1 undo bfd 1 R3: undo ip route-static 10.0.13.0 255.255.255.0 10.0.12.1 undo bfd 1 //配置OSPF路由协议 R1: ospf 1 area 0.0.0.0 network 10.0.12.0 0.0.0.255 network 10.0.13.0 0.0.0.255 return R2: sys ospf 1 area 0.0.0.0 network 10.0.13.0 0.0.0.255 return R3: sys ospf 1 area 0.0.0.0 network 10.0.12.0 0.0.0.255 area 0.0.0.1 //配置OSPF与BFD联动。配置 BFD session需要在系统全局下开启BFD,并且在OSPF视图下启用联动BFD R1: sys bfd // 启用bfd quit ospf 1 bfd all-interfaces enable //在osp视图下启用联动bfd R2: sys bfd quit ospf 1 bfd all-interfaces enable //dis bfd session all 查看bfd会话

BGP联动BFD:以ASR9K为例

bfd multipath include location 0/0/CPU0 multipath include location 0/2/CPU0 echo disable dampening initial-wait 30000 ! router bgp 64515 vrf CCCC rd 10002:133 address-family ipv4 unicast redistribute connected redistribute static redistribute ospf 100 metric 0 redistribute rip ! neighbor 172.16.96.58 //ebgp 邻居 remote-as 65535 bfd fast-detect //bfd双向转发检测 address-family ipv4 unicast route-policy ebgppass in route-policy ebgppass out ! ! neighbor 172.16.21.38 remote-as 65133 bfd fast-detect address-family ipv4 unicast route-policy ebgppass in route-policy ebgppass out ! ! neighbor 172.21.219.58 remote-as 65133 bfd fast-detect address-family ipv4 unicast route-policy ebgppass in route-policy ebgppass out ! ! ! vrf BBBB rd 3300:2 address-family ipv4 unicast redistribute connected redistribute static ! neighbor 172.16.123.26 remote-as 65536 bfd fast-detect address-family ipv4 unicast route-policy ebgppass in route-policy ebgppass out ! ! ! router ospf 100 vrf AAAA bfd minimum-interval 50 bfd fast-detect bfd multiplier 3 redistribute connected redistribute static redistribute bgp 64545 metric-type 1 area 0 interface Bundle-Ether103.1929 ! ! !

相信大家对路由收敛有了质的了解。

【笔者为网络工程师,工作多年,希望把自己的经验分享给大家,觉得有用的,可以关注、点赞、转发,如有相同或者不同观点,欢迎积极评论,谢谢!】

【对计算机网络技术感兴趣的,不妨跟着我从基础开始学习。基础专栏详见下面的链接-《深入解析OSI七层网络模型》,小挨踢带你玩转网络技术】