VRRP技术白皮书

更新时间:2023-09-14 09:45:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VRRP技术白皮书

摘要

本文介绍了VRRP的产生背景和实现方式,并结合华为技术有限公司的VRP平台列举了实现VRRP功能的典型组网方式及配置。

关键词

VRRP、Master、Backup、IP 地址拥有者(IP Address Owner)

1 概述

1.1 VRRP产生背景

随着Internet的发展,人们对网络可靠性的要求越来越高。 特别是对于终端用户来

说,能够时时与网络其他部分保持通信是非常重要的。 虚拟路由器冗余协议(VRRP)提供一种解决方案,能够保证终端用户与网络的联系可靠、稳定、不中断。

一般来说,主机通过设置默认网关来与外部网络联系,因为这样配置非常简单。如图1:

VRRP技术白皮书

network10.100.10.1Router AEthernethost 110.100.10.1host 210.100.10.1host 310.100.10.1

图1 常用网关配置图

网络上的主机设置了一条缺省路由(10.100.10.1),该路由的下一跳指向主机所在网段内的一个路由器RouterA,由RouterA将报文转发出去。这样,主机发出的目的地址不在本网段的报文将被通过缺省路由发往RouterA,从而实现了主机与外部网络的通信。然而,万一RouterA出现故障,主机将与外界失去联系,陷入孤立的境地。遗憾的是,仅仅在网络上多加一台路由器并不能解决问题。大多数主机只允许配置一个默认网关;同时,不管网络上存在多少个路由器,对于目标是其他网络的报文,主机只能使用已经配置好的那个默认网关。有一种解决方案是运行动态路由协议,如RIP、OSPF,或者是ICMP路由发现协议等。但是,要想在每一台主机上都运行动态路由协议几乎是不可能的,这涉及到管理问题、安全问题、平台对协议的支持问题等等。

VRRP的出现使解决这个问题变得简单,它不改变组网情况,不需要在主机上做任

何配置,只需要在相关路由器上配置极少的几条命令,就能实现下一跳网关的备份,不会给主机带来任何负担。 和其他方法比较起来,VRRP简单方便。 1.2 VRRP协议简述

第2页,共8页

VRRP技术白皮书

简单来说,VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时的由另一台路由器来代替,从而保持通讯的连续性和可靠性。为了使VRRP工作,要在路由器上配置虚拟路由器号和虚拟IP地址,同时产生一个虚拟MAC地址,这样在这个网络中就加入了一个虚拟路由器。而网络上的主机与虚拟路由器通信,无需了解这个网络上物理路由器的任何信息。一个虚拟路由器由一个主路由器和若干个备份路由器组成,主路由器实现真正的转发功能。当主路由器出现故障时,一个备份路由器将成为新的主路由器,接替它的工作。 VRRP中只定义了一种报文——VRRP报文,这是一种多播报文,由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举。 VRRP中定义了三种状态模型:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有活动状态可以为到虚拟IP地址的转发请求服务。

RFC2338中规定的VRRP协议是在Cisco的私有协议HSRP协议的基础上制定出来的。 但是VRRP简化了HSRP提出的机制,尽量减少了由提供冗余功能给网络带来的额外负载,例如HSRP规定虚拟路由器有六种状态,而在VRRP中只有三种;HSRP中有两种状态可以发送报文,且报文类型有三 种,而VRRP中只有Master状态的路由器可以发送报文,而且报文也只有一种。HSRP报文是封装在UDP报文上的,而VRRP报文是封装在IP报文上的,支持各种上层协议。同时VRRP还支持将真实接口IP地址设置为虚拟IP地址的做法。

VRRP协议仅仅适用于IPv4版本的路由器。对于IPv6版本的路由器将会有新的规范来规定相关内容。

2实现方式

2.1 VRRP的工作原理

结合图2可以了解VRRP的工作原理:

第3页,共8页

VRRP技术白皮书

