随着Internet的迅猛发展,基于网络的应用逐渐增多。这就对网络的可靠性提出了越来越高的要求。斥资对所有网络设备进行更新当然是一种很好的可靠性解决方案;但本着保护现有投资的角度考虑,可以采用廉价冗余的思路,在可靠性和经济性方面找到平衡点。

  虚拟路由冗余协议(Virtual Router Redundancy Protocol ,VRRP)就是一种很好的解决方案。在该协议中,对共享多存取访问介质(如以太网)上终端IP设备的默认网关(Default Gateway)进行冗余备份,从而在其中一台路由设备宕机时,备份路由设备及时接管转发工作,向用户提供透明的切换,提高了网络服务质量。



一、协议概述

  在基于TCP/IP协议的网络中,为了保证不直接物理连接的设备之间的通信,必须指定路由。目前常用的指定路由的方法有两种:一种是通过路由协议(比如:内部路由协议RIP和OSPF)动态学习;另一种是静态配置。在每一个终端都运行动态路由协议是不现实的,大多客户端操作系统平台都不支持动态路由协议,即使支持也受到管理开销、收敛度、安全性等许多问题的限制。因此普遍采用对终端IP设备静态路由配置,一般是给终端设备指定一个或者多个默认网关(Default Gateway)。静态路由的方法简化了网络管理的复杂度和减轻了终端设备的通信开销,但是它仍然有一个缺点:如果作为默认网关的路由器损坏,所有使用该网关为下一跳主机的通信必然要中断。即便配置了多个默认网关,如不重新启动终端设备,也不能切换到新的网关。采用虚拟路由冗余协议 (Virtual Router Redundancy Protocol,简称VRRP)可以很好的避免静态指定网关的缺陷。

  在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器。VRRP协议使用选择策略从路由器组中选出一台作为主控,负责ARP相应和转发IP数据包,组中的其它路由器作为备份的角色处于待命状态。当由于某种原因主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。

二、工作原理

  一个VRRP路由器有唯一的标识:VRID,范围为0—255.该路由器对外表现为唯一的虚拟MAC地址,地址的格式为00-00-5E-00-01-[VRID].主控路由器负责对ARP请求用该MAC地址做应答。这样,无论如何切换,保证给终端设备的是唯一一致的IP和MAC地址,减少了切换对终端设备的影响。


  VRRP控制报文只有一种:VRRP通告(advertisement)。它使用IP多播数据包进行封装,组地址为224.0.0.18,发布范围只限于同一局域网内。这保证了VRID在不同网络中可以重复使用。为了减少网络带宽消耗只有主控路由器才可以周期性的发送VRRP通告报文。备份路由器在连续三个通告间隔内收不到VRRP或收到优先级为0的通告后启动新的一轮VRRP选举。

  在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0—255.若VRRP路由器的IP地址和虚拟路由器的接口IP地址相同,则称该虚拟路由器作VRRP组中的IP地址所有者;IP地址所有者自动具有最高优先级:255.优先级0一般用在IP地址所有者主动放弃主控者角色时使用。可配置的优先级范围为1—254.优先级的配置原则可以依据链路的速度和成本、路由器性能和可靠性以及其它管理策略设定。主控路由器的选举中,高优先级的虚拟路由器获胜,因此,如果在VRRP组中有IP地址所有者,则它总是作为主控路由的角色出现。对于相同优先级的候选路由器,按照IP地址大小顺序选举。VRRP还提供了优先级抢占策略,如果配置了该策略,高优先级的备份路由器便会剥夺当前低优先级的主控路由器而成为新的主控路由器。

  为了保证VRRP协议的安全性,提供了两种安全认证措施:明文认证和IP头认证。明文认证方式要求:在加入一个VRRP路由器组时,必须同时提供相同的VRID和明文密码。适合于避免在局域网内的配置错误,但不能防止通过网络监听方式获得密码。IP头认证的方式提供了更高的安全性,能够防止报文重放和修改等攻击。 

三、 应用实例

  最典型的VRRP应用:RTA、RTB组成一个VRRP路由器组,假设RTB的处理能力高于RTA,则将RTB配置成IP地址所有者,H1、H2、H3的默认网关设定为RTB.则RTB成为主控路由器,负责ICMP重定向、ARP应答和IP报文的转发;一旦RTB失败,RTA立即启动切换,成为主控,从而保证了对客户透明的安全切换。

  在VRRP应用中,RTA在线时RTB只是作为后备,不参与转发工作,闲置了路由器RTA和链路L1.通过合理的网络设计,可以到达备份和负载分担双重效果。让RTA、RTB同时属于互为备份的两个VRRP组:在组1中RTA为IP地址所有者;组2中RTB为IP地址所有者。将H1的默认网关设定为RTA;H2、H3的默认网关设定为RTB.这样,既分担了设备负载和网络流量,又提高了网络可靠性。

  VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址。

  使用VRRP协议,不用改造目前的网络结构,最大限度保护了当前投资,只需最少的管理费用,却大大提升了网络性能,具有重大的应用价值。

