BFD 在VRRP 故障复原中的应用设计

2024-01-10 10:08庞国莉王小英
科学技术创新 2024年2期
关键词:外网通告局域网

庞国莉,王小英

(防灾科技学院,河北三河)

1 BFD 的工作原理

BFD 的全称为双向转发检测,它提供了一个通用的标准化的、与介质和协议无关的快速故障检测机制。其主要作用有两点:一是用于快速检测、监控网络中链路或IP 路由的转发连通状况;二是提升现有网络性能,邻居之间必须能快速检测到通信故障,从而建立备用通道恢复通信。BFD 是以UDP 作为传输层协议的一种轻量级的hello 协议。在检测通信故障之前,BFD 对等体之间需要首先建立会话,为了建立会话,BFD 对等体之间首先需要完成3 次握手,3 次握手的会话建立过程同时也是参数协商过程,然后再通过会话来周期性发送故障检测消息[1]。以OSPF 进程下启用BFD 为例,查看BFD 会话的建立过程,如图1 所示。OSPF 先建立邻居关系,接着将邻居关系通告给BFD,BFD 则利用这些信息建立会话并周期性地相互发送消息来检测故障。如果一台BFD 设备在指定时间内没有接收到对端BFD 设备发送过来的检测消息,那么它就会认为自己与对端之间通信出现了故障。以图2 为例展示了BFD 向OSPF 通告链路故障的过程。BFD 因在指定时间内没有接收到对端的BFD 消息而迅速检测出了设备之间的通信故障,同时BFD 也由UP 变为了DOWN,BFD 向OSPF 通告邻居已经不可达的信息,OSPF 断开邻居关系,OSPF 网络也会开始重新收敛。

图1 BFD 会话建立

图2 BFD 通告链路故障

2 VRRP 的网络应用

对于局域网而言,网关设备是连接局域网和外部网络的桥梁。当局域网与网关设备之间的通信断开也就意味着局域网中所有终端断开了与外部网络的通信。为了避免网关单点故障的隐患,需要增加冗余网关并引入一种机制能够让冗余网关工作起来像一台网关设备,而VRRP 就提供了这种机制。

2.1 VRRP 的工作原理

VRRP 的全称为虚拟路由器冗余协议,属于一种虚拟化技术,也是一种容错协议。VRRP 主要功能是将多台路由器虚拟成一台路由器,为终端设备提供网关冗余,从而保持通信的连续性和可靠性。VRRP 路由器分为主用(Master)和备用(Backup)两种,只有主用路由器才会为局域网和外网之间的流量执行转发,而备用路由器通过主用路由器发送的通告来监听主用路由器的工作状态。当备用路由器在指定时间内没有收到来自主用路由器发来的通告,那么备用路由器会认为主用路由器发生故障,它会重新选举出新的主用路由器继续为终端进行流量转发[2]。图3 为使用VRRP协议环境的逻辑拓扑,在拓扑中路由器A 和路由器B与交换机连接的接口可配置成一个VRRP 组,两台路由器的接口对外使用相同的虚拟IP 地址和虚拟MAC进行通信。在所有终端设备上将这个虚拟IP 地址设置为默认网关,就可以实现网关设备的冗余[3]。

图3 VRRP 协议环境的逻辑拓扑

VRRP 在选举主用路由器时,会首先比较优先级(默认优先级为100),优先级值最高的接口被选举为主用路由器。如果多个VRRP 路由器接口的优先级相同,则会继续对比接口IP 地址,IP 地址最高的接口成为主用路由器。

2.2 VRRP 的配置

VRRP 配置需要在路由器接口上进行,在图3 中,为了使路由器A 为主用路由器,路由器B 为备用路由器,可在路由器A 与交换机连接的接口g0/0/1 上配置两条命令vrrp vrid 10 virtual-ip 10.1.1.254 和vrrp vrid 10 priority 150,命令指定VRID 组为10,虚拟IP地址为10.1.1.254,优先级为150,使其大于默认值。而在路由器B 与交换机连接的接口上只需要配置一条命令vrrp vrid 10 virtual-ip 10.1.1.254 即可,保留VRRP 优先级100 的默认设置。VRRP 通过比较优先级从而确定路由器A 为VRID 10 的主用路由器,负责传输内网与外网的数据流量。当路由器A 到外网的上行链路出现故障导致通信中断,VRRP 是无法感知的,数据流量仍由路由器A 进行转发,但由于上行链路中断,所有的终端是无法通过路由器A 访问外网的。为此,VRRP 需要根据上行链路的状态相应地进行切换,即需要在路由器A 的g0/0/1 接口上相应地配置上行链路追踪功能的命令vrrp vrid 10 track int g0/0/2 reduced 100,命令实现了当g0/0/2 状态Down时,优先级会减少100,这样主用路由器A 的优先级就会低于备用路由器B 对应接口的优先级100,备用路由器就可以通过优先级抢占主用路由器的角色进而进行流量传输。

