1、报文中各字段的含义解释如表2-1。表2-1 BFD控制报文字段含义字段名长度含义Vers(Version)3比特协议的版本号,目前版本号为1。Diag(Diagnostic)5比特本地系统最后一次会话Down的原因。不同值表示的原因如下:0:No Diagnostic1:Control Detection Time Expired2:Echo Function Failed3:Neighbor Signaled Session Down4:Forwarding Plane Reset5:Path Down6:Concatenated Path Down7:Administratively Do
2、wn8:Reverse Concatenated Path Down931:Reserved for future useSta(State)2比特当前BFD会话的状态。不同值表示的状态如下:AdminDownDownInitUpP(Poll)1比特不同值表示的含义如下:表示发送系统请求进行连接确认,或者发送请求参数改变的确认。表示发送系统不请求确认。F(Final)表示发送系统响应一个接收到P比特为1的BFD包。表示发送系统不响应一个P比特为1的包。C(Control Plane Independent)表示发送系统的BFD实现不依赖于它的控制平面。即,BFD报文在转发平面传输,即使控制平面
3、失效,BFD仍然能够起作用。表示BFD报文在控制平面传输。A(Authentication Present)设置为1时,表示控制报文包含认证字段,并且会话是被认证的。D(Demand)表示发送系统希望工作在查询模式。表示发送系统不希望、或不能工作在查询模式。R(Reserved)该字段在发送时设置为0,在接收时忽略。Detect Mult(Detect time multiplier)1字节检测时间倍数。查询模式:采用本地检测倍数。异步模式:采用对端检测倍数。LengthBFD控制报文的长度,单位为字节。My Discriminator4字节发送系统产生的一个唯一的、非0鉴别值,用来区分一个系
4、统的多个BFD会话。Your Discriminator从远端系统接收到的鉴别值,这个域直接返回接收到的“My Discriminator”,如果不知道这个值就返回0。Desired Min Tx Interval本地系统发送BFD控制报文时想要采用的最小时间间隔,单位为微秒。Required Min Rx Interval本地系统能够支持的接收两个BFD控制报文之间的间隔,单位为微秒。Required Min Echo Rx Interval本地系统能够支持的接收两个BFD回声报文之间的间隔,单位为微秒。如果这个值设置为0,则发送系统不支持接收BFD回声报文。Auth TypeBFD控制报文
5、使用的认证类型。不同值表示的认证类型如下:ReservedSimple PasswordKeyed MD5Meticulous Keyed MD5Keyed SHA1Meticulous Keyed SHA16255:Auth Len认证字段的长度,包括认证类型与认证长度字段,单位为字节。2.1.3 BFD的检测模式BFD提供异步和查询两种检测模式。各系统间按照协商好的周期发送BFD控制报文,如果某个系统在检测时间内没有收到对端发来的报文,置会话为Down。假定每个系统都有一个独立的方法,确认自己连接到其他系统。这样,一旦一个BFD会话建立,系统停止发送BFD控制报文,除非某个系统需要显式地验
6、证连接性。在需要显式验证连接性的情况下,系统以协商的周期连续发送几个P比特位置1的BFD控制报文。如果在检测时间内没有收到返回的报文,就认为会话Down;如果在检测时间收到返回的报文,就认为检测链路连通,则不再发送BFD控制报文,等待下一次查询的触发。关于BFD的进一步介绍可参考VRP 特性描述 可靠性。本节介绍如下的内容:典型组网环境配置注意事项故障诊断流程故障处理步骤2.2.1 典型组网环境BFD的典型组网如图2-2所示。本章的BFD故障处理将基于该网络。图2-1 BFD典型组网图在此组网中,采用如下方案:路由器RouterA、RouterB和RouterC都支持BFD功能。使用BFD检测
7、RouterA、RouterB之间的直连链路。使用BFD检测RouterA、RouterC之间的多跳路由。2.2.2 配置注意事项配置项子项注意事项使能BFD全局使能BFD在系统视图下配置。配置BFD会话前,必须全局使能BFD接口使能BFD在接口视图下配置。只有物理接口可以使能BFD。配置单跳BFD检测时,出接口必须使能BFD。创建BFD配置项cfg-nameBFD配置名称。用来标识一个BFD配置项。peer-ip ip-address对端IP地址。配置BFD会话时必须绑定对端IP地址。对端IP地址配置后不可更改。interface interface-type interface-numbe
8、rBFD会话绑定的出接口。配置BFD单跳检测时必须绑定出接口。如果配置BFD会话时不绑定出接口,则BFD检测的是多跳链路。source-ip ip-address源IP地址(可选参数)。如果不指定源IP,系统将在本地路由表中查找去往对端IP地址的出接口,以该出接口的IP地址做为本端发送BFD报文的源IP地址。如果在BFD会话配置成功后,修改出接口的IP地址,BFD报文中的源IP地址不会更新。当BFD与单播逆向路径转发URPF(Unicast Reverse Path Forwarding)特性一起应用时,由于URPF会对接收到的报文进行源IP地址检查,用户在创建BFD绑定时,需要指定BFD报文
9、的源IP地址,以免BFD报文被错误地丢弃。系统只检查该参数是否是合法的IP地址,不进行正确性检查。配置BFD会话参数discriminator local discr-value在BFD会话视图下配置本地标识符。BFD会话本端配置的本地标识符和对端配置的远端标识符相同。配置成功后不可更改。discriminator remote discr-value在BFD会话视图下配置远端标识符。BFD会话本端配置的远端标识符和对端配置的本地标识符相同。wtr在BFD会话视图下配置BFD会话的等待恢复时间,单位为分钟,取值范围是160。创建BFD会话commit在BFD会话视图下,执行commit命令用来
10、使BFD配置生效,创建BFD会话。修改BFD配置,必须执行该命令使配置生效。下面以RouterA为例说明配置BFD时需要注意的事项。在RouterA上创建BFD会话atob,检测RouterA和RouterB之间的直连链路# 使能全局BFD。RouterA bfdRouterA-bfd# 使能接口的BFD。RouterA interface Pos 1/0/0RouterA-Pos1/0/0 bfd# 创建BFD配置项,BFD配置名是atob,对端的IP地址是10.1.1.2,出接口是POS1/0/0。RouterA bfd atob bind peer-ip 10.1.1.2 interfa
11、ce Pos 1/0/0# 配置BFD会话atob的本地和远端标识符。RouterA-bfd-session-atob discriminator local 1RouterA-bfd-session-atob discriminator remote 2# 提交BFD配置项,创建BFD会话。RouterA-bfd-session-atob commit在RouterA上创建BFD会话atoc,检测RouterA和RouterC之间的多跳链路# 创建BFD配置项,对端的IP地址是10.1.2.1,源IP地址是10.1.1.1。RouterA bfd atoc bind peer-ip 10.1
12、.2.1 source-ip 10.1.1.1# 配置BFD会话atoc的本地和远端标识符。RouterA-bfd-session-atoc discriminator local 3RouterA-bfd-session-atoc discriminator remote 2# 提交BFD配置项,创建BFD会话atoc。RouterA-bfd-session-atoc commit2.2.3 故障诊断流程针对图2-2所示的网络,在配置完两端的BFD会话后,发现会话没有建立或没有Up。请使用图2-3所示的故障诊断流程。图2-1 BFD故障诊断流程图2.2.4 故障处理步骤步骤 1检查BFD配置
13、是否提交在BFD会话视图下执行display this命令查看会话的配置,确认会话是否提交。如果会话未提交,则执行commit命令提交会话。步骤 2检查BFD会话数是否已达到上限BFD会话在不同设备上配置项和会话项的上限不同,一般情况下分为全局配置上限和单板会话建立上限。如果达到全局配置上限,则不能再配置会话;如果尚未抵达全局配置上限,但设备上所有单板已经抵达会话建立上限,则可以继续配置会话,但无法建立。通过在任意视图下执行display bfd statistics命令查看全局会话配置上限和单板会话建立上限、全局已配置会话数和单板已建立会话数。如果BFD会话数已达单板会话建立上限或全局配置上
14、限,则删除无用的会话。步骤 3检查是否有合适的处理板没有合适的处理板的情况分为两类:绑定出接口的BFD会话如果此接口所在的接口板不支持BFD功能,那么就选不到合适的处理板。未绑定接口的会话,但出接口为Trunk、VLANIF等逻辑接口有的接口板支持BFD但不支持Trunk、VLANIF等特性,所以如果出接口为Trunk、VLANIF等逻辑接口时,也会找不到合适的处理板。目前产品对BFD功能的支持情况如下:NE05、NE08E、NE16E、NE40和NE80支持BFD功能且没有接口板的限制。NE40E、NE80E、NE5000E设备支持BFD,但对接口板有限制。210G以太线路板和24口GE线路
15、板G板不支持BFD功能。确认设备的接口板对BFD功能的支持情况。如果没有支持BFD功能的接口板,请添加支持BFD功能的接口板。步骤 4检查路由是否可达分为两种情况:绑定出接口的会话绑定出接口的BFD会话检测的链路必须是直连链路,配置的peer ip地址与出接口的IP地址必须在同一个网段。执行display ip interface brief查看出接口的IP地址,执行display bfd configuration all命令查看BFD会话配置的对端IP地址,确认是否在一个网段。未绑定出接口的BFD会话本端路由器必须配置有到达对端IP地址的路由。执行ping命令,验证对端IP地址是否可达。如
16、果没有可达对端IP地址的路由,则配置网络层属性,使路由可达。步骤 5检查BFD会话两端的本地和远端标识符是否对应BFD要求本端配置的本地标识符和对端配置的远端标识符相同;本端配置的远端标识符和对端配置的本地标识符相同。在会话视图下,通过display this命令查看会话配置中的标识符是否正确。如果会话已经建立,也可以执行display bfd session discriminator discr-value verbose命令查看到配置的标识符是否正确。步骤 6检查是否配置了WTR如果配置了WTR,会话在从其它状态切换到Up状态时,都会等待恢复定时器WTR超时后,才会将Up状态上报给应用程
17、序。执行命令display bfd session all verbose,查看WTR字段的值。如果显示为“-”则表示没有配置WTR,是立即上报。如果显示为非0的数字,表示WTR定时器尚未超时,等待WTR定时器超时即可。步骤 7检查是否有一端关闭了会话管理功能在BFD会话两端分别执行display bfd session discriminator discr-value verbose命令,discr-value是会话的本地标识符。如果有一端当前状态为AdminDown,则在该端BFD会话视图下执行undo shutdown命令。步骤 8检查是否收到对端的BFD协商报文如果收不到对端的协商报
18、文,BFD会话不能Up。在用户视图下打开debugging bfd packet的开关,查看本端是否正常发送和接收BFD报文。步骤 9检查BFD报文是否被丢弃如果对端发送的协商报文有误,BFD模块直接丢弃报文,也会导致BFD会话不能Up。在用户视图下打开debugging bfd error的开关,查看本端是否丢弃了BFD报文。-结束如果故障仍未排除,请联系华为的技术支持工程师。2.3.1 典型组网环境请参见2.2.1 典型组网环境。2.3.2 配置注意事项请参见2.2.2 配置注意事项。2.3.3 故障诊断流程针对图2-2所示的网络,在配置完两端的BFD会话后,发现会话频繁在Up/Down之
19、间切换,请使用下面的故障诊断流程,如图2-4所示。2.3.4 故障处理步骤步骤 1检查是否配置了ACL等限制如果在组网中配置ACL等限制,可能会导致BFD报文丢失,从而影响BFD会话状态的切换。执行命令display acl all查看是否配置了ACL等限制。如果配置了相关限制,请取消。步骤 2检查BFD会话的最小发送间隔和最小接收间隔参数。执行命令display bfd session all verbose查看BFD会话信息,如果最小发送间隔和最小接收间隔参数配置过小,可能引起BFD会话震荡。建议将这两个参数值设置在100以上。步骤 3检查会话配置是否出现多对一的现象目前BFD会话的本地和
20、远端标识符都是静态配置的,配置时不能出现多个BFD会话对应一个本地标识符的情况。多对一现象的表现是:两边会话Down的原因均为Neighbor Down,从Up到Down的时间间隔一般为秒级,并且间隔固定。在任意视图下执行命令display bfd configuration all或者在BFD会话视图下执行命令display this查看会话的配置信息。步骤 4检查BFD会话两端使用的软件版本是否一致早期的版本中,BFD报文发送的时间间隔的单位是毫秒,在后期的版本中时间间隔的单位是微秒,时间间隔单位不同的报文之间不能互通。VRP的版本分界点是VRPV500R003B03D017,VRPV50
21、0R003B03D017以前的版本和VRPV500R003B03D017之后的版本不能互通。NE40E、NE80E、NE5000E的版本分界点是V300R001B02H,V300R001B02H之前的版本和V300R001B02H之后的版本不能互通。在任意视图下执行命令display version命令查看产品版本。步骤 5检查设备中是否有不支持BFD的接口板如果设备上存在不支持BFD的接口板,会影响BFD的状态切换。因为BFD报文是IP报文,对于非绑定接口的会话,BFD报文的转发按照IP转发流程,如果两端收到BFD报文的接口板不支持BFD,则会因无法解析报文而丢弃。如果设备中有不支持BFD的
22、接口板,请重新配置会话,避免BFD报文经不支持BFD的接口板处理。2.4.1 会话无法UP网络环境图2-1 配置BFD单跳检测组网图配置完BFD会话后,会话状态无法UP。故障分析可能原因如下:网络层没有连通两端的本地和远端标识符不对应若不是直连情况,没有通过绑定源地址进行配置有一端关闭了会话管理功能处理步骤步骤 1执行ping命令,验证目的地址是否可达。步骤 2执行display bfd session discriminator命令,验证两端的本地和远端标识符是否对应。步骤 3如果不是直连,执行display bfd session all verbose命令,bind type应该显示为P
23、eer Ip Address。步骤 4在两端执行display bfd session all,如果有一端当前状态为:AdminDown,在该端BFD会话视图下执行undo shutdown,可恢复。2.4.2 采用缺省组播地址的BFD会话不能UP图2-1 采用缺省组播地址的BFD会话组网示意图如图2-6所示,RouterB的GE1/0/0和GE2/0/0作为二层以太口,分别连接RouterA和RouterC。在RouterA和RouterC之间建立采用缺省组播地址的单跳BFD会话。RouterA与RouterC能够Ping通对方的GE接口IP地址,但BFD会话的状态始终为Down。采用“2.
24、4.1 会话无法UP”介绍的方法进行分析,没有发现错误。由于RouterA与RouterC中间存在RouterB,分析可能原因是RouterB没有正确转发来自RouterA和RouterC的BFD报文。步骤 1在RouterB上执行display current-configuration configuration bfd命令和display current-configuration configuration bfd-session命令,发现RouterB上也配置了采用缺省组播地址检测的BFD会话。这样,当RouterA和RouterC发出的BFD报文到达RouterB时,被Router
25、B错误地进行了处理,没有转发出去。步骤 2在RouterA和RouterC的系统视图下执行undo bfd cfg-name命令,删除BFD会话。步骤 3在RouterA和RouterC的系统视图下执行bfd命令,进入BFD视图后执行default-ip-address ip-address命令,配置一个与缺省值224.0.0.184不同的组播IP地址。步骤 4在RouterA和RouterC上重新配置BFD会话,会话可以进入UP状态。2.4.3 BFD会话震荡问题在RouterA、RouterB以及RouterC之间配置BFD会话,如图2-7。图2-1 BFD组网图配置完成后,发现BFD会话
26、状态以固定的间隔不断地进入Down状态,然后又快速转换为Up状态,即出现会话状态震荡现象。在RouterA、RouterB和RouterC上使用display bfd configuration all和display this命令,分别查看三台路由器上的配置。RouterA的显示信息如下:RouterA display bfd configuration all-CFG Name Local Discr MIndex Session Count Commit Flag Admin Flagatob 1 257 1 True False Total Commit/Uncommit CFG Number : 1/0 RouterA bfd atobRouterA-bfd-session-atob display this#bfd atob bind peer-ip 10.1.1.2 discriminator local 1 discrimin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1