目录
一、VRRP
1.定义
VRRP是什么?
VRRP(Virtual Router Redundancy Protocol)是一个网络协议,它可以将多台路由器组合成一个虚拟的路由器
就像我们有一个备用电源以防家里停电一样VRRP提供了网络的“备用电源”
2.工作原理
1.VRRP组中的设备选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务
2.Master设备周期性向备份组内所有Backup设备发送VRRP通告报文
3.如果Master设备出现故障,VRRP备份组中的Backup设备重新选举新的Master
4.VRRP组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明
5.原Master设备故障恢复时,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级
6.Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master
2.1抢占(Preempt)
路由器2加入到网络后,接口的VRRP状态首先过渡到Backup,在收到路由器1发送的VRRP报文后,由于本地接口的VRRP优先级大于报文中的优先级,因此如果设备激活Preempt(缺省启用)则可立即抢占Master的角色,过渡到Master状态,路由器2开始发送VRRP消息
可修改抢占延迟时间,缺省该时间为0s
3.特点和优势
1.冗余备份
即使有一台路由器出现故障,其他路由器也可以立即接管,确保网络不会中断
2.故障切换
整个故障切换过程自动完成,无需人工干预大大降低了故障对业务的影响
3.高可用性
通过提供冗余备份和故障切换功能,VRRP大大提高了网络的可用性和可靠性
二、VRRP术语
VRRP路由器:
运行VRRP的路由器。一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色
VRRP组:
一个VRRP组由多个VRRP路由器组成,使用相同的VRID(Virtual Router ID,虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能有一个Master
虚拟路由器:
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、Master故障后谁来接替,这是VRRP的工作
虚拟IP地址、MAC地址:
虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址
虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}
Master、Backup路由器:
Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中,仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间隔发送VRRP消息,以便通知Backup路由器自己的存活情况
Backup路由器:处于监听状态的路由器,一旦Master路由器出现故障,Backup路由器就开始接替工作
选举依据:先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址(比大)
1.Master路由器
定时(Advertisement Interval)发送VRRP通告报文,以便向Backup路由器告知自己的存活情况
以虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求
转发目的MAC地址为虚拟MAC地址的IP报文
如果它是这个虚拟IP地址的拥有者(接口实际IP地址为虚拟IP地址),则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文
如果收到比自己优先级大的报文,立即成为Backup
如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup
2.Backup路由器
接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常
对虚拟IP地址的ARP请求,不做响应
丢弃目的IP地址为虚拟IP地址的IP报文
如果收到优先级和自己相同或者比自己大的报文,则重置Master_Down_Interval定时器,不进一步比较IP地址
如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_time(偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为Master
Master_Down_Interval定时器:Backup设备在该定时器超时后仍未收到通告报文,则会转换为Master状态。计算公式如下:
Master_Down_Interval=(3*Advertisement_Interval)+Skew_time.其中,Skew _Time=(256-Priority)/256
三、VRRP平滑切换
四、虚拟MAC地址
通过VRRP形成的虚拟路由器使用虚拟IP地址和虚拟MAC与网络中的PC进行通信。虚拟MAC的格式如下:最后1个字节的VRID表示虚拟路由器ID的16进制,例如VRID是1,虚拟MAC地址为00-00-5E-00-01-01
五、VRRP状态机
VRRP协议的状态共有三种,分别是Initialize,Master,Backup,初始状态都是Initialize,通过比较优先级产生Master和Backup,在规定时间内,Backup若没有收到Master发来的心跳报文,将切换为Master。
六,VRRP报文
报文结构:
Version:VRRP协议版本号,对于VRRPv2来说,该字段的值恒为2
Type:VRRP报文的类型,VRRP只定义了通告报文这种报文类型,该字段的值恒为1(若收到的VPPR通告报文的该字段的类型为非1则会被丢弃)
Virtual Rtr ID(VRID):虚拟路由器ID,取值范围是1~255,属于同一个VRRP组的路由器需使用相同的VRID
Priority:Master设备在备份组中的优先级,取值范围是0~255,值越大优先级越高。缺省的VRRP优先级为100
CountIPAddrs:VRRP通告报文中包含的IP数目,即被一个VRRP虚拟路由器所分配的IP地址的数量
Auth Type:VRRP报文的认证类型,有以下三种情况:
0:表示无认证(NonAuthentication)
1:表示简单字符认证方式(Simple Text Password)
2:表示HMAC-MD5认证方式(IP Authentication Header)
Adver Int:VRRP报文的发送时间间隔,单位是秒,缺省情况下为1秒
Checksum:16位校验和,用于检测VRRP报文中的数据完整性
IPAddress:VRRP虚拟路由器的虚拟IP地址(可配置多个)
Authentication Data:验证字。为了向RFC2338兼容, 在实际的封装时,全置为0,接收方会忽略此字段