VRRP(虚拟路由冗余协议)简述



虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)是一种容错协议,是由Internet 工程任务组(Internet Engineering Task Force,IETF)提出的解决局域网中静态网关单点失效问题的一种冗余协议。

VRRP描述了一个动态选举协议,该协议从一组VRRP路由器中选举一个主路由器(Master),并将Master关联到一个虚拟路由器,作为所连接网段的网关。被选举出来关联到一个虚拟路由器的VRRP路由器称为Master,由Master路由器处理发往虚拟路由器的数据报文。当Master故障之后,VRRP从其它VRRP路由器中重新选举一个Master,并关联到同一个虚拟路由器,由新的Master继续处理发往虚拟路由器的数据报文。这种机制允许VRRP路由器所连接网段上的终端只使用一个虚拟路由器的IP地址作为默认网关,无需关心VRRP路由器的物理IP地址,也无需在Master故障之后重新配置默认网关。因此,使用VRRP可以极大的增强默认网关的可靠性。


VRRP的主备选举

在VRRP 的实际运行中,虚拟路由器是一个逻辑上的概念,并不具备处理数据的能力。终端用户的数据仍然要借助物理路由器进行处理。那么到底哪台路由器负责处理到达虚拟路由器的数据呢?

VRRP 协议中定义了一个主备网关路由器选举的概念。运行VRRP 协议的物理路由器之间会进行选举,最终选举出一个Master,其余路由器全部都处于Backup 的状态。所有发往虚拟路由器的数据报文都由Master负责转发。如果Master 出现故障,VRRP 会从其他运行VRRP 的路由器中重新选举出一个新的Master。

VRRP 中主备选举的依据主要是优先级,具体的选举原则有以下3 点。

(1)比较优先级的大小,优先级高者当选为Master 设备。
(2)当两台优先级相同的设备,如果已经存在Master,则Backup 设备不进行抢占。如果同时竞争Master,则比较接口IP 地址大小,IP 地址较大的接口所在设备当选为Master 设备。
(3)其他设备作为备份设备,随时监听Master 设备的状态。


VRRP的基本概念

在VRRP 的实现中,除了优先级和主备状态以外,VRRP 中还定义了一些其他的概念:

 (1)虚拟路由器
 (2)消息通告间隔(Advertisement_Interval)
 (3)抢占模式(Preemption Mode)
 (4)延迟时间(Delay Time)
 (5)Master 故障间隔(Master_Down_Interval)
 (6)报文验证。


虚拟路由器

VRRP 将多台物理设备看成逻辑上的一台虚拟路由器。一台虚拟路由器由两部分信息进行标识:虚拟路由器ID(VRID)和所关联的虚拟IP 地址。

VRID 的配置范围为1~255,配置在同一备份组中的VRID 必须一致。


消息通告间隔(Advertisement_Interval)

消息通告间隔指的是Master 发送两个VRRP 通告消息中间的间隔,默认为1 s。关联到同一虚拟路由器的VRRP 路由器上配置的消息通告间隔必须一致,如果不一致,VRRP 认为是关联到不同的虚拟路由器。


抢占模式(Preemption Mode)

在VRRP 中,只有Master 才能发送VRRP 通告消息。Backup 路由器在接收到Master 发送的VRRP通告消息后,会比较自身的优先级和Master 通告消息中的优先级大小。

如果抢占模式开启,而且自己的优先级比当前Master 路由器的优先级要高,就会将自己的状态修改为Master,并向外通告VRRP 通告消息。如果抢占模式关闭,Backup 路由器即使发现自己的优先级比当前Master 路由器的优先级高,也不会将自己的状态修改为Master。

默认情况下,抢占模式是开启的。


延迟时间(Delay Time)

在开启了VRRP 抢占功能的网络中,如果网络非常繁忙,会出现Master 正常工作但是Backup 却收不到通告消息的情况。这种情况下可以配置抢占延迟时间,使Backup 不会立即成为Master,减少网络振荡。

默认情况下,延迟时间的值为0。 Master 故障间隔(Master_Down_Interval)

路由器处于Backup 状态时,如果在Master 故障间隔时间内收不到Master 发送的VRRP 通告报文,则认为Master 出现故障,Backup 切换状态为Master,向外发布VRRP 通告消息报文。

Master 故障间隔的时间是3 倍的消息通告间隔再加上延迟时间:(3×Advertisement_Interval)+Delay Time。


报文验证

VRRP 支持3 种验证方式:不验证、纯文本密码验证和MD5 验证。

1.不验证:此验证方式表示VRRP 报文不需要验证。
2.纯文本密码验证:此验证方式表示VRRP 报文需要进行验证,验证时使用纯文
3.MD5 验证:此验证方式表示VRRP 报文使用MD5 加密数据进行验证。


**本文中的部分内容来自网络或相关书籍**
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