什么是HSRP协议?HSRP也叫热备份路由协议,即第一跳冗余协议,第一跳实际就是网关。从而实现网关的冗余和自动切换。该协议确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,并以此为IP网络提供冗余性。为IP网络提供了容错和增强的路由选择功能。
为什么要使用HSRP协议?当一台三层交换机宕机的时候,主机是没有办法自动切换网关的,所以我们用HSRP来解决这个问题,用两台三层交换机配置HSRP协议,实现网关的冗余备份。主机只需要配置一个网关,就可以自动选择任何一台三层设备作为网关。
使用HSRP有什么优点? 路由设备的切换对主机就是透明的。 HSRP向主机提供了默认网关的冗余,减少了主机维护路由表的任务。 通过多个热备份组,路由器可以提供冗余备份,并在不同的IP子网上实现负载分担。 较好的解决了路由器切换的问题。通过一组路由器的协同工作,这个组形成一个虚拟路由器,配置有一个虚拟IP地址和MAC地址。 因为:从末端主机的角度来看,虚拟路由器就是一台有IP,有MAC的路由器,因为是虚拟的,所以这个虚拟的路由器一直存在,不会受到单台路由器故障的影响,整个路由器组中如果当前活动的路由器发生故障,那么会自动切换到另一台备份的路由器上,而末端主机是感觉不到真实的网关的跳动的(虚拟网关一直不变),不会受到故障的影响而影响了通信。
下面来看看一个HSRP组由哪几个部分组成?
1、 活跃路由器:功能是转发发送到虚拟路由器的数据包。
2、 备份路由器:功能是监视HSRP组的运行状态。当活跃路由器不能运行时,迅速承担起转发数据包的责任。
3、 虚拟路由器:功能是想最终用户代表一台或多台可以连续工作的路由器。但是并不实际转发数据包,客户端的网关虽然指向虚拟路由器,但是数据的转发实际上还是有当前的活跃路由器来完成。
4、 HSRP组还可以包含其他路由器,这些路由器监视HELLO消息,但不做应答。路由器转发任何经由它们的数据包,但并不转发经由虚拟路由器的数据包。
HSRP组内的每个路由器都有指定的优先级,用于衡量路由器在活跃路由器选择中的优先程度。组中具有最高优先级的路由器将成为活跃路由器,如果优先级相同,IP地址最大的路由器获胜。
运行HSRP的设备会发送和接收基于UDP1985端口的组播HELLO包,以检测路由器故障,并确定活跃和备份路由器。
虚拟MAC地址和虚拟IP地址维持在HSRP组中每台路由器的ARP表中。且在虚拟MAC中由一个众所周之的字段07.ac,如图
HSRP的消息类型有哪几种?
1、 hello消息,HSRP路由器没3S发送一个hello消息。值为0
2、 coup(政变)消息,当备份路由器接替活跃路由器功能时,会发送政变消息。
3、 resign(辞职)消息,表明路由器不想再当活跃路由器,或者收到另一个优先级更高的路由器发出的hello消息。
HSRP的工作状态有哪几种?
当路由器以某种状态存在时,它将执行该状态所需要进行的工作。
1、 初始状态,表明HSRP还没有运行。配置发生变化或一个端口第一次启用时,就进入该状态。
2、 学习状态,路由器等待来自活跃路由器的消息。
3、 监听状态,除活跃和备份路由器之外的路由器都保持监听状态。
4、 发言状态,路由器周期性发送hello消息,参与活跃或备份路由器的竞选。
5、 备份状态,该路由器是成为下一个活跃路由器的候选设备。
6、 活跃状态,在活跃状态,路由器负责转发发送到备份组的虚拟MAC地址的数据包。
什么是HSRP的计时器?
HSRP使用两个计时器:hello间隔和保持时间。默认的hello间隔是3s,默认的保持间隔是10s 当收到任何活跃路由器发出的HELLO包时,路由器会根据HSRP Hello消息中的相应字段重置保持时间的值。
下面将通过一个实际的案例来详细的讲述HSRP的配置方法。
先说一下实验的环境: 飞龙公司为了实现网关的自动切换,决定在公司的园区网上实现HSRP 协议,这样可以保证网络的 3 层可靠性,使网络宕机的可能性将为最低。
试验目的:
1、配置 2 个热备份组,实现网络的网关可靠性,并且要实现负载分担
2、配置端口优先级
3、配置端口追踪,保证路由器在任何一个端口宕掉的情况下都可以切换网关
4、配置占先权,使路由器在恢复时能够保持原有的状态。
下面是一个简易的拓扑结构图
我们使用两个网段互相为对方模拟互联网,同时在两个HSRP组中练习负载分担,其中:
1、 两台路由器通过以太网连接到组10和组172的网络,如图
2、 将路由器A和路由器B配置到HSRP组10和组172中,给内部网络提供一个虚拟网关。
3、 在组10中吧路由器A配置成备份路由器,把路由器B配置成活跃路由器,在组172中把A配置成活跃路由器,把B配置成备份路由器。
4、 在组10中当路由器B的外出链路中断时,路由器A能接替路由器B的工作,在组172中当路由器A的外出链路中断时,路由器B能接替路由器A的工作
下面就开始具体的配置吧。
(1)、首先要配置路由器的接口IP地址,VPC的IP地址和默认网关,启动交换机,注意:开启路由器后,最好做如下的基本配置,配置一下同步、超时、路由器名、禁用DNS查询,如图:
配置路由器接口的IP地址,以A为例
配置一下端口的双工模式
客户端配置IP和网关的方法:
到现在,直连已可以通信了,可以PING测试一下
(2)、将接口按照拓扑所示加入到相应的备份组,配置组的虚拟IP地址,关闭端口重定向首先配置A,E0/0属于组10,e0/1属于组172,可以看到已经开始选举的过程了
然后配置B,配置的方式和A一样,如图,配置完成后,从speak到standby状态
基本配置已经完成,这个路由器热备份组可以工作了,我们show一下看看目前的路由器组状态,如图,可以看到选举后的组、状态、虚拟IP、接口等信息
然后用PC测试一下,看看pc1和pc2之间是否可以通信
(3)、配置HSRP的优先级别。我们按照拓扑图的规划来指定优先级别。用户可以指定端口在组内的优先级,从而在路由器失效时,可以更加方便地指定端口顺序,优先级高的路由器将成为活跃路由器。 优先级可以是0-255的数值,默认是100 如图,我们分别配置A和B的端口优先级
(4)、配置HSRP的占先权。配置占先权的目的:down掉的活跃路由器再重新启动后,不会自动夺回原来的活跃路由器的角色,默认会成为备份路由器,而以前的备份路由器成为活跃路由器,所以需要配置占先权,让该路由器在故障修复后能恢复活跃路由器的身份。
注意:占先权和端口追踪只在活跃端口,就是优先级高的那个端口配置即可 在A和B的活跃端口配置 配置占先权的方式如图:
(5)、配置端口追踪。配置端口追踪的好处是:当活跃路由器的外出链路中断以后,备份路由器能够成为活跃路由器,配置方法如下:
下图的意思是:在组172内配置对e0/0端口的跟踪,当该端口失效后降低优先级为50,从而保证优先级为110的那个备份路由器可以顺利通过优先级的选举取得活跃路由器的资格,保证链路的高可用性
(6)、到目前,该实验的所有配置已经完成,一个高可用性的网关冗余备份组已经形成,下面我们测试一下
1、根据上面的配置,组10的活跃路由器为B,备份路由器为A,为了验证占先权的效果,我们shutdown一下路由器B的e0/0口,看看活跃路由器是不是会自动转到A上 如图,路由器角色成功转到A上,且原来的活跃路由器处于宕掉的状态:
我们这个时候恢复路由器B的端口为no shutdown的状态,看看占先权是否生效,如图可以看到活跃路由器的角色又回来了。
2、验证一下端口追踪的效果,宕掉B的e0/1口,验证组10的端口追踪,如图可以看到路由器端口的优先级降低了50
验证组172的端口追踪采用上面同样的方法
4、 验证客户端之间的通信,可以发现客户端之间的通信不管路由器的状态发生上述步骤中的如何变化,始终处于ping 通的状态,由于虚拟PC不支持持续发送ping包,所以无法看到持续的变化,可以用桥接PC,持续ping ,从而动态反应热备份组在发生变化后,链路状态的变化。
(7)我们还可以使用调试命令来看看路由器在发生变化后,选举的详细过程,这里举个例子,我们开启路由器A的调试功能,看看standby调试信息的内容 我截取其中的一部分内容看看,下面这个是正常的hello状态
下面这个是重新选举的状态,我宕掉A的e0/1口