前言
之前我们一直学习的是二层冗余备份,例如害怕链路损坏
增加多条链路所以有了LACP
,害怕二层转发设备损坏
增加二层转发设备同时又为了防环
所以产生了STP、RSTP、MSTP生成树协议
,二层的冗余备份已经完善,我们接下来考虑三层冗余备份,那就是网关冗余备份VRRP技术
。
一、VRRP技术产生背景
我们都清楚的知道,局域网内的用户想要上网必须通过网关
来进行转发。但是思考过没有网关也只是配置在接口上的一个IP地址,假如接口或者设备二者其一损坏,那么都代表着该局域网内的所有用户都无法访问外部网络。为了解决单点故障
我们可以配置多个网关来进行解决,但是存在多个网关又会产生冲突问题。为了能够存在多个网关并且能够解决冲突问题
,提高网络可靠性所以就产生了VRRP(Virtual Router Redundancy Protocol -虚拟路由冗余协议)
。
二、VRRP基本概念
- VRRP路由器:就是运行VRRP协议的路由器,确切的说是接口,因为
VRRP是配置在路由器接口上进行工作
的。 - VRID(Virtual Router Identifier -虚拟路由器标识符):同一个VRRP组内协同工作的路由器
都有一个相同的VRID
(可以理解为老大)进行标识,并且每一个VRRP组内只能有一台Master路由器
(一个团体内只能有一个老大)。 - 虚拟路由器(Virtual Router):VRRP的每一个组就是一台虚拟路由器,也就是把VRRP组逻辑化为一台虚拟路由器,并且
每个组只能产生一台虚拟路由器。
- 虚拟IP地址及虚拟MAC地址:每一个由若干路由器接口组成的VRRP组虚拟成的一台虚拟路由器当然需要配置虚拟IP地址及虚拟MAC地址啦,一台虚拟路由器
可以有一个或者多个IP地址
,该地址尽量不要与真实接口配置地址相重复
,虚拟mac地址格式为“0000-5e00-01xx”
xx就是你的VRID. - Master路由器:就是VRRP组内唯一的“老大”,在VRRP组内
承担报文转发任务
,一个VRRP组内只有Master才可以对虚拟IP的请求进行响应
,Master还会定期发送VRRP报文
来表明自己还存活。 - Backup路由器:也可以理解为备份路由器。Backup路由器时时监听Master的VRRP报文,
随时准备替代”老大“老进行工作.
- Priority:优先级
取值范围0-255,值越大越优先,值相等的则比较接口IP地址大小,接口越大越优先。
- VRRP报文格式:VRRP只有一种报文格式,就是Advertisement报文,
基于组播方式进行发送
,报文目的组播地址为224.0.0.18.
三、VRRP定时器
在VRRP协议工作过程中一共有需要用到两个定时器:
1、ADVER_INTERVAL定时器
这个也是比较容易理解,用来定时Master给Backup发送自己还存活报文的时间周期
,缺省为1秒。
2、MASTER_DOWN定时器
就是 Backup设备在该定时器超时后就会自动变为Master状态,就是在山头老大不发消息后等待定时器规定的这莫长时间后,就开始揭竿而起,自立为王。
- MASTER_DOWN = (3 * ADVER_INTERVAL) + Skew_time
- Skew_time=(256-Priority)/256
所以说优先级越大,Skew_time(偏移时间)越小,MASTER_DOWN也就越短,这也是优先级大的设备能够成为Master的原因。
四、VRRP状态机
- 初始状态为initialize,当收到startup且优先级小于255就变为Backup,当收到startup且优先级等于255就变为Master
(优先级最大为255)
。- 当为Backup状态时,因为只有Master才可以发送VRRP报文,所以当收到优先级为0(代表Master放弃了老大位置)或者比自己优先级小的报文(实力没有自己强劲了)再或者就是等待超时后(老大不给传消息,估计挂了),就会变为Master状态。
- 当为Master状态时,收到比自己优先级大的报文(后生实力比自己强劲,自己甘愿退位)就会变为Backup状态。
- 无论是Master还是Backup状态,
只要是收到shutdown消息就变为初始化状态initialize。
五、VRRP主备选举
主要分为优先级不同主备选举、优先级相同主备选举、真实接口地址和虚拟IP地址相同
三种情况,都挺简单的。
- 优先级不同主备选举:
上来成员都为Backup状态,
然后等待Master_DOWN时间,因为优先级越大的等待时间越短,所以优先级大的设备就会成为Master
,然后昭告天下,其他设备收到比自己优先级大的报文就甘愿沦为Backup状态。- 优先级相同主备选举:上来成员都为Backup状态,然后等待Master_DOWN时间,因为优先级相同所以等待时间也相同,所以两台设备都会成为Master,然后向外发送报文,通过进一步
比对接口的IP地址来进行选举Master路由器,越大越优先。
- 真实接口地址和虚拟IP地址相同:这种就不用选举了,地址相同自然为Master,但是
慎用!!!
因为用了之后就不能够达成网关冗余备份的效果了,损坏后无法切换Backup设备。
总而言之,优先级不同越大越优先,优先级相同接口越大越优先,接口和虚拟ip相同定为Master.
六、主备切换及主备回切
主备切换分两种情况
第一是Master不想干了,自动退出,他就会发出VRRP优先级为0的报文,其他设备收到比自己优先级小的报文从而改为Master,无需等待MASTER_DOWN时间(因为老大自己都说不干了)。
第二是Master还想干,但是年老身心疲惫,无法向外发送消息说自己还想干,备份设备等待MASTER_DOWN时间超时后,认为老大已经挂了,于是备份改为主设备。
主备回切就是(接着上图),老大突然又想干了,从前的老大收到优先级比自己低的报文在宣告自己的地位,所以在抢占模式的帮助下立即切换为Master。
- 抢占模式:从前的老大收到优先级比自己低的报文在宣告自己的地位,所以在抢占模式的帮助下立即切换为Master,
还可以设置抢占时间,
等待网络稳定后在进行抢占 — 缺省开启。- 非抢占模式:从前的老大收到优先级比自己低的报文在宣告自己的地位,也不会去搭理,有种
“摆烂”
的感觉,这种模式并不是没有用,网络不稳定的时候或者设备不佳时,会导致VRRP主备来回切换,将会加大设备的负担。--- 直到Master失效才会成为Master.
七、监视上行端口
这个功能其实是很必要的,因为VRRP是在路由器接口上运行的,所以当Master的上游设备链路或者接口设备出现故障时,下游链路是不会感知到的,局域网信息还是源源不断通向Master,但是Master收到报文后因为上游链路损坏所以无法进行转发,主备也不会进行切换(因为Master接口没坏),这也就产生了出名的流量黑洞。
八、VRRP与MSTP的结合应用
一定要注意根桥要和Master为同一台设备,或者同一条链路上的设备,不然报文走着走着就会发现 “路断了” 哈哈。