实例:VRRP技术实现网络的路由冗余和负载均衡

    摘要  一般企业网通过路由器连接外网,在大型园区网络中网络核心层通过三层交换机实现数据的高速转发和VLAN之间的路由,路由器和三层交换机在这里都是网络的关键设备,在网络规划设计时,为提高网络的可靠性,需要对这些关键设备进行冗余备份。该文详细阐述VRRP技术如何实现网络路由冗余和负载均衡。

    1 问题的提出

    随着网络应用的不断深入和发展,用户对网络可靠性的需求越来越高。网络中路由器运行动态路由协议如RIP、OSPF可以实现网络路由的冗余备份,当一个主路由发生故障后,网络可以自动切换到它的备份路由实现网络的连接。但是,对于网络边缘终端用户的主机运行一个动态路由协议来实现可靠性是不可行的。一般企业局域网通过路由器连接外网,局域网内用户主机通过配置默认网关来实现与外部网络的访问。


    图1  配置默认网关

    如图一所示,内部网络上的所有主机都配置了一个默认网关(GW:192.168.1.1),为路由器的      E thernet0接口地址。这样,内网主机发出的目的地址不在本网段的报文将通过默认网关发往RouterA,从而实现了主机与外部网络通信。路由器在这里是网络中的关键设备,当路由器RouterA出现故障时,局域网将中断与外网的通信。对于依托网络与外部业务往来频繁的企业以及公司的分支机构与总部的联系、银行的营业网点与银行数据中心的连接等方面的应用将因此受到极大的影响。为提高网络的可靠性,在网络构建时,往往多增设一台路由器。但是,若仅仅在网络上设置多个路由器,而不做特别配置,对于目标地址是其它网络的报文,主机只能将报文发给预先配置的那个默认网关,而不能实现故障情况下路由器的自动切换。VRRP虚拟路由器冗余协议就是针对上述备份问题而提出,消除静态缺省路由环境中所固有的缺陷。它不改变组网情况,只需要在相关路由器上配置极少几条命令,在网络设备故障情况下不需要在主机上做任何更改配置,就能实现下一跳网关的备份,不会给主机带来任何负担。

    2 VRRP技术分析

    VRRP(Virtual Router Redundancy Protocol)是一种LAN接入设备容错协议,VRRP将局域网的一组路由器(包括一个Master即活动路由器和若干个Backup即备份路由器)组织成一个虚拟路由器,称之为一个备份组,如图2所示。

    图2  虚拟路由器示意图

    VRRP将局域网的一组路由器,如图二中的RouterA和RouterB 组织成一个虚拟的路由器。这个虚拟的路由器拥有自己的IP地址192.168.1.3,称为路由器的虚拟IP地址。同时,物理路由器RouterA ,RouterB也有自己的IP地址(如RouterA的IP地址为192.168.1.1,RouterB的IP地址为192.168.1.2)。局域网内的主机仅仅知道这个虚拟路由器的IP地址192.168.1.3,而并不知道备份组内具体路由器的IP地址。在配置时,将局域网主机的默认网关设置为该虚拟路由器的IP地址192.168.1.3.于是,网络内的主机就通过这个虚拟的路由器来与其它网络进行通信,实际的数据处理由备份组内Master路由器执行。如果备份组内的Master路由器出现故障时,备份组内的其它Backup路由器将会接替成为新的Master,继续向网络内的主机提供路由服务。从而实现网络内的主机不间断地与外部网络进行通信。

    VRRP通过多台路由器实现冗余,任何时候只有一台路由器为主路由器,其他的为备份路由器。路由器间的切换对用户是完全透明的,用户不必关心具体过程,只要把缺省路由器设为虚拟路由器的IP地址即可。路由器间的切换过程:

    ⑴ VRRP协议采用竞选的方法选择主路由器。比较各台路由器优先级的大小,优先级最大的为主路由器,状态变为Master. 若路由器的优先级相同,则比较网络接口的主IP地址,主IP地址大的就成为主路由器,由它提供实际的路由服务。

    ⑵ 主路由器选出后,其它路由器作为备份路由器,并通过主路由器发出的VRRP报文监测主路由器的状态。当主路由器正常工作时,它会每隔一段时间发送一个VRRP组播报文,以通知备份路由器,主路由器处于正常工作状态。如果组内的备份路由器长时间没有接收到来自主路由器的报文,则将自己状态转为Master .当组内有多台备份路由器时,重复第1步的竞选过程。通过这样一个过程就会将优先级最大的路由器选成新的主路由器,从而实现VRRP的备份功能。

    3 VRRP技术应用于大型园区网络

    VRRP技术不但用于上述局域网连接外网的路由器的备份,还广泛用于大型园区网络核心层三层交换机的冗余备份。在大型园区网络中,核心层处于网络的中心,网络之间的大量数据都通过核心层设备进行交换,同时承担不同VLAN之间路由的功能。核心层设备一旦宕机,整个网络即面临瘫痪。因此,在园区网络设计中,核心设备的选择,一方面要求其具有强大的数据交换能力,另一方面要求其具有较高的可靠性,一般选择高端核心三层交换机。同时,为进一步提高核心层的可靠性,避免核心层设备宕机造成整个网络瘫痪,一般在核心层再放置一台设备,作为另一台设备的备份,一旦主用设备整机出现故障,立即切换到备用设备,确保网络核心层的高度可靠性。

    核心层三层交换机的切换需要应用VRRP技术。如图3所示(为简便起见,以两层结构的网络为例),为提高网络的可靠性,在网络核心层放置两台三层交换机(S1、S2),接入层二层交换机(SW1、SW2、…、SWn)分别连接两台核心交换机。在大型园区网络中,为抑制广播信号,提高网络的性能,同时实现网络的安全访问控制,一般根据具体情况将整个网络分成多个不同的VLAN,V LAN中主机的默认网关设置为三层交换机上VLAN的接口地址。

    图3 VRRP在园区网络中的应用

    VRRP协议将网络中两台三层交换机(S1、S2)组成VRRP备份组,针对于网络中每一个VLAN接口,备份组都拥有一个虚拟缺省网关地址。如图以VLAN3为例,VRRP备份组设置VLAN3的虚拟IP地址(譬如:192.168.3.1),备份组中S1、S2同时分别拥有自己的VLAN3的接口IP(譬如分别为:192.168.3.2,192.168.3.3),VLAN3内主机的默认网关则设为VRRP备份组VLAN3的虚拟IP地址(192.168.3.1)。VLAN3内的主机通过这个虚拟IP访问VLAN3之外的网络资源,但实际的数据处理有备份组内活动(Master)交换机执行。如果活动交换机发生了故障,VRRP协议将自动由备份交换机(Backup)来替代活动交换机。由于网络内的终端配置了VRRP虚拟网关地址,发生故障时,虚拟交换机没有改变,主机仍然保持连接,网络将不会受到单点故障的影响,这样就很好地解决了网络中核心交换机切换的问题。

    4 VRRP用于负载均衡

    在VRRP 中,允许一台路由器加入多个备份组,通过多备份组设置可以实现负荷分担。

    如图二所示,路由器RouterA作为备份组1的Master路由器,同时又为备份组2 的Backup备份路由器。而路由器RouterB正相反,作为备份组2 的Master,并为备份组1 的Backup备份路由器。一部分主机使用备份组1 的虚拟IP作网关,另一部分主机使用备份组2的虚拟IP作为网关。这样,既达到分担数据流,又实现相互备份的目的。

 路由器配置(实际IP, RouterA :192.168.1.1/24RouterB192.168.1.2/24

 

备份组1

备份组2

虚拟IP

192.168.1.3

192.168.1.4

备份组成员

Master:RouterABackupRouterB

Master:RouterBBackupRouterA

局域网主机配置(假如网络有100台主机)

 

PC1——PC50

PC51——PC100

IP Address

192.168.1.X/24

192.168.1.X/24

Gateway

192.168.1.3

192.168.1.4

    两台路由器互为备份。在路由器正常时,两台路由器各自分担一部分数据流量;当其中一台路由器出现故障时,另一台路由器就会自动分担起所有数据流量,数据的传输不会受到任何的影响。这样既达到负载均衡,又实现相互备份的目的。

    5 结论

    对于使用固定网关的网络,当此网关出现故障时,要想将故障对用户的影响降低到最小,VRRP协议无疑是最低价的选择。对于使用多个网关的网络中可以使用VRRP协议让不同的网关之间互相备份,这样既不会增加网络设备,同时又达到了热备份的目的,使网络故障发生时用户的损失降至最低。而且VRRP 是RFC 标准协议,能方便地实现各厂家设备间的互通。正是由于VRRP 具有这些优点,使得它成为建设一个稳定可靠网络所需的有力工具。

此文章由 flyinweb 于 2009-10-22 16:25:40 编辑

本日志由 flyinweb 于 2009-10-22 16:09:39 发表,目前已经被浏览 3959 次,评论 0 次;

作者添加了以下标签: 虚拟路由冗余协议VRRP负载均衡

引用通告:http://www.517sou.net/Article/295/Trackback.ashx

评论订阅:http://www.517sou.net/Article/295/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)