network真实IP地址 10.100.10.2真实IP地址 10.100.10.3RouterA(Master)RouterB(Backup)虚拟IP地址 10.100.10.1Ethernethost 110.100.10.1图2 VRRP工作原理图10.100.10.110.100.10.1host 2host 3

VRRP将局域网的一组路由器(RouterA和RouterB)组织成一个虚拟的路由器。这个虚拟的路由器拥有自己的IP地址10.100.10.1(这个IP地址可以和某个路由器的接口地址相同)。当然,物理路由器RouterA、RouterB也有自己的IP地址(RouterA的IP地址为10.100.10.2, RouterB的IP地址为10.100.10.3)。局域网内的主机仅仅知道这个虚拟路由器的IP地址10.100.10.1,而并不知道具体的RouterA的IP地址以及RouterB的IP地址,他们将自己的缺省路由设置为该虚拟路由器的IP地址10.100.10.1。于是,网络内的主机就通过这个虚拟的路由器来与其他网络进行通信。而对于这个虚拟路由器则需要进行如下工作:

1)根据优先级的大小挑选主路由器,优先级最大的为主路由器,状态为Master,若优先级相同,则比较接口的主IP地址,主IP地址大的就成为主路由器,由它提供实际的路由服务。 2)其它路由器作为备份路由器,随时监测主路由器的状态。当主路由器正常工作时,它会每隔一段时间发送一个VRRP多播报文,以通知组内的备份路由器,主路由器处于正常工作状态。如果组内的备份路由器长时间没有接收到来自主路由器的报文,则将自己状态转为Master。当组内有多台备份路由器时,将有可能产生多个主路由器。这时每一个主路由器就会比较VRRP报文中的优先级和自己本地的优先级,如果本地的优先级小于VRRP中的优先级,则将自己的状态转为Backup,否则保持自己的状态不变。通过这样一个过程,就会将优先级最大的路由器选成新的主路由器,完成VRRP的备份功能。

第4页,共8页

VRRP技术白皮书

从上述分析可以看到,对于网络中的主机来说,它并没有做任何额外的工作,但是它对外的通信再也不会因为一台路由器坏掉而受到影响了。 2.2 虚拟路由器的状态模型

组成虚拟路由器的路由器会有三种状态,分别是Initialize、Master和Backup,下面对这三种状态进行说明: 1) Initialize

系统启动后进入此状态,当收到接口startup的消息,将转入Backup(优先级不为255时)或Master状态(优先级为255时)。在此状态时,路由器不会对VRRP报文做任何处理。 2)Master

当路由器处于Master状态时,它将会做下列工作。

??定期发送VRRP多播报文;

??发送免费(gratuitous)ARP报文,以使网络内各主机知道虚拟IP地址所对应的虚拟MAC地址;

??响应对虚拟IP地址的ARP请求,并且响应的是虚拟MAC地址,而不是接口的真实MAC地址;

??转发目的MAC地址为虚拟MAC地址的IP报文;

??如果它是这个虚拟IP地址的拥有者(IP Address Owner),则接收目的IP地址为这个虚拟IP地址的IP报文,否则,丢弃这个IP报文;

在Master状态中只有接收到比自己的优先级大的VRRP报文时,才会转为

Backup,只有当接收到接口的Shutdown事件时才会转为Initialize。

.1

3) Backup

当路由器处于Backup状态时,它将会做下列工作。 接收Master发送的VRRP多播报文,从中了解Master的状态

?

??对虚拟IP地址的ARP请求,不做响应

??丢弃目的MAC地址为虚拟MAC地址的IP报文。 ??丢弃目的IP地址为虚拟IP地址的IP报文。

只有当Backup接收到MASTER_DOWN这个定时器到时的事件时,才会转为

Master,而当接收到比自己的优先级小的VRRP报文时,它只是做丢弃这个报文的

第5页,共8页

本文来源:https://www.bwwdw.com/article/0efh.html

Top