HSRP/VRRP,热备份网关协议

Posted meili333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HSRP/VRRP,热备份网关协议相关的知识,希望对你有一定的参考价值。

HSRP/VRRP,热备份网关协议

  

技术背景

一个高可用性的网络肯定会在设计之初就考虑单点故障所带来的影响,所以都会选择可实现冗余备份的设计,在前文中提到的STP,生成树协议就是这样的操作,可是当数据到达了三层,IP层面,是否也有此类的协议呢?那就是HSRP/VRRP/GLBP

 

部署场景

双网关情况下部署,可以部署在路由设备上(路由器/三层交换机)

 

技术特性(HSRP 

HSRP:热备份路由器协议(HSRP:Hot Standby Router Protocol),是cisco平台一种特有的技术,是cisco的私有协议。

含有多台路由器,对应一个HSRP组。该组中只有一个路由器承担转发用户流量的职责,这就是活动路由器。当活动路由器失效后,备份路由器将承担该职责,成为新的活动路由器。这就是热备份的原理。而对于下游终端设备而言,就算是主路由和备份路由之间也现切换,也是无感知的。

 

1 在组中成员角色有: active 主设备

                   Standby 备份设备

正常情况下由active设备负责回复局域网的请求,

 

2 组内成员使用组播地址进行双向通信,地址为224.0.0.2

默认情况下时间为hello3Sdead10s ,如果想要提速可以进行修改,保证三倍关系即可

 

3双方使用priority来决定谁来担任active设备,默认优先级为100,越高越优,<1-255>

 

4 抢占模式,做为备份设备要开启抢占模式,当主设备故障时,要马上将他抢过来,作主

 

5 HSRP的追踪(可以追踪接口、状态)

 

6 HSRP结合TRACK SLA ?

 

7 HSRP和三层交换机的结合时,使用SVI做双网关,并且一定要跟随STProot进行设置,否则将会出现次优路径,或其它不正常的情况。

 

8也是HSRP最大的特点,虚拟IP不可以和物理IP相同,(话说还是比较喜欢这一点的)

 

PS:如果同在一个组内的两个设备优先级相同,那么谁会成为active呢?

  书中描述,谁的IP地址大,谁就是ACTIVE

  经过实际的测试,这一点和书中有所不同,(谁先起来,谁就是active

 

另外hsrp支持两个版本

V1 V2,主要体现在支持的组号上,以及组播地址的不同

 

版本

组号

组播地址

V1

0-255

224.0.0.2

V2

0-4095

224.0.0.102

 

 

HSRP实例配置(SVI)其实针对于路由器的接口而言,意思都是一样的,而且看起来更简单,

在我的笔记中,有可能在路由方面/华为方面再进行整理路由器的设置。当然,也有可能没有.....看记性怎么样吧.

技术图片

 

 

 需求,1VLAN10STP根在VS1上,备份根在VS2

                VLAN20STP根在VS2上,备份根在VS1 

2、VS1做为HSRP 1(vlan10)activeVS2做为standby

      VS2做为HSRP 2(vlan20)activeVS1做为standby 

3、配置track,侦测接口状态,关联HSRP主备关系切换

4、配置SLA,侦测上行接口(非本地)关联HSRP关系切换

 

思路,先二层后三层,

1先配置好STP,这里我们使用rapid pvst就行了,也甭起MST了,就俩VLAN,没必要了

2 配置hsrp,(先确保两个设备之间的SVI可以通信)

3 配置好以后,从三层交换到出口网关之间,运行IGP协议,这个随便用吧,喜欢用哪个就用哪个,路由方面不是本文重点,后文中会对路由技术有更深的讲解

4 测试相应的侦测功能

 

STP配置不写了

直接上HSRP

SW1

Switch(config)#inter vlan 10

Switch(config-if)#ip add 192.168.1.1 255.255.255.0

Switch(config-if)#no shu

Switch(config)#inter vlan 20

Switch(config-if)#ip add 192.168.2.1 255.255.255.0

Switch(config-if)#no shu

 

SW2

Switch(config)#inter vlan 10

Switch(config-if)#ip add 192.168.1.2 255.255.255.0

Switch(config-if)#no shu

Switch(config-if)#inter vlan 20

Switch(config-if)#ip add 192.168.2.2 255.255.255.0

Switch(config-if)#no shu

 

开始正式配置HSRP之前,确保两个交换机的SVI正常通信,这一步是重中之重

 

SW1

Switch(config-if)#inter vlan 10

Switch(config-if)#standby 1 ip 192.168.1.254

Switch(config-if)#stan 1 priority 110

Switch(config-if)#stan 1 preempt delay  minimum  5

 

Switch(config-if)#inter vlan 20

Switch(config-if)#stan 2 ip 192.168.2.254

Switch(config-if)#stan 2 preempt

 

SW2

Switch(config-if)#inter vlan 10

Switch(config-if)#stan 1 ip 192.168.1.254

Switch(config-if)#stan 1 preempt

 

Switch(config-if)#inter vlan 20

Switch(config-if)#stan 2 ip 192.168.2.254

Switch(config-if)#stan 2 priority 110

Switch(config-if)#stan 2 preempt de min 5

 

经过一番计算之后,得出这样的结果

Show stan br

 技术图片

 

 

 接口  组号 优先级 抢占功能 状态 主设备是谁 备份设备是谁  虚拟IP是多少

VS2设备上看到的应该是正好相反就对了

 技术图片

 

 

 没有任何的问题

下面配置上行的三层环境,这里先不写了,

因为这不是重点

 技术图片

 

 

 只要保证PCGW为虚拟网关即可

PC2

 技术图片

 

 

 分别进行测试,这里主要拿vlan10做吧,两边都做没有意义,意思明白就可以了

首先,根据 STP以及HSRP的定义,数据应该是这样走的

 技术图片

 

 

 vlan10--SW--vs1--r3

情况1 ,假设现在VS1上的VLAN10down掉 ,会发生什么呢?

 技术图片

 

 

 技术图片

 

 

 由于开启了抢占功能,当ACTIVE设备发生故障时,standby设备直接抢过来,并且现在可以看到在SW2上并不知道STANDBY,这是因为原来的ACTIVE(丢了)

而这个过程对于PC而言,是无法感知的,他唯一能够知道的,就是自己断了一会儿然后又连上了,

看图

 技术图片

 

 

 

为了省地儿,我少切了一点,中间的timeout丢包可不只一个哦~

这个主要取决于hsrphello dead时间,3/10S

显然这有些慢,按照王多鱼的话儿,“给冰山提提速”

 

把两侧的timer调小,1/3S

VS1(config)#interface vlan 10

VS1(config-if)#stan 1 timers 1 3

这个配置要保证两侧一样

 技术图片

 

 

 丢了两个包就OK

此时的数据是怎么走的呢?

 技术图片

 

 

 直接走的VS2

 技术图片

 

 

 好的内部是没有问题了,

假设,现在VS1G0/0口出现故障,HSRP可以检测到吗?

答案是不能的,因为没有做任何的关联

 

那么如何关联呢?

Track

(使用track时,由于各ios版本有所有同,命令也会有所不同,但这并不影响使用,比如在路由器中,hsrp可以直接tarck接口,而在SVI中无法实现,只能单独使用track)

 

VS1(config)#track 1 interface g0/0 line-protocol

VS1(config-track)#inter vlan 10

VS1(config-if)#stan 1 track 1 decrement 50

 

这样一来呢?先测试一下

 技术图片

 

 

 首先是看到track up--down

再就是HSRP的状态也发生了联动

到底怎么回事儿呢?

可以通过查看HSRP的详细信息查看

 技术图片

 

 

 配置的priority110,当前为60,是因为通过track的检测减去了50

优先级低了,自然权限就跑到别人那里喽~

 技术图片

 

 

 再或者,比如VS1R3之间有中继设备,如果断了的话,HSRP能感知吗?

肯定也是不知道的,那我们通过一种方法,让他知道,什么呢?

SLA,上行链路检测,

 

VS1(config)#ip sla 10

VS1(config-ip-sla)#icmp-echo 13.0.0.3 source-interface vlan 10

VS1(config-ip-sla-echo)#frequency 5

VS1(config-ip-sla-echo)#timeout 5000

VS1(config)#ip sla schedule 10 start-time now life forever

VS1(config-if)#standby 1 track 10 decrement 80

 

Router(config)#inter f0/0

Router(config-if)#shu

 技术图片

 

 

 技术图片

 

 

 

而做为PC这边,毫无感知,不知道是不是模拟器的原因,按理说来至少要丢一个包才对的。

 

这就是HSRP,配置起来还算是可以吧,不算复杂

  

技术图片

 

VRRP虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)公有标准,也就是说所有的厂商都可以使用的协议

 

其原理和HSRP基本上一致

HSRP

VRRP

思科私有

公有标准

最多255个组

最多255个组

1active,1standby,多个候选

1mster多个backup

虚拟IP不可以为物理IP

虚拟IP可以为真实ip相同

224.0.0.2

224.0.0.18

Hello3,dead 10

Hello1,dead 3

支持验证

支持验证

track接口,对象

track对象,

 

 

对比细节就可见区别

1 公有标准,就不用多说了,

2 可以同时存在多个backup,什么意思呢?比如使用三台设备做VRRP,当masterdown,由两个back进行选举,看谁是新的master

3 虚拟ip可以使用真实的IP相同地址,这一点需要特别注意,一般,我们不这样配置,为什么?如果到后厕所 track做惩罚的时候没有办法做,当设置为和物理IP相同的Virtual ip 后,此台设备的priority直接被设置为255(也就是最高)关键是没有办法修改。很悲催。

4 不可以track接口,但又有什么区别吗?这都不叫事儿。

 

配置思路和HSRP完全一样,就不再赘述了,

几条简单的命令

VS1(config-if)#vrrp 1 ip 192.168.1.254

VS1(config-if)#vrrp 1 pri 110

VS1(config-if)#vrrp 1 pre de min 5

VS1(config-if)#

 

vs2(config)#inter vlan 10

vs2(config-if)#vrrp 1 ip 192.168.1.254

vs2(config-if)#vrrp 1 preempt

vs2(config-if)#

 

查看也是一样的命令

查看详细信息 show vrrp interface vlan 10

查看挂摘要信息 show vrrp brief 

 

看到了吗?很简单的对吧......

 

 

HSRP也好,VRRP也罢,如何实现负载均衡呢?

怎么说呢?这玩意儿我们在上面所配置的,就算是负载均衡,不同的VLAN走的方向不一样,但都可以到达该去的地方。说白了,就是建立不同的组,并且针对不同的组来设置不同的主备关系即可。

 

 

一种更高级的方式,GLBP,(cisco私有协议)

可以不创建多个组,也能实现自动的负载均衡,这个后文中会有相关的介绍,大家敬请期待。

 

 

 

-----------------------------------------------------

CCIE成长之路-----梅利

 

以上是关于HSRP/VRRP,热备份网关协议的主要内容,如果未能解决你的问题,请参考以下文章

配置热备份路由协议(HSRP)

双路由热备份HSRP协议启用多网关实现负载均衡

热备份路由选择协议

HSRP 双机热备

大型企业网络构建之网关冗余

网关冗余-HSRP协议