VRRP (Virtual Router Redundancy Protocol)
虚拟路由器冗余协议 通常情况下,同一网段的所有主机都设置一条相同的网关为下一跳的缺省路由,然而当网关故障的时候,此时该网段下的所有主机都无法与外部网络通信,通过VRRP可以避免由于局域网网关单点故障而导致的网络中断。
应用
主备备份
VRRP允许将多个路由器加入到一个备份组中,形成一台虚拟路由器。 在一个备份组中,主路由器(Master身份)承担网关功能,当主路由器出现故障时,其他备用路由器(Backup身份)通过VRRP选举出一个路由器接替主路由器的工作。 不同路由器在备份组中拥有不同的优先级,优先级最高的将成为主路由器。

负载分担
VRRP负载分担使多台路由器同时承担业务,需要两个及两个以上的备份组,同一路由器可以加入不同的备份组,有不同的优先级,从而实现负载分担。

工作原理
VRRP标准
VRRP协议报文使用固定组播地址224.0.0.18
虚MAC地址:00-00-5E-00-01-{VRID} (VRID虚拟路由器号,范围1-255)
相关概念
- VRID:虚拟路由器号,范围1-255,以区分不同备份组
- Master和Backup路由器:Master路由器由备份组内所有路由器根据优先级高低选举出的路由器,承担网关功能,其他都为Backup路由器。
- IP地址拥有着:接口IP地址与虚拟IP地址相同的路由器为“IP地址拥有者”。
- 虚MAC地址:00-00-5E-00-01-{VRID},当虚拟路由器回应ARP请求时,回应的是虚拟MAC地址,而不是接口真实的MAC地址
- 优先级:通过优先级确定参与到备份组每台路由器的地位,优先级最大的将成为Master路由器。优先级相同时,将比较接口的主IP地址。取值范围为0-255。实际可配置范围为1-254,0为系统保留为特殊用途,255保留给“IP地址拥有者”。
- 抢占模式:主路由器会不断发送VRRP报文,Backup收到报文后一旦发现自己优先级更高,它将成为Master,从而发送VRRP报文,而Master收到报文后,自己的优先级较低,自动成为Backup。
- 非抢占模式:只要Backup一直收到Master的VRRP报文,就可以证明Master运行正常,所以不会主动成为Master。在非抢占模式下,即使Master优先级降低,只要Master不故障一直处于运行状态中,Backup则不会抢占成为Master。
- 认证类型:三种认证类型:无认证、简单字符认证和MD5认证。
监视接口功能:在上图中,Master为SW1,SW1承担着网关的报文转发。当SW1上行链路(与SW4相连)故障后,如果没有开启接口监视,SW1仍然是Master,仍然承担报文转发任务,但此时局域网以无法与外部网络通信。 所以需要SW1监视端口1,当该端口DOWN后,在抢占模式下主动降低自己的优先级,让SW2抢占成为Master,使SW2承担报文转发任务。
VRRP报文格式

- Version:版本号,2、3。
- Type:VRRP报文类型。在VRRPv2下报文只有一种类型,即VRRP通告报文(Advertisement),取值为1。
- Virtual Rtr ID(VRID):备份组号。范围0-255。
- Priority:路由器在备份组中的优先级。数值越大优先级越高。
- Count IP Addrs:备份组的虚拟IP地址个数,一个IP地址可对应多个虚拟IP地址。
- Auth Type:认证类型。0->无认证。1->简单字符认证。2->MD5认证。
- Checksum:16位校验和。
- IP Address:备份组虚拟IP地址表项,包含地址数定义在Count IP Addrs字段。
- Authentication Data:验证字。
状态机

相关命令
- [interface-view]vrrp vrid virtual-router-id virtual-ip virtual-address 创建备份组的同时,配置备份组的虚拟IP地址。为备份组指定第一个虚拟IP地址时,VRRP备份组会自动生成。以后再给这个备份组指定虚拟IP地址时,VRRP备份组仅将这个IP地址添加到它的备份组虚拟IP地址列表中。
- [interface-view]vrrp vrid virtual-router-id priority priority-value 配置路由器再备份组中的优先级。
- [interface-view]vrrp vrid virtual-router-id preempt-mode [timer delay delay-value] 配置备份组工作在抢占模式下,可选配置抢占延迟时间。
- [interface-view]vrrp vrid virtual-router-id track track-entry-number priority reduced reduced-value 命令用来配置监视指定的Track项,即当Track项的状态为Negative时降低路由器的优先级
- [system-view]dis vrrp 显示VRRP备份组状态信息,不同厂商命令大致相同。