VRRP-虚拟路由冗余协议
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VRRP-虚拟路由冗余协议相关的知识,希望对你有一定的参考价值。
参考技术A 随着对网络可用性的要求越来越高,局域网内的设备时刻能够保持与外网通信变得十分重要。通常情况下,内部网络中的所有设备都通过一个路由设备来实现与外部网络的通信。当路由设备故障时,局域网内的所有设备都将无法与外网联通。
配置多个路由设备来保证出口网关的可靠性是非常常见的方法,但是局域网内的设备无法支持动态路由协议,多个出口网关之间的选路动作无法实现。
因此,IETF 推出了 VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议 ,来解决局域网主机访问外部网络的可靠性问题。
VRRP是一种容错协议,它通过把几台路由设备联合组成一台虚拟的路由设备,并通过一定的机制来保证当主机的下一跳设备出现故障时,可以及时将业务切换到其它设备,从而保持通讯的连续性和可靠性。
使用VRRP的优势在于:既不需要改变组网情况,也不需要在主机上配置任何动态路由或者路由发现协议,就可以获得更高可靠性的缺省路由。
VRRP协议对应的是RFC3768,该协议仅适用于IPv4。
VRRP的基本概念
以下是与VRRP协议相关的基本概念:
概念 解释
VRRP路由器(VRRP Router运行VRRP的设备,它可能属于一个或多个虚拟路由器。
虚拟路由器(Virtual Router)由VRRP管理的抽象设备,又称为VRRP备份组,被当作一个共享局域网内主机的缺省网关。
它包括了一个虚拟路由器标识符和一组虚拟IP地址。
虚拟IP地址(Virtual IP Address)虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
IP地址拥有者(IP Address Owner)如果一个VRRP路由器将虚拟路由器的IP地址作为真实的接口地址,则该设备是IP地址拥有者。
当这台设备正常工作时,它会响应目的地址是虚拟IP地址的报文,如ping、TCP连接等。
虚拟MAC地址是虚拟路由器根据虚拟路由器ID生成的MAC地址。
一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-VRID。
当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。
主IP地址(Primary IP Address)从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。
VRRP广播报文使用主IP地址作为IP报文的源地址。
Master路由器(Virtual Router Master)是承担转发报文或者应答ARP请求的VRRP路由器,转发报文都是发送到虚拟IP地址的。
如果IP地址拥有者是可用的,通常它将成为Master。
Backup路由器(Virtual Router Backup)一组没有承担转发任务的VRRP路由器,当Master设备出现故障时,它们将通过竞选成为新的Master。
抢占模式在抢占模式下,如果Backup的优先级比当前Master的优先级高,将主动将自己升级成Master。
-------------------------------------------------------------------
VRRP的工作原理
VRRP将局域网的一组路由器构成一个备份组,相当于一台虚拟路由器。局域网内的主机只需要知道这个虚拟路由器的IP地址,并不需知道具体某台设备的IP地址,将网络内主机的缺省网关设置为该虚拟路由器的IP地址,主机就可以利用该虚拟网关与外部网络进行通信。
VRRP将该虚拟路由器动态关联到承担传输业务的物理路由器上,当该物理路由器出现故障时,再次选择新路由器来接替业务传输工作,整个过程对用户完全透明,实现了内部网络和外部网络不间断通信。
如 图1 所示,虚拟路由器的组网环境如下:
RouterA、RouterB和RouterC属于同一个VRRP组,组成一个虚拟路由器,这个虚拟路由器有自己的IP地址10.110.10.1。虚拟IP地址可以直接指定,也可以借用该VRRP组所包含的路由器上某接口地址。
物理路由器RouterA、RouterB和RouterC的实际IP地址分别是10.110.10.5、10.110.10.6和10.110.10.7。
局域网内的主机只需要将缺省路由设为10.110.10.1即可,无需知道具体路由器上的接口地址。
主机利用该虚拟网关与外部网络通信。 路由器工作机制如 下:
根据优先级的大小挑选Master设备。 Master的选举有两种方法:
比较优先级的大小,优先级高者当选为Master。
当两台优先级相同的路由器同时竞争Master时,比较接口IP地址大小。 接口地址大者当选为Master。
其它路由器作为 备份路由器,随时监听Master的状态。
当主路由器正常工作时,它会每隔一段时间(Advertisement_Interval)发送一个VRRP组播报文,以通知组内的备份路由器,主路由器处于正常工作状态。
当组内的备份路由器一段时间(Master_Down_Interval)内没有接收到来自主路由器的报文,则将自己转为主路由器。 一个VRRP组里有多台备份路由器时,短时间内可能产生多个Master,此时,路由器将会将收到的VRRP报文中的优先级与本地优先级做比较。从而选取优先级高的设备做Master。
从上述分析可以看到,主机不需要增加额外工作,与外界的通信也不会因某台路由器故障而受到影响。
注:1.什么是Master_Down_Timer?====主路由器死亡时间间隔,如果此计时器超时,那么Backup路由器就会宣布主路由器死亡。
2.什么是Master_Down_Interval?====Master_Down_Interval = (3*Advertisement_Interval)+ Skew_time举例来说,一个VRRP实例(也就是一个VRRP虚器)的优先级是100,报文发送间隔是1秒,那么Master_Down_Interval = 3*1s + (256-100)/256s = 3.609秒。
-----------------------------------------------------------
VRRP协议介绍
VRRP的报文结构
VRRP的状态机
----------------------------------------------------
VRRP的报文结构
VRRP协议只有一种报文,即VRRP报文。VRRP报文用来将Master设备的优先级和状态通告给同一虚拟路由器的所有VRRP路由器。
VRRP报文封装在IP报文中,发送到分配给VRRP的IPv4组播地址。在IP报文头中,源地址为发送报文的主接口地址(不是虚拟地址或辅助地址),目的地址是224.0.0.18,TTL是255,协议号是112。VRRP报文的结构如 图1 所示。
图1 VRRP报文结构
各字段的含义:
Version:协议版本号,现在的VRRP为版本2。
Type:报文类型,只有一种取值,1,表示Advertisement。
Virtual Rtr ID(VRID):虚拟路由器ID,取值范围是1~255。
Priority:发送报文的VRRP路由器在虚拟路由器中的优先级。取值范围是0~255,其中可用的范围是1~254。0表示设备停止参与VRRP,用来使备份路由器尽快成为主路由器,而不必等到计时器超时;255则保留给IP地址拥有者。缺省值是100。
Count IP Addrs:VRRP广播中包含的虚拟IP地址个数。
Authentication Type:验证类型,协议中指定了3种类型:
0:Non Authentication
1:Simple Text Password
2:Reserved
各字段的含义:
RFC2338中Authentication Type取值如下:
0 - No Authentication
1 - Simple Text Password
2 - IP Authentication Header
随后的RFC3768中将Authentication Type取值变更如下:
0 - No Authentication
1 - Reserved
2 - Reserved
说明:
变更的原因:实践和分析证明,这些认证方式不能提供真正的安全。而限制TTL=255可以阻止大多数对本地脆弱性的攻击。
实现了Simple Text Password认证方式
Advertisement Interval:发送通告报文的时间间隔,缺省为1秒。
Checksum:校验和。
IP Address(es):虚拟路由器IP地址,地址个数是Count IP Addrs的值。
Authentication Data:验证字,目前只有明文认证才用到该部分,对于其它认证方式,一律填0。
---------------------------------
VRRP的状态机
VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发送到虚拟IP地址的报文。
VRRP状态转换如 图1 所示。
Initialize
设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理。
Master
当路由器处于Master状态时,它将会做下列工作:
定期发送VRRP报文。
以虚拟MAC地址响应对虚拟IP地址的ARP请求。
转发目的MAC地址为虚拟MAC地址的IP报文。
如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
如果收到比自己优先级大的报文则转为Backup状态。
如果收到优先级和自己相同的报文,并且发送端的主IP地址比自己的主IP地址大,则转为Backup状态。
当接收到接口的Shutdown事件时,转为Initialize。
Backup
当路由器处于Backup状态时,它将会做下列工作:
接收Master发送的VRRP报文,判断Master的状态是否正常。
对虚拟IP地址的ARP请求,不做响应。
丢弃目的MAC地址为虚拟MAC地址的IP报文。
丢弃目的IP地址为虚拟IP地址的IP报文。
Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。
当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master(Master_Down_Timer)。
当接收到接口的Shutdown事件时,转为Initialize。
------------------------------------------------
提供的VRRP功能,包括主备备份、负载分担备份、VRRP监视接口状态、VRRP快速切换等。
主备备份
负载分担
监视接口状态
VRRP快速切换
虚拟IP地址Ping开关
VRRP的安全功能
VRRP平滑倒换
VRRP管理组
mVRRP
-----------------------------------------
主备备份
这是VRRP提供IP地址备份功能的基本方式。主备备份方式需要建立一个虚拟路由器,该虚拟路由器包括一个Master和若干Backup设备。
正常情况下,业务全部由Master承担。
Master出现故障时,Backup设备接替工作。
---------------------------------------------------------------------------------------
负载分担
现在允许一台路由器为多个作备份。通过多虚拟路由器设置可以实现负载分担。
负载分担方式是指多台路由器同时承担业务,因此需要建立两个或更多的备份组。
负载分担方式具有以下特点。
每个备份组都包括一个Master设备和若干Backup设备。
各备份组的Master可以不同。
同一台路由器可以加入多个备份组,在不同备份组中有不同的优先级。
如 图1 所示:
配置两个备份组:组1和组2;
RouterA在备份组1中作为Master,在备份组2中作为Backup;
RouterB在备份组1和2中都作为Backup;
RouterC在备份组2中作为Master,在备份组1中作为Backup。
一部分主机使用备份组1作网关,另一部分主机使用备份组2作为网关。
这样,以达到分担数据流,而又相互备份的目的。
----------------------------------------------------------------------------------
监视接口状态
VRRP可以监视所有接口的状态。当被监视的接口Down或Up时,该路由器的优先级会自动降低或升高一定的数值,使得备份组中各设备优先级高低顺序发生变化,VRRP路由器重新进行Master竞选。
-------------------------------------------------
VRRP快速切换
双向转发检测BFD(Bidirectional Forwarding Detection)机制,能够快速检测、监控网络中链路或者IP路由的连通状况,VRRP通过监视BFD会话状态实现主备快速切换,主备切换的时间控制在1秒以内。
对于以下情况,BFD都能够将检测到的故障通知接口板,从而加快VRRP主备倒换的速度。
备份组包含的接口出现故障。
Master和Backup不直接相连。
Master和Backup直接相连,但在中间链路上存在传输设备。
BFD对Backup和Master之间的实际地址通信情况进行检测,如果通信不正常,Backup就认为Master已经不可用,升级成Master。在以下两种情况下Backup转换为Master:
当两台路由器之间的背靠背连接全部断开时,Backup主动升级成Master,承载上行流量;
当Master重新启动、或Master与交换机之间的链路断开、或与Master相连的交换机重新启动时,Backup主动升级成Master,承载上行流量。
VRRP快速切换的环境要求:
在Backup上,BFD Session检测的接口必须和Master设备相连;
在Master不可用时,Backup的优先级增加并大于原来Master的优先级,促使自己快速切换为Master。
---------------------------------------------------------------
虚拟IP地址Ping开关
RFC3768并没有规定虚拟IP地址应不应该Ping通。不能Ping通虚拟IP地址,会给监控虚拟路由器的工作情况带来一定的麻烦,能够Ping通虚拟IP地址可以比较方便的监控虚拟路由器的工作情况,但是带来可能遭到ICMP攻击的隐患。控制Ping通虚拟IP地址的开关命令,用户可以选择是否打开。
--------------------------------------------------------------------------------
VRRP的安全功能
对于安全程度不同的网络环境,可以在报头上设定不同的认证方式和认证字。
在一个安全的网络中,可以采用缺省设置:路由器对要发送的VRRP报文不进行任何认证处理,收到VRRP报文的路由器也不进行任何认证,认为收到的都是真实的、合法的VRRP报文。这种情况下,不需要设置认证字。
在有可能受到安全威胁的网络中,VRRP提供简单字符认证,可以设置长度为1~8的认证字。
--------------------------------------------------------
VRRP平滑倒换
概述
CE设备作为业务系统的网关,需要启用VRRP(Virtual Router Redundancy Protocol)冗余备份功能。
在路由器主板和备板状态都正常的情况下,VRRP备份组中的Master设备会以Advertisement_Interval间隔定时发送VRRP广播报文,Backup通过不断检测接收到的广播报文来判断Master状态是否正常。
当Master设备发生主备倒换后,从发生主备倒换到新主板正常工作,需要一段时间,该时间随不同设备和不同配置差别较大,结果可能导致Master设备不能正常处理VRRP协议报文,Backup设备因为收不到广播报文而抢占到Master状态,并针对每一个虚拟路由器的虚IP地址发送免费ARP,给相关绑定模块发送状态变化通知。
由于倒换过程中系统过于繁忙,Master端的Hello协议报文无法正常发送,而Backup端无法及时收到报文,会抢占成为Master,引起链路切换,导致丢包。因此需要启用了VRRP功能的CE设备支持VRRP的平滑倒换(SS,Smoth Switch)功能,避免因主备倒换影响业务流量。
基本原理
在VRRP平滑倒换的过程中,Master和Backup分工不同,相互配合,共同保证业务的平滑传输。
要进行VRRP整机平滑倒换处理, 必须分别在Master和Backup上使能VRRP协议报文时间间隔学习功能。 如图所示,设备1和设备2都使能VRRP协议报文时间间隔学习功能。
如果使能了VRRP协议报文时间间隔学习功能,Master状态的VRRP不学习也不检查协议报文时间间隔的一致性。
非Master状态的VRRP收到Master状态VRRP发来的协议报文后, 会检查报文中的时间间隔值,如果和自己的不同,非Master状态的VRRP就会学习到报文中的时间间隔,并调整自己的协议报文时间间隔值,与报文中的值保持一致。
设备1配置整机VRRP平滑倒换功能。设 备主备倒换新的主板启动后,VRRP根据设备主备倒换前的状态判断,保存当前配置的VRPP协议报文时间间隔,并对Master状态的VRRP进行协议报文时间间隔调整, 然后以当前配置的时间间隔发出VRRP平滑倒换报文,报文中携带着新的时间间隔发送到对端设备2。
设备2收到的VRRP协议报文中携带的时间间隔和自己本地的间隔不一致,将对自己的运行时间间隔调整,并调整自己的定时器,与其保持一致。
设备1平滑结束时将发出VRRP恢复报文,报文中携带着主备倒换前配置的时间间隔,此时设备2上的VRRP会再进行一次时间间隔学习。
注意事项
学习功能优先于抢占功能,即如果收到的协议报文时间间隔和自己当前的不一致,并且报文中携带的优先级低于自己当前的配置优先级,这种情况VRRP首先考虑的是学习功能和重置定时器,而后才会考虑是否抢占。
VRRP整机平滑倒换功能还依赖于系统本身,如果设备自身从主备倒换一开始系统便非常繁忙,无法调度VRRP模块运行的情况,VRRP整机平滑倒换功能无效。
VRRP加入了VGMP之后,VRRP的运行将依赖于VGMP,此时的VRRP将不受平滑倒换的影响。该功能不能用于业务VRRP。
----------------------------
VRRP管理组
在配置大量VRRP备份组时:
过多VRRP协议报文占用较大的链路带宽
大量VRRP报文的处理对系统造成一定的负担
每个VRRP备份组都要维护协议定时器,对系统来说也是个很大的开销
此外,每个VRRP备份组状态相对独立,无法保证同一路由器上相关联的接口上VRRP状态都为主用,在严格要求来回路径一致的应用中存在局限性:
基于NAT网关的可靠性组网
基于Proxy服务器的可靠性组网
基于状态防火墙的可靠性组网
为防止VRRP状态不一致现象的发生,华为公司在VRRP的基础上自主开发了扩展协议VGMP(VRRP Group Management Protocol),即VRRP组管理协议。基于VGMP协议建立的VRRP管理组负责统一管理加入其中的各VRRP备份组的状态,保证一台路由器上的接口同时处于主用或备用状态,实现路由器VRRP状态的一致性。
VRRP管理组有Master设备和Slave设备之分。
Master设备: VRRP管理组状态为Master的设备,该路由器上被管理的VRRP备份组状态都是Master(因接口Down而变成Initialize的除外),承担流量传输的任务,并定时发送Hello报文。
Slave设备: VRRP管理组状态为Slave的设备,该路由器上被管理的VRRP备份组状态都是非Master,不传输流量,处于监听状态,一旦Master设备出现故障,Slave将竞选成为Master。
VRRP管理组相当于在VRRP备份组的基础上叠加了一层逻辑层。VRRP备份组加入VGMP之后,不再发送传统VRRP报文,由VRRP管理组负责统一管理加入其中的各VRRP备份组的状态。
VRRP备份组感知到接口状态变化后,会改变自身的状态。VGMP将感知到这种状态迁移,然后来确定是否切换VGMP的状态,从而切换VGMP组内VRRP备份组的状态。
VRRP管理组提供的功能
状态一致性管理
VRRP管理组对所属VRRP组的主备切换进行裁决,改变了传统VRRP中各设备VRRP状态相对独立的现象,从而确保了同一路由器上VRRP备份组的状态一致性。
抢占管理
对于加入VRRP管理组的VRRP备份组来说,无论各备份组内路由器是否启动了抢占功能,抢占行为发生与否必须由VRRP管理组统一决定。
通道管理
配置专门的数据通道传输VGMP报文,提高VGMP报文传输的可靠性。
一个VRRP管理组中至少要有一条数据通道。数据通道可以和业务通道在同一条物理链路上。
图1 描述了业务通道和数据通道的关系。A1-S-B1、A2-S-B2、A3-S-B3可以是数据通道也可以是业务通道,A4-H-B4只能作为数据通道。
VRRP管理组工作方式
VRRP管理组的工作方式有主备备份和负载分担。
主备备份方式
仅有 一个VRRP管理组 ;
正常情况下,VRRP管理组优先级高的路由器作为Master,承担传输业务传输,VRRP管理组优先级低的路由器作为Slave;
当Master设备出现故障时,主备状态发生切换。
负载分担方式
至少 有两个VRRP管理组 ;
路由器上的 VRRP备份组加入不同的管理组 ;
正常情况下, 同一路由器上有状态为Master的VRRP管理组,也有状态为Slave的VRRP管理组 ,网络内的传输流量在多个路由器之间进行负载分担;
当Master设备出现故障时,主备状态进行切换。
如 图3 所示。
RouterA上的VRRP管理组1包含备份组1、2、3,优先级为Level1;VRRP管理组2包含备份组4、5、6,优先级为Level2;Level1>Level2
RouterB上的VRRP管理组1包括备份组1、2、3,优先级为Level3;VRRP管理组2包含备份组4、5、6,优先级为Level4;Level3
Level1=Level4,Level2=Level3
RouterA是VRRP管理组1协商出的Master,也是管理组2协商出的Slave
RouterB是VRRP管理组1协商出的Slave,也是管理组2协商出的Master
Network1内部分主机的默认网关是备份组1,部分主机的默认网关是备份组4;Network2、Network3内主机默认网关的设置原理同Network1
正常情况下,RouterA和RouterB两台路由器对对业务流量进行分担
如果RouterB出现故障,则VRRP管理组2将重新裁决各设备的状态,管理组2中的RouterA状态切换为Master,RouterB状态切换为Slave,此时RouterA承担全部会话业务。当RouterB恢复正常后,RouterB将继续作为VRRP管理组2的Master,流量将在两个路由器之间分担。
mVRRP
mVRRP是指管理VRRP。 管理VRRP备份组从本质上讲就是普通的VRRP备份组,唯一特殊之处在于:普通的VRRP备份组被配置为管理VRRP备份组之后,可以绑定其他的业务备份组,并根据绑定关系,决定相关业务备份组的状态。
一个管理VRRP备份组可以绑定多个业务备份组,但它不能作为业务备份组与其他管理备份组进行绑定。
管理VRRP备份组也可以作为一般成员加入VGMP组中。 在将管理VRRP备份组加入VGMP组后, 也可以配置管理VRRP监视Peer BFD和Link BFD会话状态 , 但管理VRRP备份组状态机会丧失自己的独立性 , 除了Initialize状态之外,Backup和Master状态需要根据所加入的VGMP组的状态来决定。
(转)虚拟路由器冗余协议原理篇VRRP详解
原文:http://blog.51cto.com/zhaoyuqiang/1166840
为什么要使用VRRP技术
我们知道,为了实现不同子网之间的设备通信,需要配置路由。目前常用的指定路由方法有两种:
第一种是通过路由协议 :RIP、OSPF动态学习
第二种是通过静态路由: 对终端PC机配置静态路由。
这两种路由各有各的优缺点:
第一种路由可以自动寻找最优路径,邻居路由也可以通过学习来获得路由表,但是动态路由占用线路带宽和CPU处理时间。
第二种路由是不需要CPU处理时间同样也不占用线路带宽,但是这个路由需要对终端的PC机进行配置网关来实现,工作量是比较大的。
对于以上的两种路由在现在来说都是广泛应用的。
我们现在只来分析静态路由的缺点,因为VRRP技术就是使用在静态路由上,而不是动态路由上。
对于静态路由来说,对终端PC机配置默认网关。如果作为默认网关的路由器出现故障,所有使用该网关为下一跳的主机的通信是要中断的。如下图所示;
在上图中,主机A—D都配置了一个默认的网关:10.1.1.1,网关路由的下一跳指向主机所在网段内的一个路由器RouterA,RouterA将报文发送到外网,但是如果现在RouterA坏掉了,那么所有的主机将无法与其他网段进行通信了。
为了解决以上的问题,我们可以加一个路由器RouterB,如下图所示:
当RouterA坏掉时,所有的PC机将网关切换到RouterB上的网关。这样就实现了路由器的备份。这个技术就是VRRP技术---虚拟路由器冗余协议
VRRP简介(转发机制)
1. VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)将可以承担网关功能的路由器加入到备份组中,形成一台虚拟路由器,由VRRP的选举机制决定哪台路由器承担转发任务,局域网内的主机只需将虚拟路由器配置为缺省网关
2. VRRP是一种容错协议,在提高可靠性的同时,简化了主机的配置。在具有多播或广播能力的局域网(如以太网)中,借助VRRP 能在某台设备出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,而无需修改动态路由协议、路由发现协议等配置信息
3. VRRP协议的实现有VRRPv2和VRRPv3两个版本,VRRPv2于IPv4,VRRPv3基 于IPv6
路由器: 所有运行VRRP协议的路由器就叫做VRRP路由器
5. VRRP备份组: 多台路由器被分到一个组中,在这个组中选举出一台主路由器,其他作为备份路由器。平常时候都是主路由器一个工作,备份路由器空闲,当主路由器故障后,从多台备份路由器中选举出一台替代故障的主路由器工作。这一组中的路由器构成了一个备份组。
如下图所示: 有两个路由器,两个网关,从两个路由器中选举出一个路由器作为主路由器,其他的都是备份路由器,主路由器负责发转发数据报,而备份路由器处于空闲状态,当主路由器出现故障后,备份路由器会成为主路由器,代替主路由器实现转发功能。
6. 虚拟路由器:虚拟路由器是VRRP备份组中所有路由器的集合,它是一个逻辑概念,并不是正真存在的。从备份组外面看备份组中的路由器,感觉组中的所有路由器就像一个 一样,你可以理解为 在一个组中: 主路由器+所有备份路由器=虚拟路由器。虚拟路由器有一个虚拟的IP地址和MAC地址。如果虚拟IP和备份组中的某台路由器的IP相同的话,那么这台路由器称为IP地址拥有者,并且作为备份组中的主路由器。
如下图所示: RA、RB和RC都是VRRP路由器,他们构成了一个VRRP备份组,RA为主路由器,RB和RC为备份路由器,这三台路由器从外界来看就像一台一样,这样构成一个虚拟路由器Router Group,虚拟路由器有一个虚拟的IP地址为10.1.1.1(RA主路由器的IP)。RA是IP地址拥有者,也是主路由器。
7. 虚拟IP地址和MAC地址:VRRP组(备份组)中的虚拟路由器对外表现为唯一的虚拟MAC地址,地址格式为00-00-5E-00-01-【VRID】,VRID为VRRP组的编号,范围是0~255.
上图中,三台路由器在一个组中,这个组可以起一个0~255之间的编号。
注意:1.虚拟路由器具有IP地址。局域网内的主机仅需要知道这个虚拟路由器的IP地址, 并将其设置为缺省路由的下一跳地址 2. 虚拟路由器的 IP 地址可以是备份组所在网段中未被分配的IP 地址,也可以和备份组内的某个路由器的接口IP 地址相同 3.接口 IP 地址与虚拟IP 地址相同的路由器被称为“IP 地址拥有者” 在同一个 VRRP 备份组中,只允许配置一个IP 地址拥有者 |
VRRP状态
VRRP路由器在运行过程中有三种状态:
状态: 系统启动后就进入Initialize,此状态下路由器不对VRRP报文做任何处
处理,可以理解为初始化
2. Master状态: 路由器会发送VRRP通告,发送免费ARP报文。
3. Backup状态: 接受VRRP通告。
一般主路由器处于Master状态,备份路由器处于Backup状态。
VRRP选举机制
VRRP使用选举机制来确定路由器的状态,运行VRRP的一组路由器对外构成了一个虚拟路由器,其中一台路由器处于Master状态,其他处于Backup状态。所以主路由器又叫做Master路由器,备份路由器又叫做Backup路由器。
优先级选举:
1.VRRP组中IP拥有者。如果虚拟IP地址与VRRP组中的某台VRRP路由器IP地址相同,则此路由器为IP地址拥有者,这台路由器将被定位主路由器。
2.比较优先级。如果没有IP地址拥有者,则比较路由器的优先级,优先级的范围是0~255,大的作为主路由器
3.比较IP地址。在没有Ip地址拥有者和优先级相同的情况下,IP地址大的作为主路由器。
如下图所示: 虚拟IP为10.1.1.254,在VRRP组中没有IP地址拥有者,则比较优先级,很明显RB和RA的优先级要大于RC,则比较RA和RB的IP地址,RB的IP地址大。所以RB为组中的主路由器。
VRRP定时器
① VRRP通告报文时间间隔定时器
1> VRRP备份组中的Master路由器会定时发送VRRP通告报文,通知备份组内的
路由器自己工作正常
2> 用户可以通过设置VRRP定时器来调整Master路由器发送VRRP 通告报文的
时间间隔
3> 如果Backup路由器在等待了3个间隔时间后,依然没有收到VRRP 通告报文,则认为自己是Master路由器,并对外发送VRRP通告报文,重新进行Master路由器的选举
② VRRP抢占延迟时间定时器
1> 为了避免备份组内的成员频繁进行主备状态转换,让Backup路由器有足够的
时间搜集必要的信息(如路由信息),Backup 路由器接收到优先级低于本地优 先级的通告报文后,不会立即抢占成为Master
2> 而是等待一定时间——抢占延迟时间后,才会对外发送VRRP通告报文取代原 来的Master路由器
VRRP报文格式
VRRP只使用VRRP通告报文。
VRRP通告报文使用Ip组播数据包进行封装,组播地址为223.0.0.18,IANA给其分配的协议号为112。
VRRP通告报文的TTL值必须是255,如果VRRP路由器接受到TTL值不为255的VRRP通告报文,必须丢弃。
VRRP组中的主路由器会定期发送通告报文,备份路由器接受,他们通过这种方式来交流选举
VRRP工作过程总结:
1. 路由器使能VRRP 功能后,会根据优先级确定自己在备份组中的角色。优先级高的路由器成为Master 路由器,优先级低的成为Backup 路由器。Master 路由器定期发送VRRP
通告报文,通知备份组内的其他设备自己工作正常;Backup 路由器则启动定时器等待通告报文的到来。
2. 在抢占方式下,当Backup 路由器收到VRRP 通告报文后,会将自己的优先级与通告报 文中的优先级进行比较。如果大于通告报文中的优先级,则成为Master 路由器;否则将保持Backup状态
3. 在非抢占方式下,只要Master 路由器没有出现故障,备份组中的路由器始终保持Master 或Backup 状态,Backup 路由器即使随后被配置了更高的优先级也不会成为Master 路由器
4. 如果Backup 路由器的定时器超时后仍未收到Master 路由器发送来的VRRP 通告报文,则认为Master 路由器已经无法正常工作,此时Backup 路由器会认为自己是Master 路由器,并对外发送VRRP 通告报文。备份组内的路由器根据优先级选举出Master 路由 器,承担报文的转发功能
VRRP基本配置
配置VRRP组
要启用VRRP,最基本的配置就是要创建VRRP组,并为VRRP组配置虚拟IP地址
Vrrp group-number ip ip-address [secondary]
group-number 为VRRP组的编号。即VRID 范围1~255,
ip-address 虚拟IP地址。
Secondary 辅助IP地址
需要在主路由器和备份路由器上配置
配置VRRP优先级
如果希望指定某台路由器称为主路由器,可以手工调整其优先级
Vrrp group-number priority number
Group-number VRRP组号 VIRD
Priority 表示优先级
Number 表示优先级 范围,0~255,默认为100,但是0被保留为特殊用途,255表示IP地址拥有者。
优先级的配置在没有IP地址拥有者的情况下。想让哪台路由器成为主路由器就在哪台路由器上配置
配置VRRP接口跟踪
如上图所示:RA为主路由器,RB为备份路由器,但是当RA上的接口S0发生故障时,RA依然从接口E0发送通告报文,声明自己为主路由器,但是RA实际上已经不能进行转发了。也就是说路由器网路中不能判定路由器接口是否发生了故障。
VRRP接口跟踪机制就是检测接口故障的一种机制。配置了接口跟踪机制的路由器,当自己的接口发生故障时会将自己的路由器优先级降低,从而使自己从主路由器变为备份路由器,然后原来的备份路由器此时将成为主路由器。
Vrrp group-nunmber track interface [priority-decrement]
priority-decrement为降低的优先级数
注意: priority-decrement是降低了多少而不是降低到多少,比如priority-decrement为30,那么此路由器的优先级在原来基础上降低30.
配置VRRP抢占模式
抢占模式: 指当原来的路由器从故障中回复并接入到网络层后,配置了VRRP抢占模式的路由器将夺回原来属于自己的角色(主路由器),如果没有配置,回复之后将保持备份路由器的状态。
推荐使用启用抢占模式
vrrp group-number preempt {delay [Delay-time] }
Delay 取值范围为1~255之间,如果不配置delay时间,那么其默认值为0秒。
delay-time 为延迟抢占的时间即从该路由器发现自己的优先级大于MASTER的优先级开始 经过delay-time这样长的一段时间之后才允许抢占。
在主路由器中配置该命令
配置VRRP定时器
VRRP定时器可以修改通告报文的发送时间
vrrp group-number timers advertise vrrp-advertise-interval
adver_interval为设置定时器adver_timer的时间间隔。MASTER每隔这样一个时间间隔,就会发送一个advertisement报文以通知组内其他路由器自己工作正常,
vrrp-advertise-interval的取值范围为0~254。
在主路由器上配置
VRRP
配置此命令的路由器会学习发送通告报文时间,进而计算出失效间隔,否则默认3s,
这条命令对于上面的配置VRRP定时器,在主路由器中配置了发送时间间隔,那么在备份路由器上就需要配置定时学习功能来计算失效间隔,因为失效间隔是发送时间的3倍
vrrp group-number times learn
VRRP负载均衡
在一组VRRP组中,主路由器承担数据转发任务的同时,备份路由器的链路将处于空闲状态,这必然造成了带宽资源的浪费。为了避免这种浪费,使用VRRP负载均衡。
VRRP负载均衡是通过实现将路由器加入到多个VRRP组实现的,使VRRP路由器在不同的组中担任不同的角色。
如下图所示:RA为组35的主路由器,同时又是组36的备份路由器
RB为组36的主路由器,同时又是组35的备份路由器。
在正常状态下,PC1、PC2走RA,PC3和PC4走RB,但是两个路由器一旦出现故障,就将网关切换到备份路由器。RA和RB可以说是相辅相成的。
VRRP并不具备对流量进行监控的机制,它的负载均衡只是通过使用多个VRRP组来实现的。
以上是关于VRRP-虚拟路由冗余协议的主要内容,如果未能解决你的问题,请参考以下文章