目录
原理概述
实验目的
实验内容
实验拓扑
1.基本配置
2.配置OSPF路由协议
3.配置VRRP协议
4.配置BFD
原理概述
为了减小设备故障对网络业务造成的影响,提高网络的可用性,网络设备需要能够尽快检测到与相邻设备之间的通信故障,以便及时采取措施,保证业务尽快恢复正常。
目前,主要的故障检测机制包括两大类:硬件检测机制和慢Hello检测机制。例如,SDH(Synchronous Digital Hierarchy)链路告警检测机制就是一种硬件检测机制,其优点是发现故障的速度很快,缺点是有些传输介质在有的条件下是无法支持这样的硬件检测机制的。慢Hello检测机制通常是指路由协议的Hello机制,这种检测机制存在的主要问题是发现故障的速度较慢,一般需要秒级的时间,这对于高速链路来说一般是无法接受的,因为秒级的时间将会造成大量的数据丢失。除了这两类故障检测机制外,有的设备厂商还提供了一些专用的故障检测机制。然而在进行不同厂商的设备互联时,这样的专用检测机制通常又是难以部署和实施的。
BFD(Bidirectional Forwarding Detection)技术就是为解决现有的故障检测机制的不足而产生的。BFD可以在相邻设备的转发引擎之间的通信通道上提供轻荷快速的故障检测能力,并在发现故障时及时通知上层应用。BFD可以发现的故障包括接口故障、链路故障,甚至可以是转发引擎本身的故障等。
BFD的检测机制可以概括为:首先在两个设备之间建立起BFD会话,然后相互周期性的发送BFD报文,如果一方在预定时间范围内没有收到另一方发送的BFD控制报文,则认为传输路径上发生了故障。为满足快速检测故障的需求,BFD规定发送和接收控制报文的时间间隔大致在微妙级别。但是,限于目前的设备处理能力,大部分厂商设备在实际运行BFD时都只能达到毫秒级别。
实验目的
理解BFD的基本原理和应用场景
掌握BFD的基本配置方法
实验内容
实验拓扑如图所示。本实验模拟了一个简单的企业网络场景,公司使用了两台路由器R1和R2作为双网关出口,R1与R2之间运行VRRP(Virtual Router Redundancy Protocol)协议,R1为主网关,R2为备份网关,员工终端PC-1通过交换机SW1与出口网关相连。当主网关R1发生故障而切换到备份网关R2时,如果单纯通过VRRP协议进行故障切换则时间较慢,会造成大量的数据包丢失。因此,为了提高网络的可用性,需要在双网关之间配置BFD检测机制,以加速VRRP故障切换的过程,实现毫秒级的故障切换。
实验拓扑
1.基本配置
根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R3之间的连通性。
其余直连网段的连通性测试过程在此省略。
2.配置OSPF路由协议
在R1、R2和R3上配置OSPF协议。
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]net 10.0.1.0 0.0.0.255
[r1-ospf-1-area-0.0.0.0]net 10.0.13.0 0.0.0.255
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]net 10.0.1.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0]net 10.0.23.0 0.0.0.255
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]net 10.0.13.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]net 10.0.23.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]net 10.0.3.3 0.0.0.0
配置完成后,在R3上查看OSPF邻居信息。
可以看到,R3与R1和R2已经成功建立起了OSPF邻接关系。
3.配置VRRP协议
R1和R2使用子接口配置VRRP,R1为主网关,R2为备份网关,虚拟IP地址为10.0.1.254。使用子接口的目的是给后续配置VLAN终结做准备。
在R1的G0/0/0.1子接口下创建备份组1,并配置R1在备份组中的优先级的值为120。为了突出与配置了BFD之后的切换速度差异,现在将VRRP的Hello报文间隔从默认的1s修改为10s。
[r1]int g0/0/0.1
[r1-GigabitEthernet0/0/0.1]vrrp vrid 1 virtual-ip 10.0.1.254
[r1-GigabitEthernet0/0/0.1]vrrp vrid 1 priority 120
[r1-GigabitEthernet0/0/0.1]vrrp vrid 1 timer advertise 10
在R2的G0/0/0.1子接口下创建备份组1,R2在备份组中的优先级的值保持为默认值,VRRP的Hello报文间隔从默认的1s修改为10s。
[r2]int g0/0/0.1
[r2-GigabitEthernet0/0/0.1]vrrp vrid 1 virtual-ip 10.0.1.254
[r2-GigabitEthernet0/0/0.1]vrrp vrid 1 timer advertise 10
在SW1上创建VLAN 10,配置Ethernet 0/0/1和Ethernet 0/0/2的端口类型为Trunk ,允许VLAN 10的数据通过,端口Ethernet 0/0/3的类型为Access,加入VLAN 10。
[sw1]vlan 10
[sw1-vlan10]interface Ethernet0/0/1
[sw1-Ethernet0/0/1]port link-type trunk
[sw1-Ethernet0/0/1]port trunk allow-pass vlan 10
[sw1-Ethernet0/0/1]interface Ethernet 0/0/2
[sw1-Ethernet0/0/2]port link-type trunk
[sw1-Ethernet0/0/2]port trunk allow-pass vlan 10
[sw1-Ethernet0/0/2]int Ethernet 0/0/3
[sw1-Ethernet0/0/3]port link-type access
[sw1-Ethernet0/0/3]port default vlan 10
在R1和R2的子接口上配置Dot1q报文的vlan终结,并开启ARP广播功能。
[r1-GigabitEthernet0/0/0.1]dot1q termination vid 10
[r1-GigabitEthernet0/0/0.1]arp broadcast enable[r2-GigabitEthernet0/0/0.1]dot1q termination vid 10
[r2-GigabitEthernet0/0/0.1]arp broadcast enable
在PC-1上长ping路由器R3的LoopBack 0接口的IP地址10.0.3.3。如果R1与交换机之间的链路发生故障,VRRP会把工作网关的角色从R1切换到R2。但是,现在还没有配置BFD功能,所以此切换过程比较缓慢,切换过程中丢包较多。
请将VRRP备份组1设置的虚拟IP地址10.0.1.254配置为PC-1的网关地址,在PC-1上使用-t参数实现长ping,如下图所示,然后在R1的G0/0/0.1接口下执行命令shutdown,模拟R1与SW1之间的链路故障。
从上图可以看到,在故障切换的过程中,有18个报文发生了丢失。
4.配置BFD
[r1]bfd
[r1-bfd]delay-up 50
建立BFD会话。
[r1]bfd 1-2 bind peer-ip 10.0.1.200 interface GigabitEthernet 0/0/0.1
配置本地及远端标识符。
[r1-bfd-session-1]discriminator local 1
[r1-bfd-session-1]discriminator remote 2
修改发送BFD Hello报文的时间间隔为 50ms。
[r1-bfd-session-1]min-tx-interval 50
修改接收Hello报文的等待时间为50ms,即每隔50ms期望能收到对方发来的一个BFD Hello报文,则认为链路发生了故障。
[r1-bfd-session-1]detect-multiplier 3
提交BFD配置。
[r1-bfd-session-1]commit
使用相同的方法完成R2的BFD配置。
[r2]bfd
[r2-bfd]delay-up 50
[r2]bfd 2 bind peer-ip 10.0.1.100 int g0/0/0.1
[r2-bfd-session-2]discriminator local 2
[r2-bfd-session-2]discriminator remote 1
[r2-bfd-session-2]min-tx-interval 50
[r2-bfd-session-2]min-rx-interval 50
[r2-bfd-session-2]commit
在R1、R2上使用display bfd session all命令查看BFD会话状态。
[r1]display bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------1 2 10.0.1.200 Up S_IP_IF GigabitEthernet0/0/0.1
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0[r2]display bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------2 1 10.0.1.100 Up S_IP_IF GigabitEthernet0/0/0.1
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
可以看到,BFD会话已经是UP状态。
配置VRRP监视BFD。
[r1-GigabitEthernet0/0/0.1]dot1q vrrp vid 10
[r1-GigabitEthernet0/0/0.1]vrrp vrid 1 track bfd-session 1 reduced 40[r2-GigabitEthernet0/0/0.1]dot1q vrrp vid 10
[r2-GigabitEthernet0/0/0.1]vrrp vrid 1 track bfd-session 1 reduced 40
从上图可以看到,故障切换时间明显减少,丢包数量只有1个,网络的可用性得到了明显的提高。