BFD for IS-IS
通常情况下,IS-IS设定发送Hello报文的时间间隔为10秒钟,一般将宣告邻居Down掉的时间(即邻居的保持时间)配置为Hello报文间隔的3倍。若在相邻设备失效时间内没有收到邻居发来的Hello报文,将会删除邻居。
由于设备能感知到邻居故障的时间最小为秒级,不能及时检测到链路的故障,因此可能会出现高速的网络环境中大量报文丢失的问题。
双向转发检测BFD(Bidirectional Forwarding Detection)就是为解决现有检测机制的不足而产生的,能够提供轻负荷、快速(毫秒级)的通道故障检测。一对系统在它们之间的所建立会话的通道上周期性的发送BFD检测报文,如果某个系统在足够长的时间内没有收到对端的BFD检测报文,则认为在这条到相邻系统的双向通道的某个部分发生了故障。
静态BFD
静态BFD是指通过命令行手工配置BFD会话参数,包括了配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
动态BFD
动态BFD是指由路由协议动态触发BFD会话建立。
BFD并不是代替IS-IS协议本身的Hello机制,而是配合IS-IS协议更快的发现邻接方面出现的故障。
BFD会话的建立与删除
创建BFD会话的条件
各设备配置了全局BFD功能并且使能了接口或者进程的BFD特性。
各设备配置了IS-IS基本功能并且在接口下使能了IS-IS。
使能了接口或者进程的BFD特性,且相邻设备的邻居状态为Up(广播网中须等到DIS选举出来)。
创建BFD会话的过程
P2P网络
满足创建BFD会话的条件后,IS-IS通知BFD模块直接在邻居间创建BFD会话并协商BFD的相关参数。
广播网络
满足创建BFD会话的条件且DIS已经选举出来后,IS-IS通知BFD模块在DIS与每台设备之间都自动创建BFD会话并协商BFD的相关参数。都不是DIS的两台设备之间不建立BFD会话。
广播网与P2P网络不同的是:虽然广播网中IS-IS同一网段上的同一级别的设备之间都会形成邻接关系,即包括所有的非DIS设备之间也会形成邻接关系,但在BFD for IS-IS实现上,只在DIS和非DIS之间建立BFD会话。非DIS之间不启动BFD会话。而P2P网络直接在邻居间创建会话。
如果同一链路上的同一对设备形成的是Level-1-2的类型的邻居,在广播网中,IS-IS会在Level-1和Level-2分别创建BFD会话,而在P2P网络中,IS-IS只会创建一个BFD会话。
删除BFD会话的过程
P2P网络
当IS-IS在P2P网络接口类型上建立的邻接关系断开时(非Up状态),删除对应的BFD会话。
广播网络
当IS-IS在广播网络接口类型上建立的邻接关系断开(非Up状态)或者广播网络DIS发生变化时,删除对应的BFD会话。
在接口上删除动态创建BFD会话的配置或者禁用了BFD for IS-IS功能后,与该接口相关的所有Up或DIS Up的邻接关系对应的BFD会话都被删除。
在IS-IS进程中取消BFD特性时,对应的BFD会话被删除。
说明:
由于IS-IS只能建立单跳邻居,BFD只对IS-IS邻居间的单跳链路进行检测。
响应BFD会话Down事件
当BFD检测到链路发生故障并产生Down事件时,会通告GFD,由GFD通知IS-IS链路Down事件。IS-IS响应这个事件并抑制邻居,重新进行路由计算,实现网络迅速收敛。
组网应用
请根据网络环境配置BFD,如果时间参数设置不当将会导致网络震荡。
BFD for IS-IS可以快速感知链路变化实现路由收敛。
配置要求:
如图2-13所示在各设备上使能IS-IS基本功能。
使能全局BFD特性。
在DeviceA和DeviceB上使能BFD for IS-IS。
这样,当DeviceA和DeviceB之间的链路故障时,BFD能够快速检测到故障并通告给IS-IS协议,IS-IS Down掉此接口的邻居,从而触发拓扑计算,同时更新LSP使得其他邻居(如DeviceB的邻居DeviceC)及时收到DeviceB的更新LSP,实现了网络拓扑的快速收敛。