3 BFD 在VRRP 故障复原中的应用设计

3.1 VRRP 的故障场景

如图4 所示VRRP 三层逻辑直连环境中,AR1 为外网的路由器,AR2 和AR3 为局域网的网关,通过VRRP 向企业内部网络提供冗余网关服务。在AR2 和AR3 上需要配置默认路由通往外网,并在AR2 和AR3 的上联出接口上配置NAT easy ip 服务,为局域网提供地址转换服务。通过配置AR2 的G0/0/1 接口优先级设置为150 将其设为Master 角色,并设置追踪接口G0/0/0 状态。但由于AR2 与AR1 之间有二层设备LSW2,且LSW2 与AR1 之间有链路故障时,AR2是无法感知到链路故障的,因此,它不会降低优先级,而是继续转发终端的数据,显而易见,转发的数据会被丢弃,造成终端与外网的通信中断[3],如图5 所示。

图4 VRRP 三层逻辑直连环境

图5 终端与外网的通信中断

3.2 BFD 快速复原解决方案

针对以上VRRP 三层逻辑直连环境中无法感知上行链路故障造成通信中断的情况,提出了在VRRP中结合BFD 提供的快速检测故障机制,以快速确定逻辑直连中存在的链路故障现象,再通过BFD 通告给VRRP,VRRP 通过降低主用路由器AR2 的优先级,使得备用路由器AR3 根据优先级抢占主用角色,最终实现终端数据的转发[4]。

启用BFD 的快速检测功能需要先建立BFD 会话,建立BFD 会话有两种方式:动态和静态。本案例采用BFD 动态方式在AR2 和AR1 上进行配置。需要在AR2 和AR1 上先使能BFD 功能,接着配置BFD 会话名称及远端IP 和本地IP,最后在AR2 的G0/0/1 接口的VRRP 上调用BFD 会话,具体命令如下。

AR1 上BFD 配置命令:

[AR1]bfd

[AR1]bfd aa bind peer-ip 200.0.0.2 source-ip 200.0.0.1 auto

AR2 上BFD 配置命令:

[AR2]bfd

[AR2]bfd aa bind peer-ip 200.0.0.1 source-ip 200.0.0.2 auto

[AR2]int g0/0/1

[AR2-GigabitEthernet0/0/1]vrrp vrid 10 track bfd-session session-name aa reduced 100

配置完成后,在终端用-t 参数不间断ping 外网,并将AR1 的G0/0/0 设置为Down,模拟LSW2 与AR1之间有链路故障,结果发现终端与外网的ping 包有两个超时提示后又正常进行转发,如图6 所示。说明BFD 检测到故障后通知了VRRP,VRRP 主用路由器AR2 接口G0/0/1 优先级降低了100,备用路由器AR3根据优先级切换为Master 角色并进行数据的转发。在AR3 上通过使用命令display vrrp brief 可以查看到AR3 已切换为Master 角色,如图7 所示。由此可见,在VRRP 环境中调用BFD 提供快速检测功能是非常重要和高效的[5]。

图6 终端与外网调用BFD 后的通信情况

图7 调用BFD 后查看AR3 角色

4 结论

由于很多网络技术自带的检错机制效率很低,而BFD 是一项毫秒级且支持多协议的快速检测故障的技术而被广泛应用。本文通过介绍BFD 与OSPF 路由协议联动过程阐述了BFD 的工作原理,为了避免网关的单点故障而引入了VRRP 在网络中的应用场景,最后结合VRRP 网络中可能出现的故障而无法快速检测到而导致传输中断的场景,提出了将VRRP 与BFD联动设计的快速复原解决方案。该方案通过ENSP 平台模拟演示,通过VRRP 没有与BFD 联动出现的故障效果和与BFD 联动故障效果进行了比较,从而验证BFD 在VRRP 网络出现故障时具备快速复原能力的应用效果。

猜你喜欢
外网通告局域网
内网和外网间的同名IP地址转换技术及应用
国家药监局关于7批次药品不符合规定的通告
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
电子政务外网的安全管理研究
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
内外网隔离条件下如何实现邮件转发
关于实行参考文献新规范的通告
关于实行参考文献新规范的通告