13-BFD配置
本章节下载: 13-BFD配置 (402.58 KB)
l 在以下路由协议的介绍中所指的路由器及路由器图标,代表了一般意义下的路由器以及运行了路由协议的以太网交换机。为提高可读性,在手册的描述中将不另行说明。
l S3610&S5510交换机只有工作在MCE模式时,才能支持本文中提到的VPN实例功能以及相关命令中的vpn-instance参数。有关交换机工作模式的介绍,请参见IP业务分册中的“双协议栈配置”。
l 配置为路由模式的以太网端口适用本章中接口视图下的配置,有关以太网端口模式切换的操作,请参见接入分册的“以太网端口”部分。
BFD(Bidirectional Forwarding Detection,双向转发检测)是一套全网统一的检测机制,用于快速检测、监控网络中链路连通状况。为了提升现有网络性能,协议邻居之间必须能快速检测到通信故障,从而更快的建立起备用通道恢复通信。通常采用以下几种检测方法:
l 通过硬件检测信号(如SDH传输系统告警),快速检测到链路硬件上的故障。
l 在没有提供硬件检测信号,或不能通过硬件信号检测出故障时,网络通常采用路由协议中相对比较慢的Hello报文机制,检测到故障的时间超过1秒钟。当数据达到吉比特速率级时,这样长的检测到故障时间将导致大量的数据丢失。
l 用单一的机制对任何介质、任何协议层进行实时检测,并支持不同的检测时间与开销。
BFD提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议等统一地快速检测两台路由器间双向转发路径的故障。
BFD在两台路由器上建立会话,用来监测两台路由器间的双向转发路径,为上层协议服务。BFD本身并没有发现机制,而是靠被服务的上层协议通知其该与谁建立会话,会话建立后如果在检测时间内没有收到对端的BFD控制报文则认为发生故障,通知被服务的上层协议,上层协议进行相应的处理。
图1-1 BFD建立流程图
BFD建立过程:
l 上层协议通过自己的Hello机制发现邻居并建立连接;
l 上层协议在建立了新的邻居关系时,将邻居的参数及检测参数都(包括目的地址和源地址等)通告给BFD;
l BFD根据收到的参数进行计算并建立邻居。
图1-2 BFD发生故障处理流程图
当网络出现故障时:
l BFD检测到链路/网络故障;
l 拆除BFD邻居会话;
l BFD通知本地上层协议进程BFD邻居不可达;
l 本地上层协议中止上层协议邻居关系;
l 如果网络中存在备用路径,路由器将选择备用路径。
BFD草案中没有规定检测的时间精度,目前支持BFD的设备大多数提供的是毫秒级检测。
l 控制报文方式:链路两端会话通过控制报文交互监测链路状态。
l Echo报文方式:链路某一端通过发送Echo报文由另一端转发回来,实现对链路的双向监测。
BFD会话建立前有两种模式:主动模式和被动模式。
l 主动模式:在建立会话前不管是否收到对端发来的BFD控制报文,都会主动发送BFD控制报文;
l 被动模式:在建立对话前不会主动发送BFD控制报文,直到收到对端发送来的控制报文;
在会话初始化过程中,通信双方至少要有一个运行在主动模式才能成功建立起会话。
BFD会话建立后有两种模式:异步模式和查询模式。通信双方要求运行在相同的模式。
l 异步模式:以异步模式运行的设备周期性地发送BFD控制报文,如果在检测时间内没有收到BFD控制报文则将会话down。
l 查询模式:假定每个协议都有一个独立的方法,确认自己连接到其他协议。这样,只要有一个BFD会话建立,协议停止发送BFD控制报文,除非某个协议需要显式地验证连接性。
l 目前仅支持异步模式。
l 当BFD会话工作于echo报文方式时,不受运行模式控制。
l 在需要显式验证连接性的情况下,系统以协商的周期连续发送几个P比特位置1的BFD控制报文。如果在检测时间内没有收到返回的报文,就认为会话down;如果认为连通,则不再发送报文,等待下一次查询的触发。
会话建立后,可以动态协商BFD的相关参数(例如最小发送间隔、最小接收间隔、初始模式、报文认证等),两端协议通过发送相应的协商报文后采用新的参数,不影响会话的当前状态。
BFD提供了三种认证方式,分别是:
l Simple:简单字符认证
l MD5:MD5认证
l SHA1:SHA1认证(Secure Hash Algorithm 1)
BFD控制报文为UDP报文,其端口号为3784,如图1-3所示。
图1-3 BFD控制报文格式图
l Vers:协议的版本号,协议版本为1;
l Diag:给出本地协议最后一次从up状态转换到其他状态的原因如表1-1;
表1-1 Diag原因描述
Diag |
描述 |
0 |
无诊断信息(No Diagnostic) |
1 |
控制检测超时(Control Detection Time Expired) |
2 |
回声功能失效(Echo Function Failed) |
3 |
邻居通知会话down(Neighbor Signaled Session Down) |
4 |
转发平面重启(Forwarding Pane Reset) |
5 |
通道失效(Path Down) |
6 |
连接通道失效(Concatenated Path Down) |
7 |
管理down(Administratively Down) |
8~31 |
保留位(Reserved for future use) |
l State(Sta):BFD会话当前状态,取值为:0代表AdminDown,1代表Down,2代表Init,3代表Up。
l Demand(D):设置为1,表示发送协议希望操作在查询模式;设置为0,表示发送协议不区分操作在查询模式,或者表示发送协议不能操作在查询模式;
l Poll(P):设置为1,表示发送协议请求进行连接确认,或者发送请求参数改变的确认;设置为0,表示发送协议不请求确认;
l Final(F):设置为1,表示发送协议响应一个接收到P比特为1的BFD包;设置为0,表示发送协议不响应一个P比特为1的BFD包;
l Control Plane Independent(C):设置为1,表示发送协议的BFD实现不依赖于它的控制平面(换句话说,BFD在转发平面实施,即使控制平面失效了,BFD仍然能够起作用);设置为0,表示BFD在控制平面实施;
l Authentication Present(A):如果设置为1,则表示控制包包含认证字段,并且会话是被认证的;
l Reserved(R):在发送时设置为0,在接收时忽略;
l Detect Mult:检测时间倍数。
l Length:BFD控制包的长度,单位字节;
l My Discriminator:发送协议产生的一个唯一的、非0鉴别值,用来对两个协议之间的多个BFD会话进行分离;
l Your Discriminator:从远端协议接收到的鉴别值,这个域直接返回接收到的“My Discriminator”,如果不知道这个值就返回0;
l Desired Min Tx Interval:本地协议发送BFD控制包时想要采用的最小间隔,单位毫秒;
l Required Min Rx Interval:本地协议能够支持的接收两个BFD控制包之间的间隔,单位毫秒;
l Required Min Echo Rx Interval:本地协议能够支持的接收两个BFD回声包之间的间隔,单位毫秒。如果这个值设置为0,则发送协议不支持接收BFD回声包;
l Auth Type:BFD控制包使用的认证类型;
l Auth Len:认证字段的长度,包括认证类型与认证长度字段。
与BFD相关的协议规范有:
l draft-ietf-bfd-base-05:Protocol Independent Bidirectional Forwarding Detection
l draft-ietf-bfd-v4v6-1hop-05:BFD for IPv4 and IPv6 (Single Hop)
在需要为网络提供检测机制的情况下,可以配置BFD的各项功能。
表1-2 BFD配置任务简介
配置任务 |
说明 |
|
配置BFD基本功能 |
可选 双向转发检测的基本配置,是其他配置任务的基础 |
|
配置各协议与BFD联动 |
必选 使能BFD应用,实现在运行OSPF、VRRP、静态路由协议的链路上进行转发连通状况检测 |
在配置BFD检测方式之前,需完成以下任务:
l 配置接口的网络层地址,使相邻节点之间网络层可达
l 配置可支持BFD的路由协议
表1-3 配置BFD基本功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能会话建立模式 |
bfd session init-mode { active | passive } |
可选 缺省情况下,会话模式为active |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口最小报文发送时间间隔 |
bfd min-transmit-interval value |
可选 缺省情况下,最小报文发送时间间隔为400毫秒 |
配置接口echo报文最小接收时间间隔 |
bfd min-echo-receive-interval value |
可选 缺省情况下,echo报文最小接收时间间隔为400毫秒 |
配置接口最小报文接收时间间隔 |
bfd min-receive-interval value |
可选 缺省情况下,最小报文接收时间间隔为400毫秒 |
配置会话监测系数 |
bfd detect-multiplier value |
可选 缺省情况下,会话监测系数值为5 |
配置接口认证类型 |
bfd authentication-mode { md5 key-id key | sha1 key-id key | simple key-id password } |
可选 缺省情况下,接口为不认证模式 |
OSPF使用BFD来进行快速故障检测时,OSPF可以通过Hello报文动态发现邻居,OSPF将邻居地址通知BFD就开始建立会话。BFD会话建立前处于down状态,此时BFD控制报文以不小于1秒的时间间隔周期发送以减少控制报文流量,直到会话建立以后才会以协商的时间间隔发送以实现快速检测。进行配置 BFD之前,需要配置OSPF功能。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定接口上使能BFD |
ospf bfd enable |
必选 缺省情况下,OSPF下的接口不使用BFD提供的链路检测功能 |
l 一个网段只能属于同一个区域,并且必须为每个运行OSPF协议的接口指明属于某一个特定的区域。
l 创建BFD会话的通信双方必须处于特定区域的同一网段。
RIP协议依赖周期性发送路由更新请求作为检测机制,当在指定时间内没有收到路由更新回应时,认为此条路由不再生效。这种方式不能快速响应链路故障。当BFD检测到链路中断时,RIP能快速撤销失效路由,而不需等待Update定时器超时。
RIP支持BFD提供了两种检测方式:
l 直连邻居采用echo报文单跳检测方式,在对端有路由发送时才能建立BFD Session。
l 非直连邻居采用control报文双向检测方式,当两端互有路由发送时,且使能BFD的接口与接收接口为同一接口,邻居之间才能建立BFD Session。
表1-5 配置RIP与BFD联动(echo报文单跳检测)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置echo报文源地址 |
进入接口视图 |
interface interface-type interface-number |
- |
使能BFD功能 |
rip bfd enable |
必选 缺省情况下,BFD功能处于关闭状态 |
表1-6 配置RIP与BFD联动(control报文双向检测)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RIP进程并进入RIP视图 |
rip [ process-id ] [ vpn-instance vpn-instance-name ] |
必选 缺省情况下,RIP进程处于关闭状态 |
配置RIP邻居 |
peer ip-address |
必选 缺省情况下,RIP不向任何定点地址发送更新报文 |
进入接口视图 |
interface interface-type interface-number |
- |
使能BFD功能 |
rip bfd enable |
必选 缺省情况下,BFD功能处于关闭状态 |
l 当检测RIP的会话两端在直连网段(即IP报文的一跳),适合采用BFD的echo单向检测方式,但是,经过多跳到达邻居时echo方式则会失效。
l 由于peer命令与邻居之间没有对应关系,undo peer操作并不能立刻删除邻居,因此不能立刻删除BFD会话。
l 有关RIP的配置,请参见“IP路由分册”中的“RIP配置”。
VRRP和BFD session联动时,必须先配置Track对象,通过创建Track对象和BFD互动,同时也需要配置VRRP和Track对象的绑定关系。
Track负责启动和停止BFD session,当BFD探测到邻居出现故障后通知Track,再由Track通知VRRP根据配置实现VRRP快速切换。
在配置VRRP和Track的关联之前,需要在接口上创建了VRRP备份组,配置虚拟IP地址。
表1-7 配置VRRP与BFD联动
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置echo报文源地址 |
配置绑定Track对象和BFD |
track track-entry-number bfd echo interface interface-type interface-number remote ip remote-ip local ip local-ip |
必选 缺省情况下,没有配置Track对象和BFD会话的关联关系 |
进入接口视图 |
interface interface-type interface-number |
- |
配置绑定VRRP和Track对象 |
vrrp vrid virtual-router-id track track-entry-number { switchover | [ reduced priority-reduced ] } |
必选 缺省情况下,没有指定被监视的接口 |
l Track对象的local ip必须是BFD会话出接口上的某个IP地址,并且必须和remote ip在同一网段。
l 有关VRRP的配置,请参见“系统分册”中的“VRRP配置”。
l 有关Track的配置,请参见“系统分册”中的“Track配置”。
BFD是一个双向检测协议,需要检测两端建立会话。对于动态路由协议来说是有邻居概念的,因此在检测两端动态路由协议都会通知BFD会话邻居信息,从而检测两端的BFD任务可以通过向邻居发送BFD控制报文来建立会话。由于静态路由没有什么邻居的概念一般使用以下方法解决:
静态路由使用控制报文方式BFD功能时,对端也必须存在对应的BFD会话。检测两个方向上的链路状态,实现毫秒级别的链路故障检测。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由运行BFD |
ip route-static dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd control-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
二者必选其一 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd control-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
利用BFD echo报文,通过报文建立会话,echo报文的目的地址为本设备接口地址,发送给下一跳设备后会直接转发回本设备而不经过BFD任务处理。这里所说的“单跳”是IP的一跳。
表1-9 配置静态路由与BFD联动(单跳检测)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置echo报文源地址 |
配置静态路由运行BFD |
ip route-static dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd echo-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
二者必选其一 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd echo-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
l 路由振荡时,使能BFD检测功能可能会加剧振荡,需谨慎使用。
l 当BFD会话工作于echo报文方式时,必须配置echo报文源地址。
l 配置静态路由与BFD联动时,必须同时指定出接口和路由的下一跳IP地址。
l 静态路由如果出接口为含SPOOFING属性的接口,不能使用BFD进行检测。
l 静态路由仅支持使用BFD检测直连的下一跳。如果静态路由配置的下一跳非直连,则不支持BFD检测。
l 在草案中BFD echo功能进行了修改,当使用echo报文方式时,仅在一端建立BFD会话。
l 有关静态路由协议的配置,请参见“IP路由分册”中的“静态路由配置”。
开启BFD模块的Trap功能后,模块会生成级别为notifications的Trap报文,用于报告该模块的重要事件。生成的Trap报文将被发送到设备的信息中心,通过设置信息中心的参数,最终决定Trap报文的输出规则(即是否允许输出以及输出方向)。(有关信息中心参数的配置请参见“系统分册”中的“信息中心配置”。)
表1-10 配置BFD的Trap功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能BFD的Trap功能 |
snmp-agent trap enable bfd |
可选 缺省情况下,Trap开关打开,BFD发送Trap报文 |
snmp-agent trap enable isdn命令的详细介绍请参见“系统分册/SNMP命令”中的snmp-agent trap enable命令。
在完成上述配置后,在任意视图下执行display命令可以显示配置后BFD的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除BFD会话的统计信息。
表1-11 BFD显示和维护
操作 |
命令 |
显示使能的BFD接口信息 |
display bfd interface [ verbose ] |
显示使能的BFD调试信息开关 |
display bfd debugging-switches |
显示BFD会话信息 |
display bfd session [ verbose ] |
清除BFD会话统计信息 |
reset bfd session statistics |
l Switch A、Switch B通过二层交换机互连,并且在双方接口上使能BFD应用,之间运行OSPF,网络层相互可达。
l 当Switch A和二层交换机之间的链路出现故障后,BFD能够快速检测并通告OSPF协议。
图1-4 OSPF与BFD联动配置组网图
(1) 配置VLAN接口
# 配置Switch A。
<SwitchA> system-view
[SwitchA] vlan 10
[SwitchA-vlan10] port Ethernet1/0/1 to Ethernet1/0/2
[SwitchA-vlan10] quit
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] ip address 10.1.0.102 24
[SwitchA-Vlan-interface10] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] port Ethernet1/0/2 to Ethernet1/0/3
[SwitchB-vlan10] quit
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ip address 10.1.0.100 24
[SwitchB-Vlan-interface10] quit
(2) 配置OSPF基本功能
# 配置Switch A。
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 10.1.0.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
[SwitchA] interface vlan 10
[SwitchA-Vlan-interface10] ospf bfd enable
[SwitchA-Vlan-interface10] quit
# 配置Switch B。
[SwitchB] ospf
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 10.1.0.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] ospf bfd enable
[SwitchA-Vlan-interface10] quit
(3) 配置BFD参数
# 配置Switch A。
[SwitchA] bfd session init-mode active
[SwitchA] interface vlan-interface 10
[SwitchA-Vlan-interface10] bfd min-transmit-interval 500
[SwitchA-Vlan-interface10] bfd min-receive-interval 500
[SwitchA-Vlan-interface10] bfd detect-multiplier 7
[SwitchA-Vlan-interface10] bfd authentication-mode simple 1 zhang
[SwitchA-Vlan-interface10] quit
[SwitchA] quit
# 配置Switch B。
[SwitchB] bfd session init-mode active
[SwitchB] interface vlan-interface 10
[SwitchB-Vlan-interface10] bfd min-transmit-interval 500
[SwitchB-Vlan-interface10] bfd min-receive-interval 500
[SwitchB-Vlan-interface10] bfd detect-multiplier 6
[SwitchB-Vlan-interface10] bfd authentication-mode simple 1 zhang
(4) 检查配置结果
# 打开Switch A的调试开关。
<SwitchA> debugging bfd scm
<SwitchA> debugging bfd event
<SwitchA> debugging ospf event
<SwitchA> terminal debugging
# Switch A和交换机之间的链路发生故障时,可以看到Switch A能够快速感知Switch B的变化。
%Nov 12 18:34:48:823 2005 SwitchA BFD/5/LOG: Sess[10.1.0.102/10.1.0.100, vlan10], Sta : UP->DOWN, Diag: 1
%Nov 12 18:34:48:824 2005 SwitchA RM/4/RMLOG:OSPF-NBRCHANGE: Process 1, Neighbour 10.1.0.102 (vlan10) from Full to Down
*0.50673825 SwitchA BFD/8/SCM:Sess[10.1.0.102/10.1.0.100, vlan10],Oper: Reset
*0.50673825 SwitchA BFD/8/EVENT:Send sess-down Msg, [Src:10.1.0.102, Dst:10.1.0.100, vlan10] Protocol: OSPF
*0.50673826 SwitchA RM/7/RMDEBUG:OSPF-BFD: Message Type rcv BFD down, Connect Type direct-connect, Src IP Address 10.1.0.102, Src IFIndex 5, Dst IP Address 10.1.0.100
*0.50673827 SwitchA RM/7/RMDEBUG:OSPF-BFD: Message Type delete session, Connect Type direct-connect, Src IP Address 10.1.0.102, Src IFIndex 5, Dst IP Address 10.1.0.100
OSPF 1: Nbr 10.1.0.100 Rcv KillNbr State Full -> Down.
*0.50673829 SwitchA BFD/8/EVENT:Receive Delete-sess, [Src:10.1.0.102, Dst:10.1.0.100, vlan10], Direct, Proto:OSPF
*0.50673830 SwitchA BFD/8/SCM:Sess[10.1.0.102/10.1.0.100, vlan10], Oper: Del application(OSPF)
*0.50673831 SwitchA BFD/8/SCM:No application in session, delete session[10.1.0.102/10.1.0.100, vlan10]
*0.50673831 SwitchA BFD/8/SCM:Sess[10.1.0.102/10.1.0.100, vlan10], Oper: Delete
*0.50673832 SwitchA BFD/8/SCM:Delete send-packet timer
*0.50673833 SwitchA BFD/8/SCM:Delete session entry
*0.50673833 SwitchA BFD/8/SCM:Delete session from IP hash table
*0.50673834 SwitchA BFD/8/SCM:Delete session from bfd interface
*0.50673834 SwitchA BFD/8/SCM:No session under bfd-int[vlan10] with default configuration, delete bfd-if
*0.50673835 SwitchA BFD/8/SCM:Bfd-if[vlan10], Oper: Delete
*0.50673840 SwitchA BFD/8/SCM:No bfd session exists, stop receiving any bfd packets
# 当Switch A和二层交换机之间的链路发生故障,BFD快速检测到链路发生变化立刻通知OSPF。使用display ospf peer verbose命令观察到Switch A的OSPF邻居关系转变为down状态。
<SwitchA> display ospf peer verbose
Last Neighbor Down Event:
Router ID: 10.1.0.100
Local Address: 10.1.0.102
Remote Address: 10.1.0.100
Time: Jul 12 14:28:52 2006
Reason: BFD session down
当Master出现故障时,只能依赖于Backup设置的超时时间来判断是否应该抢占,切换时间一般在3秒~4秒之间,无法达到秒级以下的切换速度。VRRP协议必须依赖一种可靠的链路检测机制来探测Master的当前状态。Backup上的探测协议快速检测Master的运行状态,当Master状态出现故障时,Backup能够立即抢占成为Master,切换时间在100ms以内。
图1-5 VRRP与BFD联动(Backup监视Master)配置组网图
# 配置三层交换机Switch A。
<SwitchA> system-view
[SwitchA] vlan 2
[SwitchA–vlan2] port Ethernet1/0/1
[SwitchA–vlan2] quit
[SwitchA] interface vlan-interface 2
[SwitchA–vlan-interface2] ip address 192.168.0.101 24
[SwitchA–vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchA–vlan-interface2] vrrp vrid 1 priority 110
[SwitchA–vlan-interface2] return
# 配置三层交换机 Switch B。
<SwitchB> system-view
[SwitchB] bfd session init-mode active
[SwitchB] bfd echo-source-ip 10.10.10.10
[SwitchB] vlan 2
[SwitchB–vlan2] port Ethernet1/0/1
[SwitchB–vlan2] quit
[SwitchB] interface vlan-interface 2
[SwitchB–vlan-interface2] ip address 192.168.0.102 24
[SwitchB–vlan-interface2] bfd min-echo-receive-interval 500
[SwitchB–vlan-interface2] bfd detect-multiplier 3
[SwitchB–vlan-interface2] quit
[SwitchB] track 1 bfd echo interface vlan-interface 2 remote ip 192.168.0.101 local ip 192.168.0.102
[SwitchB] interface vlan-interface 2
[SwitchB–vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchB–vlan-interface2] vrrp vrid 1 track 1 switchover
[SwitchB–vlan-interface2] return
通过display vrrp verbose命令查看配置后的结果。
# 显示三层交换机Switch A上备份组1的详细信息。
<SwitchA> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Master
Config Pri : 110 Run Pri : 110
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.101
# 显示三层交换机Switch B上备份组1的详细信息。
<SwitchB> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Total number of virtual routers: 1
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Backup
Config Pri : 100 Run Pri : 100
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Track Object : 1 Switchover
Virtual IP : 192.168.0.10
Master IP : 192.168.0.101
以上显示信息表示在备份组1中三层交换机Switch A为Master路由器,三层交换机Switch B为Backup路由器。
# 当三层交换机Switch A状态为down时,通过display vrrp命令查看备份组的信息。显示Switch B上备份组1的详细信息。
<SwitchB> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Total number of virtual routers: 1
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Master
Config Pri : 100 Run Pri : 100
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Track Object : 1 Switchover
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.102
# 显示交换机Switch B上Track对象的详细信息。
<SwitchB> display track 1
Track ID: 1
Status: Negative
Reference Object:
BFD Session:
Packet type: Echo
Interface : vlan-interface2
Remote IP : 192.168.0.101
Local IP : 192.168.0.102
Master监视上行链路的状态,当上行链路down时,立即降低备份组的优先级并且立即以新的优先级发送VRRP报文;Backup收到优先级比自己低的报文后,延迟很短的时间后就抢占成为Master。
图1-6 VRRP与BFD联动配置组网图(Master监视上行链路)
# 配置三层交换机Switch A,上行设备的IP地址是1.1.1.2/24。
<SwitchA> system-view
[SwitchA] bfd session init-mode active
[SwitchA] bfd echo-source-ip 10.10.10.10
[SwitchA] vlan 3
[SwitchA–vlan3] port Ethernet1/0/1
[SwitchA–vlan3] quit
[SwitchA] interface vlan-interface 3
[SwitchA–vlan-interface3] ip address 1.1.1.1 24
[SwitchA–vlan-interface3] bfd min-echo-receive-interval 500
[SwitchA–vlan-interface3] bfd detect-multiplier 3
[SwitchA–vlan-interface3] quit
[SwitchA] track 1 bfd echo interface vlan-interface 3 remote ip 1.1.1.2 local ip 1.1.1.1
[SwitchA] vlan 2
[SwitchA–vlan2] port Ethernet1/0/2
[SwitchA–vlan2] quit
[SwitchA] interface vlan-interface 2
[SwitchA–vlan-interface3] ip address 192.168.0.101 24
[SwitchA–vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchA–vlan-interface2] vrrp vrid 1 priority 110
[SwitchA–vlan-interface2] vrrp vrid 1 track 1 reduced 20
[SwitchA–vlan-interface2] return
# 配置三层交换机Switch B。
<SwitchB> system-view
[SwitchB] vlan 2
[SwitchB–vlan2] port Ethernet1/0/1
[SwitchB–vlan2] quit
[SwitchB] interface vlan-interface 2
[SwitchB–vlan-interface2] ip address 192.168.0.102 24
[SwitchB–vlan-interface2] vrrp vrid 1 virtual-ip 192.168.0.10
[SwitchB–vlan-interface2] return
通过display vrrp verbose命令查看配置后的结果。
# 显示三层交换机Switch A上备份组1的详细信息。
<SwitchA> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Total number of virtual routers: 1
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Master
Config Pri : 110 Run Pri : 110
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Track Object : 1 Pri Reduced : 20
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.101
# 显示三层交换机Switch B上备份组1的详细信息。
<SwitchB> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Total number of virtual routers: 1
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Backup
Config Pri : 100 Run Pri : 100
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Virtual IP : 192.168.0.10
Master IP : 192.168.0.101
以上显示信息表示在备份组1中三层交换机Switch A为Master路由器,三层交换机Switch B为Backup路由器。
# 当三层交换机Switch A监视的上行链路状态为down时,通过display vrrp命令查看备份组的信息。Switch A监视的上行链路状态为down时,显示三层交换机Switch A上备份组1的详细信息。
<SwitchA> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Backup
Config Pri : 110 Run Pri : 90
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Track Object : 1 Pri Reduced : 20
Virtual IP : 192.168.0.10
Master IP : 192.168.0.102
# 三层交换机Switch A监视的上行链路状态为down时,显示三层交换机Switch B上备份组1的详细信息。
<SwitchB> display vrrp verbose
IPv4 Standby Information:
Run Method : VIRTUAL-MAC
Total number of virtual routers: 1
Interface : vlan-interface2
VRID : 1 Adver. Timer : 1
Admin Status : UP State : Master
Config Pri : 100 Run Pri : 100
Preempt Mode : YES Delay Time : 0
Auth Type : NONE
Virtual IP : 192.168.0.10
Virtual MAC : 0000-5e00-0101
Master IP : 192.168.0.102
# 显示交换机Switch A上Track对象的详细信息。
<SwitchA> display track 1
Track ID: 1
Status: Negative
Reference Object:
BFD Session:
Packet type: Echo
Interface : vlan-interface3
Remote IP : 1.1.1.2
Local IP : 1.1.1.1
l 在Switch A上配置静态路由可以到达Switch C,并使能BFD检测功能。
l 当Switch A和Switch B之间的链路出现故障时,Switch A选择经过Switch D到达Switch C。
图1-7 静态路由BFD(单跳检测)配置组网图
(1) 配置各接口的IP地址(略)
(2) 配置BFD
# 在Switch A上配置静态路由,并使能BFD检测功能,通过BFD echo报文方式实现BFD功能。
<SwitchA> system-view
[SwitchA] bfd echo-source-ip 123.1.1.1
[SwitchA] interface vlan-interface 10
[SwitchA-vlan-interface10] bfd min-echo-receive-interval 500
[SwitchA-vlan-interface10] bfd detect-multiplier 7
[SwitchA-vlan-interface10] quit
[SwitchA] ip route-static 120.1.1.1 24 vlan-interface 10 10.1.1.100 bfd echo-packet
[SwitchA] ip route-static 120.1.1.1 24 vlan-interface 11 11.1.1.2 preference 65
[SwitchA] quit
(3) 检查配置结果
# 显示Switch A使能BFD信息。
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Echo Mode:
LD SourceAddr DestAddr State Holdtime Interface
7 10.1.1.102 10.1.1.100 Up 1700ms Vlan10
# 显示Switch A路由表详细信息。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 2
Static Routing table Status : <Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.1/24 Static 65 0 10.1.1.100 Vlan10
Direct Routing table Status : <Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.1/24 Static 60 0 11.1.1.2 Vlan11
# 在Switch A上打开BFD功能调试信息开关。
<SwitchA> debugging bfd event
<SwitchA> debugging bfd scm
<SwitchA> terminal debugging
# 当Switch B和二层交换机之间的链路发生故障时。可以看到Switch A能够快速感知Switch B的变化。
%Nov 12 19:28:28:592 2005 SwitchA BFD/5/LOG:Sess[123.1.1.1/10.1.1.100, Vlan10], Sta: UP->DOWN, Diag: 1
*0.53892593 SwitchA BFD/8/SCM:Sess[123.1.1.1/10.1.1.100, Vlan10], Oper: Reset
*0.53892593 SwitchA BFD/8/EVENT:Send sess-down Msg, [Src:123.1.1.1, Dst:10.1.1.100, Vlan10] Protocol: STATIC
*0.53892595 SwitchA RM/7/LOG:static route [Dest:120.1.1.1/24,Nexthop:10.1.1.100,ExitIf: Vlan10] became invalid
# 当Switch A到Switch B链路发生故障时,通过display ip routing-table protocol static命令查看路表信息。Switch A选择经过Switch D静态路由到达Switch C。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 2
Static Routing table Status : < Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.1/24 Static 65 0 11.1.1.2 Vlan11
Static Routing table Status : < Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.1/24 Static 60 0 10.1.1.100 Vlan10
l 在Switch A上配置静态路由可以到达14.1.1.0/24网段路由,在Switch B上配置静态路由可以到达13.1.1.0/24网段路由,并都使能BFD检测功能;
l 当Switch A和Switch B链路出现故障时BFD能够快速感知。
图1-8 静态路由与BFD联动(双向检测)配置组网图
(1) 配置BFD
# 配置Switch A。
<SwitchA> system-view
[SwitchA] interface vlan-interface 12
[SwitchA-vlan-interface12] ip address 12.1.1.1 24
[SwitchA-vlan-interface12] bfd min-transmit-interval 500
[SwitchA-vlan-interface12] bfd min-receive-interval 500
[SwitchA-vlan-interface12] bfd detect-multiplier 9
[SwitchA-vlan-interface12] quit
[SwitchA] ip route-static 14.1.1.0 24 vlan-interface 12 12.1.1.2 bfd control-packet
[SwitchA] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] interface vlan-interface 12
[SwitchB-vlan-interface12] ip address 12.1.1.2 24
[SwitchB-vlan-interface12] bfd min-transmit-interval 500
[SwitchB-vlan-interface12] bfd min-receive-interval 500
[SwitchB-vlan-interface12] bfd detect-multiplier 9
[SwitchB-vlan-interface12] quit
[SwitchB] ip route-static 13.1.1.0 24 vlan-interface 12 12.1.1.1 bfd control-packet
[SwitchB] quit
(2) 检查配置结果
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
4/7 12.1.1.1 12.1.1.2 Up 2000ms Vlan12
# 在Switch A上查看静态路由。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 1
Static Routing table Status : < Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
14.1.1.0/24 Static 60 0 12.1.1.2 Vlan12
Static Routing table Status : < Inactive>
Summary Count : 0
# 在Switch A上打开BFD功能调试信息开关。
<SwitchA> debugging bfd event
<SwitchA> debugging bfd scm
<SwitchA> terminal debugging
# Switch A和二层交换机之间链路发生故障时,可以看到Switch A能够快速感知Switch B的变化。
%Jul 27 10:18:18:672 2007 SwitchA BFD/4/LOG:Sess[12.1.1.1/12.1.1.2, Vlan12,Ctrl],
Sta: UP->DOWN, Diag: 1
*Jul 27 10:18:18:672 2007 SwitchA BFD/7/EVENT:Send sess-down Msg, [Src:12.1.1.1,
Dst:12.1.1.2, Vlan12,Ctrl], instance:0, protocol:STATIC
*Jul 27 10:18:19:172 2007 SwitchA BFD/7/EVENT:Receive Delete-sess, [Src:12.1.1.1
,Dst:12.1.1.2, Vlan12,Ctrl], Direct, Instance:0x0, Proto:STATIC
*Jul 27 10:18:19:172 2007 SwitchA BFD/7/EVENT:Notify driver to stop receiving bf
# 此时查看静态路由,路由处于Inactive状态。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 1
Static Routing table Status : < Active>
Summary Count : 0
Static Routing table Status : < Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
14.1.1.0/24 Static 60 0 12.1.1.2 Vlan12
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!