目录
可靠性技术
在实际网络中,总避免不了各种非技术因素造成的网络故障和服务中断。因此,提高系统容错能力、提高故障恢复速度、降低故障对业务的影响,是提高系统可靠性的有效途径。可靠性主要通过BFD等故障检测技术和VRRP等保护倒换技术实现。
故障检测技术侧重于网络的故障检测和诊断,主要有BFD,BFD是双向转发检测,Bidirectional Forwarding Detection,是一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发联通状况。
保护倒换技术侧重于网络的故障恢复,主要通过对硬件、链路、路由信息和业务信息等进行冗余备份以及故障时的快速切换,从而保证网络业务的连续性。在路由器中,主要有接口备份、GR、NSR、接口监控组和VRRP。
可靠性的衡量也叫做可靠性度量,主要有:
MTBF
平均故障间隔时间MTBF:Mean Time Between Failures。指一个系统无故障运行的平均时间,通常以小时为单位。MTBF越大,可靠性越高。
MTTR
平均修复时间 MTTR:Mean Time to Repair。指一个系统从故障发生到恢复所需要的时间。
MTTR=故障检测时间+硬件更换时间+系统初始化时间+链路恢复时间+路由覆盖时间+转发恢复时间。MTTR越小,可靠性越高。
提高MTBF或者降低MTTR都可以提高网络的可靠性。我们主要考虑从降低MTTR的角度进行。
不同网络设备实现可靠性的方式不太一样。防火墙的话主要需要掌握双机热备技术,这个技术需要配合VRRP来实现,所以今天主要对路由器的VRRP功能进行一个理解。
VRRP
虚拟路由冗余协议virtual router redundancy protocol。多台路由器虚拟成一个路由器系统,接入这个系统的设备以该系统的虚拟ip作为默认网关,路由系统内的路由器可以同时转发数据进行负载分担,也可以只有一部分转发数据进行主备备份,接入路由系统的设备对系统内路由器的状态不敏感。即在网关设备发生故障时,不需要改变组网,而由系统选举出新的网关设备承担数据流量,保障网络的可靠通信。
骨干网中需要使用vrrp吗?
不需要,通过路由协议,自动选路。
Vrrp协议报文用来将master设备的优先级和状态通告给同一备份组的所有backup设备。
Vrrp协议报文组播发送,目的地址是224.0.0.18。ttl=255,协议号是112.
Vrrpv2仅适用于ipv4网络,vrrpv3适用于ipv4和ipv6网络。
Vrrp报文结构
以vrrpv2为例。
Version:2
Type:1,表示advertisement
Vrid:虚拟路由器id ,从1到255
Priority:确实100,越大越优,0表示停止参与备份组,主动放弃master地位,不必等到计时器超时,255保留给ip地址拥有者
Count ip addrs:备份组中虚拟ipv4地址个数
Auth type:0不认证,1明文认证,2md5认证
Adver int:通告报文发送间隔,默认1s
Checksum:16位校验和,检测vrrp报文完整性
Ipaddr1:第一个vrrp备份组中虚拟ipv4地址
Ipaddrn:第n个vrrp备份组中虚拟ipv4地址
Auth data:明文认证和md5认证使用
vrrp认证并不能提高安全性,只是为了兼容早期版本,vrrpv3就取消了这个字段,另外vrrpv3的优点还有是将通告间隔提升到了厘秒级。
Vrrp具体的认证原理是:收到通告报文的设备将报文中的认证方式和认证字与本端配置的认证方式和认证字进行匹配,判断收到的通告报文是否合法。
Vrrp工作原理
状态机
Master_Down_Interval=(3* Advertisement_Interval) + Skew_time。其中,Skew_Time=(256–Priority)/256
vrrp工作过程
- vrrp备份组中的设备根据优先级选举出master,master发送免费arp,通告虚拟网关的虚拟mac给下联设备,引导上行报文从自身转发。
- master周期组播vrrp通告,维护其master地位
- master出现故障,发优先级为0的vrrp通告,backup收到后重新选举新的master
- 新的master也会发送免费arp,通告虚拟网关的虚拟mac(这个mac是根据实际mac映射的)给下联设备,引导上行报文从自身转发。
- 原master恢复,若是虚拟ip拥有者,直接发送vrrp通告自身优先级为255,并且切换到master,若不是虚拟ip拥有者,先切backup,恢复优先级。
- 如果配置抢占模式,且自身优先级高于收到的通告报文中的优先级,就抢占,否则不抢占。
两种双主情况
1、链路情况导致backup没有在计时器超时前收到master通告,导致backup切主,这种情况在backup收到master通告后消失。
2、优先级相同导致backup同时切主,这种情况在比较接口ip大小后消失,大的成为master。
对于第一种情况,造成了vrrp备份组成员频繁切换的现象,解决办法是配置抢占延时,降低backup敏感度。
Vrrp应用方式
主备备份
配置一组vrrp备份组。
负载负担
vrrp设备同时加入多个vrrp备份组,并在每一个备份组中承担不同角色,每个备份组都包含一个master设备和若干backup设备。每个备份组的虚拟ip地址不同,分别做部分设备的默认网关,从而缓解主备备份情况下同一时间只有一台路由器担负唯一默认网关的压力。
Vrrp不足
状态感知能力弱
Vrrp备份组检测master设备下行接口发出通告报文来判断master的工作状态,因此只能感知其下行接口所在网络的状态变化情况完成主备切换,无法感知上行接口或非直连链路的状态,造成潜在流量中断的隐患。
解决方式
通过联动接口状态监控解决上行接口状态感知问题。
通过联动BFD/NAQ/路由监视解决非直连链路的状态感知问题。
主备切换时间慢
如果master设备不是主动放弃master地位,比如出现了故障(这也是大多数现网情况),backup完成升主至少需要一个定时器超时时间,甚至再加一个延迟时间,在这期间,上行流量依然向故障master转发,导致业务丢包。
解决方式
联动bfd实现快速切换。在vrrp的master和backup之间部署bfd会话,快速检测vrrp备份组之间的联通状态,并在出现故障时及时通知vrrp备份组进行主备切换,将响应时间缩减到毫秒级,减少流量损失。
实验一:配置VRRP主备备份示例
需求和拓扑
Client通过Switch双归属到Router1和Router2。用户希望实现:
正常情况下,主机以Router1为默认网关接入Internet,当Router1故障时,Router2接替作为网关继续进行工作,实现网关的冗余备份。
Router1故障恢复后,可以重新成为网关。
操作步骤
配置接口ip
配置ospf路由
R1 ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 10.1.1.1 0.0.0.0 network 13.1.1.1 0.0.0.0 R2 ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 10.1.1.1 0.0.0.0 network 23.1.1.2 0.0.0.0 R3 ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.1.254 0.0.0.0 network 13.1.1.3 0.0.0.0 network 23.1.1.3 0.0.0.0 R4 ip route-static 0.0.0.0 0.0.0.0 192.168.1.254 |
配置vrrp备份组(默认开启抢占,R1vrrp接口地址大成为master)
R1 interface GigabitEthernet0/0/0 vrrp vrid 1 virtual-ip 10.1.1.111 vrrp vrid 1 preempt-mode timer delay 20 R2 interface GigabitEthernet0/0/0 vrrp vrid 1 virtual-ip 10.1.1.111 |
验证和分析
检查vrrp状态
dis vrrp GigabitEthernet0/0/0 | Virtual Router 1 State : Backup Virtual IP : 10.1.1.111 Master IP : 0.0.0.0 PriorityRun : 100 PriorityConfig : 100 MasterPriority : 0 Preempt : YES Delay Time : 0 s TimerRun : 1 s TimerConfig : 1 s Auth type : NONE Virtual MAC : 0000-5e00-0101 Check TTL : YES Config type : normal-vrrp Backup-forward : disabled Create time : 2022-02-12 18:45:20 UTC-08:00 Last change time : 2022-02-12 19:04:14 UTC-08:00 |
抓一个vrrp包看看内容