1.1VRRP简介如图1-1所示,通常,同一网段内的所有主机上都存在一条相同的、以网关为下一跳的缺省路由。当网关发生故障时,本网段内所有以网关为缺省路由的主机将无法与外部网络通信。图1-1局域网组网方案VRRP(VirtualRouterRedundancyProtocol,虚拟路由器冗余协议)将可以承担网关功能的一组路由器加入到备份组中,形成一台虚拟路由器,由VRRP的选举机制决定哪台路由器承担转发任务,局域网内的主机只需将虚拟路由器配置为缺省网关。VRRP是一种容错协议,在提高可靠性的同时,简化了主机的配置。在具有多播或广播能力的局域网(如以太网)中,借助VRRP能在某台路由器出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,而无需修改动态路由协议、路由发现协议等配置信息。1-2设备支持标准协议模式的VRRP:即基于RFC实现的VRRPv2和VRRPv3。其中,VRRPv2基于IPv4,VRRPv3基于IPv6。VRRPv2和VRRPv3在功能实现上并没有区别,只是应用的网络环境不同,详细介绍请参见“1.2VRRP标准协议模式”。1.2VRRP标准协议1.2.1VRRP备份组简介VRRP将局域网内的一组路由器划分在一起,称为一个备份组。备份组由一个Master路由器和多个Backup路由器组成,功能上相当于一台虚拟路由器。VRRP备份组具有以下特点:图1-2VRRP组网示意图如图1-2所示,RouterA、RouterB和RouterC组成一个虚拟路由器。此虚拟路由器有自己的IP地址。局域网内的主机将虚拟路由器设置为缺省网关。RouterA、RouterB和RouterC中优先级最高的路由器作为Master路由器,承担网关的功能。其余两台路由器作为Backup路由器。1.虚拟IP备份组具有虚拟IP地址。局域网内的主机仅需要知道这个虚拟路由器的IP地址,并将其设置为缺省路由的下一跳地址。�虚拟路由器的IP地址可以是备份组所在网段中未被分配的IP地址,也可以和备份组内的某个路由器的接口IP地址相同。接口IP地址与虚拟IP地址相同的路由器被称为“IP地址拥有者”。�在同一个VRRP备份组中,只允许配置一个IP地址拥有者。2.备份组中路由器的优先级VRRP根据优先级来确定备份组中每台路由器的角色(Master路由器或Backup路由器)。优先级越高,则越有可能成为Master路由器,其他优先级低的成为Backup路由器。�路由器在备份组中的状态可以为Master、Backup和Initialize。VRRP优先级的取值范围为0到255(数值越大表明优先级越高),可配置的范围是1到254,优先级0为系统保留给特殊用途来使用,255则是系统保留给IP地址拥有者。当路由器为IP地址拥有者时,其优先级始终为255。因此,当备份组内存在IP地址拥有者时,只要其工作正常,则为Master路由器。3.备份组中路由器的工作方式备份组中的路由器具有以下两种工作方式:�非抢占方式:如果备份组中的路由器工作在非抢占方式下,则只要Master路由器没有出现故障,Backup路由器即使随后被配置了更高的优先级也不会成为Master路由器。�抢占方式:如果备份组中的路由器工作在抢占方式下,它一旦发现自己的优先级比当前的Master路由器的优先级高,就会对外发送VRRP通告报文。导致备份组内路由器重新选举Master路由器,并最终取代原有的Master路由器。相应地,原来的Master路由器将会变成Backup路由器。4.备份组中路由器的认证方式为了防止非法用户构造报文攻击备份组,VRRP通过在VRRP报文中增加认证字的方式,验证接收到的VRRP报文。VRRP提供了两种认证方式:�simple:简单字符认证。发送VRRP报文的路由器将认证字填入到VRRP报文中,而收到VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较。如果认证字相同,则认为接收到的报文是真实、合法的VRRP报文;否则认为接收到的报文是一个非法报文。�md5:MD5认证。发送VRRP报文的路由器利用认证字和MD5算法对VRRP报文进行摘要运算,运算结果保存在AuthenticationHeader(认证头)中。收到VRRP报文的路由器会利用认证字和MD5算法进行同样的运算,并将运算结果与认证头的内容进行比较。如果相同,则认为接收到的报文是真实、合法的VRRP报文;否则认为接收到的报文是一个非法报文。在一个安全的网络中,用户也可以不设置认证方式。1.2.2VRRP定时器VRRP定时器分为两种:VRRP通告报文间隔时间定时器和VRRP抢占延迟时间定时器。1.VRRP通告报文时间间隔定时器VRRP备份组中的Master路由器会定时发送VRRP通告报文,通知备份组内的路由器自己工作正常。用户可以通过设置VRRP定时器来调整Master路由器发送VRRP通告报文的时间间隔。如果Backup路由器在等待了3个间隔时间后,依然没有收到VRRP通告报文,则认为自己是Master路由器,并对外发送VRRP通告报文,重新进行Master路由器的选举。2.VRRP抢占延迟时间定时器为了避免备份组内的成员频繁进行主备状态转换,让Backup路由器有足够的时间搜集必要的信息(如路由信息),Backup路由器接收到优先级低于本地优先级的通告报文后,不会立即抢占成为Master,而是等待一定时间——抢占延迟时间后,才会对外发送VRRP通告报文取代原来的Master路由器。1.2.3VRRP报文格式Master路由器以组播的方式定时发送VRRP报文通告它的存在。这些报文可以用来检测虚拟路由器的各种参数,还可以用于Master路由器的选举。VRRP报文封装在IP报文中,协议号为112。VRRPv2的报文格式如图1-3所示,VRRPv3的报文格式如图1-4所示。图1-3VRRPv2的报文格式图1-4VRRPv3的报文格式各字段解释如下:�Version:协议版本号。VRRPv2对应的版本号为2;VRRPv3对应的版本号为3。�Type:VRRP报文的类型。VRRPv2和VRRPv3报文只有一种类型,即VRRP通告报文(Advertisement),该字段取值为1。�VirtualRtrID(VRID):虚拟路由器号(即备份组号),取值范围1~255。�Priority:路由器在备份组中的优先级,取值范围0~255,数值越大表明优先级越高。�CountIPAddrs/CountIPv6Addrs:备份组虚拟IP地址的个数。1个备份组可对应多个虚拟IP地址。�AuthType:认证类型。该值为0表示无认证,为1表示简单字符认证,为2表示MD5认证。VRRPv3不支持MD5认证。�AdverInt:发送通告报文的时间间隔。VRRPv2中单位为秒,缺省为1秒;VRRPv3中单位为厘秒,缺省为100厘秒。�Checksum:16位校验和,用于检测VRRP报文中的数据破坏情况。�IPAddress/IPv6Address:备份组虚拟IP地址表项。所包含的地址数定义在CountIPAddrs/CountIPv6Addrs字段。1-5�AuthenticationData:验证字,目前只用于简单字符认证,对于其它认证方式一律填0。1.2.4VRRP工作过程VRRP的工作过程如下:(1)备份组中的路由器根据优先级确定自己在备份组中的角色。优先级高的路由器成为Master路由器;优先级低的成为Backup路由器。Master路由器定期发送VRRP通告报文,通知备份组内的其他路由器自己工作正常;Backup路由器则启动定时器等待通告报文的到来。(2)在抢占方式下,当Backup路由器收到VRRP通告报文后,会将自己的优先级与通告报文中的优先级进行比较。如果大于通告报文中的优先级,则成为Master路由器;否则将保持Backup状态。抢占方式可以确保承担转发任务的Master路由器始终是备份组中优先级最高的路由器。(3)在非抢占方式下,只要Master路由器没有出现故障,备份组中的路由器始终保持Master或Backup状态,Backup路由器即使随后被配置了更高的优先级也不会成为Master路由器。非抢占方式可以避免频繁地切换Master路由器。(4)如果Backup路由器的定时器超时后仍未收到Master路由器发送来的VRRP通告报文,则认为Master路由器已经无法正常工作,此时Backup路由器会认为自己是Master路由器,并对外发送VRRP通告报文。备份组内的路由器根据优先级选举出Master路由器,承担报文的转发功能。�由于路由器上备份组的配置不一致、网络故障等原因造成备份组中存在多个Master路由器时,这些Master路由器会根据优先级和IP地址选举出一个Master:优先级高的路由器成为Master;优先级低的成为Backup;如果优先级相同,则IP地址大的成为Master。�Backup路由器接收到VRRP通告报文后,只会将自己的优先级与通告报文中的优先级进行比较,不会比较IP地址。只有自己的优先级大于通告报文中的优先级时,才会抢占成为Master。1.2.5VRRP监视功能配置VRRP监视功能时,需要配置备份组中的路由器工作在抢占方式,以保证只有优先级最高的路由器才能成为Master、承担转发任务。1.监视指定接口功能路由器连接上行链路的接口出现故障时,备份组无法感知上行链路接口的故障,如果该路由器此时处于Master状态,将会导致局域网内的主机无法访问外部网络。通过监视指定接口的功能,可以解决该问题。当连接上行链路的接口处于Down或Removed状态时,路由器主动降低自己的优先级,使得备份组内其它路由器的优先级高于这个路由器,以便优先级最高的路由器成为Master,承担转发任务。2.监视Track项功能通过VRRP监视Track项功能,可以实现:�根据上行链路的状态,改变路由器的优先级。当上行链路出现故障,局域网内的主机无法通过路由器访问外部网络时,被监视Track项的状态为Negative,并将路由器的优先级降低指定的数额。从而,使得备份组内其它路由器的优先级高于这个路由器的优先级,成为Master路由器,保证局域网内主机与外部网络的通信不会中断。�在Backup路由器上监视Master路由器的状态。当Master路由器出现故障时,工作在切换模式的Backup路由器能够迅速成为Master路由器,以保证通信不会中断。Track项的详细介绍,请参见“可靠性配置指导”中的“Track”。1.3配置基于IPv4的VRRP1.3.1基于IPv4的VRRP配置任务简介在备份组内的每个路由器上都需进行配置,才能形成一个备份组。表1-1VRRP配置任务简介配置任务说明详细配置配置虚拟IP地址对应的MAC地址的类型可选1.3.2创建备份组并配置虚拟IP地址必选1.3.3配置备份组优先级、抢占方式及监视功能可选1.3.4配置VRRP报文的相关属性可选1.3.5开启VRRP的Trap功能可选1.3.61.3.2配置虚拟IP地址对应的MAC地址的类型配置虚拟IP地址对应的MAC地址的类型后,Master路由器将根据配置的MAC地址类型,选择发送报文的源MAC地址,并采用指定类型的MAC地址应答主机的ARP请求,以便内部网络的主机学习到IP地址和MAC地址的对应关系。虚拟IP地址对应的MAC地址类型有两种:�虚拟MAC地址:缺省情况下,创建备份组后,会自动生成与之对应的虚拟MAC地址,虚拟IP地址与此虚拟MAC地址对应。如果采用这种对应关系,Master路由器改变时,内部网络的主机不需要更新IP地址与MAC地址的绑定。�接口的实际MAC地址:当备份组中存在IP地址拥有者时,如果配置虚拟IP地址和虚拟MAC地址对应,会造成一个IP地址对应两个MAC地址。因此用户可以配置备份组虚拟IP地址和接口的实际MAC地址对应,主机发送的报文将按照实际MAC地址转发给IP地址拥有者。表1-2