目录
10、RSR系列路由器与思科建立BFD邻居,发现邻居不断震荡
应用场景
企业租用运营商MSTP线路,配置BGP路由协议上网,由于企业本端出口路由器无法检测到运营商中间链路通信中断,导致路由收敛缓慢,无法快速的切换到其它备份线路,此时可以在路由器上启用BGP与BFD联动来解决该问题,它能快速检测出运营商网络的中断,快速地切换到其它备份线路,提高用户的网络体验。
一、组网需求
Router A 、Router B 通过二层交换机switch 互连,在设备上运行 BGP协议来建立路由,同时使能允许BGP在双方接口上关联BFD应用。在Router B 和二层交换机swicth 之间的链路发生故障后,BFD能够快速检测并通告BGP协议,触发协议快速收敛。
二、组网拓扑
三、配置要点
1、配置BGP路由
2、配置BGP与BFD联动
1)接口使能BFD功能
2)选择BFD模式
3)BGP和RIP联动
四、配置步骤
Router A配置:
1、配置RIP路由
RSR-A(config)#interface gigabitEthernet 2/1
RSR-A(config-GigabitEthernet 2/1)#ip ref
RSR-A(config-GigabitEthernet 2/1)#ip address 172.16.11.1 255.255.255.0
RSR-A(config)#interface gigabitEthernet 1/1
RSR-A(config-GigabitEthernet 1/1)#ip ref
RSR-A(config-GigabitEthernet 1/1)#ip address 172.19.0.1 255.255.255.0
RSR-A(config-router)# router bgp 45000
RSR-A(config-router)# bgp log-neighbor-changes
RSR-A(config-router)# neighbor 172.16.11.2 remote-as 40000
RSR-A(config-router)# address-family ipv4
RSR-A(config-router-af)# neighbor 172.16.11.2 activate
RSR-A(config-router-af)# no auto-summary
RSR-A(config-router-af)# no synchronization
RSR-A(config-router-af)# network 172.19.0.0 mask 255.255.255.0
2、配置BGP与BFD联动
RSR-A(config)#interface gigabitEthernet 2/1
RSR-A(config-GigabitEthernet 2/1)#bfd interval 500 min_rx 500 multiplier 3
//配置BFD时间参数,该命令同时启用了接口的BFD功能,因此必须配置;
这里的 500/500/3 为推荐配置,间隔500ms发送一个探测报文,连续3个没收到回应宣告链路失败。
RSR-A(config-GigabitEthernet 0/0)#no bfd echo
//推荐配置为该模式(ctrl模式),默认是bfd echo模式;
和友商对接推荐ctrl模式,否则可能对接不起来。
RSR-A(config-router)# router bgp 45000
RSR-A(config-router)#neighbor 172.16.11.2 fall-over bfd //开启BGP与BFD联动
Router B配置:
1、配置RIP路由
RSR-B(config)#interface gigabitEthernet 2/1
RSR-B(config-GigabitEthernet 2/1)#ip ref
RSR-B(config-GigabitEthernet 2/1)#ip address 172.16.11.2 255.255.255.0
RSR-B(config)#interface gigabitEthernet 1/1
RSR-B(config-GigabitEthernet 1/1)#ip ref
RSR-B(config-GigabitEthernet 1/1)#ip address 172.20.0.1 255.255.255.0
RSR-B(config-router)# router bgp 40000
RSR-B(config-router)# bgp log-neighbor-changes
RSR-B(config-router)#neighbor 172.16.11.1 remote-as 45000
RSR-B(config-router)#address-family ipv4
RSR-B(config-router-af)# neighbor172.16.11.1 activate
RSR-B(config-router-af)# no auto-summary
RSR-B(config-router-af)# no synchronization
RSR-B(config-router-af)# network172.20.0.0 mask 255.255.255.0
2、配置BGP与BFD联动
RSR-B(config)#interface gigabitEthernet 2/1
RSR-B(config-GigabitEthernet 2/1)#bfd interval 500 min_rx 500 multiplier 3
RSR-B(config-GigabitEthernet 0/0)#no bfd echo
RSR-B(config-router)# router bgp 40000
RSR-B(config-router)#neighbor 172.16.11.1 fall-over bfd
五、配置验证
1、通过show bfd neighber 确认BFD邻居状态。
1、什么是BFD
BFD (Bidirectional Forwarding Detection) 双向转发检测。BFD能够尽快检测到与相邻设备间的通信故障,以便能够及时采取措施,要求网络设备能够快速检测出故障并将流量切换至备份链路以加快网络收敛速度,从而保证业务继续进行,减小设备故障或链路故障对业务的影响、提高网络的可用性。BFD报文分为控制报文(control packets)和回复报文(echo packets)。
2、我司的BFD功能与友商是否兼容
我司BFD功能遵照RFC标准,能够与友商兼容。
3、目前我司支持哪种BFD会话建立模式
支持:主动模式(默认配置)
不支持:被动模式
4、RSR系列路由器哪些接口支持BFD功能
最新软件版本的路由器产品中,BFD支持在同步口、异步口、ATM、串口、帧中继、POS、CPOS、拨号口、以太口及子接口、E1、信道化的 ATM、信道化的CPOS、MPPP接口上配置。
5、BFD与DLDP间的相同与区别
相同点:
都能够检测链路的通信状态是否正常。
区别:
1:DLDP使用icmp报文检测、BFD使用BFD报文来检测。
2:DLDP为无状态检测协议(对端无需配置DLDP功能);BFD为有状态检测协议(必须双方都支持并且配置了BFD功能,邻居协商成功后才开始通过BFD报文进行链路状态检测)。
3:DLDP在检测到链路通信中断后,只能将该链路的protocol状态置为down以达到路由收敛的目的;而BFD能够支持与各种上层协议(包括但不限于:路由协议、VRRP等)联动以达到快速收敛的目的。
6、目前我司支持哪几种BFD检测模式
支持:异步模式、回声模式。
不支持:查询模式
7、开启BFD功能是否两端都需要进行配置
是,如果要开启BFD功能则设备两端都要配置,由于BFD实现的机制通过验证链路可用性来控制路由协议,因此需要绑定路由协议BFD功能才能生效。
8、RSR路由器BFD与BGP联动的效果
BFD检测到BGP邻居断开后,会把从该邻居学到的路由撤销,但是BGP的邻居不会立即断开,除非等到BGP邻居hold time时间超时。
9、BFD与静态路由联动不成功
配置BFD与静态路由联动时需注意,此时静态路由必须配置成出接口+下一跳的模式,如ip route 0.0.0.0 0.0.0.0 gi0/0 1.1.1.1,并且此出接口和下一跳与BFD配置一致.如果静态路由只配置下一跳,如:ip route 0.0.0.0 0.0.0.0 1.1.1.1,无法联动成功。
10、RSR系列路由器与思科建立BFD邻居,发现邻居不断震荡
RSR系列路由器与思科建立BFD邻居,发现bfd状态不断翻滚。down掉的原因为对端关闭bfd session,日志如下:
%BFD-6-SESSION_STATE_UP: BFD session to neighbor 10.255.238.2 on interface GigabitEthernet 2/1/1 is up
%BFD-6-SESSION_STATE_DOWN: BFD session to neighbor 10.255.238.2 on interface GigabitEthernet 2/1/1 has gone down. Reason: Neighbor Signaled Session Down
%BFD-6-SESSION_STATE_UP: BFD session to neighbor 10.255.238.2 on interface GigabitEthernet 2/1/1 is up
经分析是由于思科要求BFD报文的TTL值必须为255,而我司通过代理发出的BFD报文TTL值为254,导致思科拆除BFD session。
解决方法:
升级至最新的软件版本。
11、BFD功能对接出现问题,需要搜集哪些信息
1)搜集两端的如下信息
show version
show run
show bfd neighbors
show ip static route 显示静态路由与BFD联动信息
show ip bgp neighbors 显示BGP与BFD联动信息
show ip ospf 显示OSPF与BFD联动信息
show ip rip database 显示RIP与BFD联动信息
2)条件允许情况下对两端交互的BFD报文进行抓包