VRRP2
基本概念
- VRRP路由器(VRRP Router):运行VRRP的设备,它可能属于一个或多个虚拟路由器。
- 虚拟路由器(Virtual Router):由VRRP管理的抽象设备,又称为VRRP备份组,被当作一个共享局域网内主机的缺省网关。它包括了一个虚拟路由器标识符和一组虚拟IP地址。
- 虚拟IP地址(Virtual IP Address):虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
- IP地址拥有者(IP Address Owner):如果一个VRRP路由器将虚拟路由器的IP地址作为真实的接口地址,则该设备是IP地址拥有者。当这台设备正常工作时,它会响应目的地址是虚拟IP地址的报文,如ping、TCP连接等。
- 虚拟MAC地址:是虚拟路由器根据虚拟路由器ID生成的MAC地址。**一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID};**VRRP6为0000-5E00-02XX。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。组播地址224.0.0.18 协议号118
- 主IP地址(Primary IP Address):从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。VRRP广播报文使用主IP地址作为IP报文的源地址。
- Master路由器(Virtual Router Master):是承担转发报文或者应答ARP请求的VRRP路由器,转发报文都是发送到虚拟IP地址的。如果IP地址拥有者是可用的,通常它将成为Master。
- Backup路由器(Virtual Router Backup):一组没有承担转发任务的VRRP路由器,当Master设备出现故障时,它们将通过竞选成为新的Master。
- 抢占模式:在抢占模式下,如果Backup路由器的优先级比当前Master路由器的优先级高,将主动将自己升级成Master。
报文格式
VRRP中仅有Advertisement通告报文,报文格式如下:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-------+-------+---------------+---------------+---------------+
|Version| Type | Virtual Rtr ID| Priority | Count IP Addrs|
+-------+-------+---------------+---------------+---------------+
| Auth Type | Adver Int | Checksum |
+---------------+---------------+-------------------------------+
| IP Address (1) |
+---------------------------------------------------------------+
| . |
| . |
| . |
+---------------------------------------------------------------+
| IP Address (n) |
+---------------------------------------------------------------+
| Authentication Data (1) |
+---------------------------------------------------------------+
| Authentication Data (2) |
+---------------------------------------------------------------+
VRRP设备仅有ad报文,目的地址 224.0.0.18,目的mac为0100-5e00-0012,协议号为112
Master设备:
- 定时发送VRRP通告报文
- 以虚拟MAC地址响应对虚拟IP地址的ARP请求
- 转发目的MAC地址为虚拟MAC地址的IP报文
- 如果它是这个虚拟IP地址的拥有者,则接受目的IP地址为这个虚拟IP地址的IP报文,否则,丢弃这个报文。
- 如果收到比自己优先级大的报文,立即成为Backup。
- 如果收到比自己优先级相同的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup。
Backup设备:
- 接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。
- 对虚拟IP地址的ARP请求IP地址做应答
- 丢弃目的IP地址为虚拟IP地址的IP报文。
- 如果收到优先级与自身相同或者比自己大的报文,则重置 Master down interval 定时器,不进一步比较IP地址。
- 如果收到优先级为0的报文,将定时器设置为skew time。如果优先级不为0,则立即成为master(都需要等待preempt delay)
主备选举规则(优先级)
正常情况:
一般情况下我们使用VRRP的优先级设置主备选举,但是当优先级相同时,主备选举与配置顺序有关,先配置VRRP的作为主设备,后配置VRRP的作为从设备。
特殊场景:
由于网络故障原因造成备份组中存在多台Master路由器时,这些Master路由器会根据优先级和IP地址选举出一个Master路由器:优先级高的路由器成为Master路由器;优先级低的成为Backup路由器;如果优先级相同,则IP地址大的成为Master路由器。
**📖说明:**正常情况下,VRRP选举与配置顺序有关,不看IP地址。网络故障原因造成备份组中存在多台Master路由器时,此时才会看优先级及IP地址
VRRP中通过优先级进行VRRP 主从选举,优先级取值范围为0~255 其中0和255无法使用,即1~254。
0和255
0和255优先级不能被配置,优先级0是用在IP地址所有者放弃master角色时使用。当路由器undo掉VRRP配置时,接口会发送一个优先级为0的信息。
优先级为0:
协议中告诉我们,当状态为Master的路由器接口被shutdown时,将立即发送优先级为0的通告,用来告诉其他的路由器,它退位了。
当处于Master状态的路由器收到优先级为0的报文时,将立即发送自己的VRRP通告报文,用来通知其他的路由器,自己还是处于正常工作状态。
当处于Backup状态的路由器收到优先级为0的报文时,将Master_Down_Timer设置为Skew_Time的时间,根据协议公式这是一个不足1秒的时间间隔,在这段时可以及时收到Master发来的通告报文,有效地阻止了所有Backup不必要的切换,这在一定程度上可以防止优先级为0的报文的攻击;同时,根据公式可以看出优先级高的Backup路由器的Skew_Time较短,这样可以保证所有Backup路由器中优先级较高的VRRP路由器优先进行切换,这同时也是VRRP 优先级的一方面意义所在。
优先级255为:
VRRP路由器的接口IP地址与虚拟路由器的IP地址相同时,称该虚拟路由器作为VRRP组中的IP地址拥有者。即当路由器配置VRRP组虚拟IP地址为自身接口地址时,接口优先级为255。
双Master原因
双Master可能是:
- 存在多个备份组,不同备份组中的路由器互为Master
- 存在一个备份组,相同备份组中的多台路由器均为Master,此情况因为可能链路拥塞导致原Master的ad报文在Master down 时间内没有被backup收到,而拥塞完毕后,原先的Backup已成为Master的情况,该情况会导致备份组频繁切换,建议提高抢占 delay
VRRP认证
VRRP认证存在三种
0:无认证
1:明文
2:密文
VRRP状态机
VRRP协议存在三种状态 Init初始状态,Master活动状态,Backup备份状态。
配置VRRP后,设备进入备份组,初始状态下 若优先级为255则进入Master状态,否则进入Backup状态。
**Master/Backup ——> Initalize :**设备关闭;
**Master——> Backup :**收到比自己优先级更高的数据包;
**Backup ——> Master:**若在Backup状态超时时间内没有收到VRRP通告报文或者收到通告报文原Master的优先级为0或者是小于自身,那么在配置了抢占模式的情况下,会在等待抢占时延后,执行Master抢占(默认抢占开启,延迟为0,即立刻抢占)
抢占模式
说明:抢占华为默认配置,默认时间0秒,为立即抢占,在skew time 和master down interval 时间都需要等待preempt time!
出现抢占时延的原因为: 在性能不稳定的网络中,网络拥塞可能导致Backup设备在Master Down interval期间没有收到Master的ad通告报文,那么Backup设备将会主动切换回Master,如此此时原Master设备的报文又到达了,新Master设备再次切换回Backup。 如此就会造成VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占时延,使得Backup在等待了Master down interval后,还需等到抢占时延。
VRRP主备切换状态
-
原Master设备上线链路故障自动降低优先级
Backup设备会收到比自身优先级
小
的报文,则会在Preempt Delay后立即成为Master -
原Master发生故障而无法发出通告报文时。或链路收不到通告报文时
Backup设备会在
Master Down Interval + Preempt Delay
超时后,执行抢占成为Master。 -
原Master设备主动离开role(被shutdown)将会发送0优先级报文。
Backup设备会在收到0优先级报文后,经过
Skew Time + Preempt Delay
后,执行抢占成为Master。
**Master_Down_Interval 时间:**3倍的advertise interva (默认为1)+ Shew Time + preempt delay(默认为0)
Skew time:(256-设备优先级)/256 (单位为秒)
项目场景
负载分担和Backup场景
负载分担即为:存在多个VRRP备份组,VRRP路由器分别是不同备份组的Master,他们之间互为备份。
允许一台设备为多个VRRP备份组作备份。通过多个虚拟路由器可以实现负载分担。负载分担方式是指多台虚拟路由器同时承担业务,因此需要建立两个或更多的备份组。
VRRP3
目前VRRP存在v2和v3双版本,v2仅支持ipv4,而v3支持ipv4和ipv6
区别:
- 支持网络类型不同:VRRP2仅支持ipv4,VRRP3支持ipv4和ipv6
- 认证功能不同:VRRP2支持认证,VRRP3不支持认证功能
- 发送报文时间间隔不同:VRRP2支持秒级,而VRRP3支持厘秒级
H3C
说明:
华三模拟器情况下,VRRP 同时配置时,先比较优先级后比较IP地址。
若在优先级相同情况下,低IP地址端先配置VRRP,高地址端后配置VRRP:则 后地址端不会进行抢占,就算开启了 Preempt
参考致谢
HCIE路由交换学习指南
HedEx产品文档
知了社区