当前位置:文档之家› VRRP技术白皮书.

VRRP技术白皮书.

VRRP技术白皮书

摘要

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

关键词

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

1概述

1.1 VRRP产生背景

随着Internet的发展,人们对网络可靠性的要求越来越高。特别是对于终端用户来说,能够时时与网络其他部分保持通信是非常重要的。虚拟路由器冗余协议(VRRP)提供一种解决方案,能够保证终端用户与网络的联系可靠、稳定、不中断。

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

图1 常用网关配置图

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

VRRP的出现使解决这个问题变得简单,它不改变组网情况,不需要在主机上做任何配置,只需要在相关路由器上配置极少的几条命令,就能实现下一跳网关的备份,不会给主机带来任何负担。和其他方法比较起来,VRRP简单方便。

1.2 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的工作原理:

图2 VRRP工作原理图

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的备份功能。

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

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。

.13) Backup

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

?接收Master发送的VRRP多播报文,从中了解Master的状态

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

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

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

只有当Backup接收到MASTER_DOWN这个定时器到时的事件时,才会转为Master,而当接收到比自己的优先级小的VRRP报文时,它只是做丢弃这个报文的

处理,从而就不对定时器做重置处理,这样定时器就会在若干次这样的处理之后到时,于是就转为Master。只有当接收到接口的Shutdown事件时才会转为Initialize。

三种状态的转换如下图:

图3 VRRP状态模型转换图

2.3 VRRP的功能特点

VRRP具有以下特点:

1)IP地址的备份(IP Address Backup)

一个虚拟IP地址被多台路由器共用,这是VRRP的首要功能,该功能能将网络黑洞的持续时间最小化,还可以实现负载分担。

2)首选路径确定(Preferred Path Indication)

VRRP用一个简单方法,从各成员中选举主路由器,这就是设立优先级和抢占方式。备份组中优先级最高的路由器将成为主路由器,当优先级相同时,将会比较接口的主IP地址。优先级的取值范围为0到255 (数值越大表明优先级越高)。用户可以通过设定优先级和抢占方式来指定某一路由器成为Master。

3)使不必要的中断最小化(Minimizaton of Unnecessary Service Disruptions)当主路由器选好后,除了主路由器定时发送的VRRP广播报文外,主路由器和备份路由器之间没有多余的通信。任何优先级低或相等的备份路由器不能发起状态转换,这样主路由器可以持续稳定地工作。

4)安全性可扩展(Extensible Security)

对于安全程度不同的网络环境,可以在报头上设定不同的认证方式和认证字。任何没有通过认证的报文将做丢弃处理。 VRRP定义了三种认证方式:无认证(no authentication)、简单字符认证(simple clear text passwords)和 MD5认证(MD5)。在一个安全的网络中,可以将认证方式设置为NO,路由器对要发送的VRRP报文不进行任何认证处理,而收到VRRP 报文的路由器也不进行任何认证就认为是一个真实合法的VRRP报文,这种情况下,不需要设置认证字。在一个有可能受到安全威胁的网络中,可以将认证方式设置为SIMPLE,则发送VRRP报文的路由器就会将认证字填入到VRRP报文中,而收到VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较,相同则认为是真实的,合法的VRRP报文,否则认为是一个非法的报文,将会丢弃。在一个非常不安全的网络中,可以将认证方式设置为MD5,这样,路由器就会利用Authentication Header提供的认证方式和MD5算法来对VRRP报文进行认证。

5)所有协议消息用IP多播数据报发送,因此该协议可以在不同的LAN上使用。

3组网应用

华为技术有限公司的通用数据通信平台VRP(Versatile Routing Platform)全面支持VRRP 技术。在VRP中,允许一台路由器为多个虚拟路由器作备份。通过多虚拟路由器设置可以实现负荷分担。如RouterA作为虚拟路由器1的主路由器,同时又兼职虚拟路由器2的备份路由器,而RouterB正相反,作为虚拟路由器2的主路由器,并兼职虚拟路由器1的备份路由器。

一部分主机使用虚拟路由器1作网关,另一部分主机使用虚拟路由器2作为网关。这样,以达到分担数据流,而又相互备份的目的。组网图如下:

图4 VRRP组网图

VRP上的配置步骤如下:

配置RouterA:

RouterA(config-if-Ethernet0)#vrrp ip 1 202.38.160.111

RouterA(config-if-Ethernet0)#vrrp priority 1 120

RouterA(config-if-Ethernet0)#vrrp ip 2 202.38.160.112

配置RouterB:

RouterB(config-if-Ethernet0)#vrrp ip 1 202.38.160.111

RouterB(config-if-Ethernet0)#vrrp ip 2 202.38.160.112

RouterB(config-if-Ethernet0)#vrrp priority 2 120

4结论

运行VRRP的优点相当明显,网络上单个路由器的故障将不再影响网络内主机与外部的通信,同时把终端主机上的处理负担放在网关上,不需要在主机上增加相应的支持和配置,节约了大量的时间。VRRP组网方便,配置简单,这使得它成为建设一个稳定网络所需的有力工具。

技术词汇的英文注释

主路由器master

备份路由器backup

虚拟路由器virtual router

相关主题
文本预览
相关文档 最新文档