如何实施网关冗余(HSRP,VRRP)

每个网络都有一个网关地址,用于在本地网络之外发送数据包。网关地址是路由器自身面对本地网络的内部接口地址。

在大多数环境中,拥有备份网关至关重要。由于硬件故障而造成的短暂中断可能会使网络瘫痪,因为一个网络中的计算机无法将任何数据包发送到外部网络。考虑以下示例。

单网关

在上图中,您可以看到主机A只有一条路径可以将包发送到本地网络之外。如果第3层交换机暂时不可用,则主机A将无法访问网关以外的所有资源。

思科设备支持三种协议以实现网关冗余:

  • 热备路由器协议(HSRP)
  • 虚拟路由器冗余协议(VRRP)
  • 网关负载平衡协议(GLBP)

请记住,即使网络中有多个网关接口,主机也应仅具有一个网关地址。在本文中,我们将描述HSRP和VRRP协议。 

热备路由器协议(HSRP)

思科开发了一种协议,允许多个路由器或多层交换机充当单个网关。这可以通过 为HSRP组中的所有路由器分配虚拟IP和虚拟MAC地址来完成。虚拟IP地址是由网络管理员分配的,它是网关地址。虚拟MAC是以下格式的保留地址:

0000.0c07.acxx

xx代表十六进制的HSRP组号,它是介于0到255之间的数字。
例如,如果HSRP组号为8,则所得的虚拟MAC地址将为0000.0c07.ac08。HSRP路由器可以具有以下角色之一:

  • 活动Active: 当前充当网关的路由器。
  • 备用Standby: 备用路由器到活动路由器。
  • 侦听Listening: 参与HSRP组的所有其他路由器。

请记住,每个HSRP组仅允许一个活动路由器和一个备用路由器。Hello数据包用于选择HSRP角色并确保所有路由器都正常工作。如果活动路由器发生故障,备用路由器将立即变为活动路由器,并且处于侦听模式的路由器之一将变为“待机”。在Cisco设备中,默认情况下,每3秒发送一次Hello数据包。

根据优先级选择HSRP路由器的角色。 优先级可以在0到255的范围内。默认数字是100。优先级较高的优先选择活动路由器。

在上面的示例中,交换机B被选择为活动网关,因为它的优先级号高于交换机A。如果所有优先级都相等,则将选择HSRP接口中IP地址最高的路由器作为活动路由器。

不同的HSRP状态

参与HSRP的路由器接口在成为活动或备用路由器之前必须通过几种状态:

  • 禁用Disable:表示该接口未配置用于HSRP或未通过管理方式关闭。
  • 初始Initial:首次配置HSRP时,接口以初始状态开始。
  • 学习Learn:如果接口不知道虚拟IP地址,则进入此状态。 
  • 侦听Listen:在此状态下,接口知道虚拟IP地址,但不会选择作为活动备用路由器。
  • 发言Speak:处于此状态的接口当前正在参与活动或备用路由器的选择。 
  • 备用Standby:表示接口正在充当活动路由器的备份。备用路由器与主用路由器不断交换hello数据包,如果主用路由器发生故障,备用路由器将接管。
  • 活动Active:这是承载流量的接口。活动路由器将使用虚拟MAC地址响应对虚拟IP的ARP请求。


请记住,hello数据包仅在三种HSRP状态下交换: 

  1. 传播Speak
  2. 备用Standby
  3. 主动Active

处于侦听状态的接口仅侦听hello数据包。如果活动或备用路由器发生故障,则侦听接口将转换为发言状态,以参与新的选举。

HSRP抢占

如果将新路由器添加到HSRP组中,即使它具有最高优先级,也不会抢占主动路由器的角色。实际上,即使最先启动的路由器的优先级最低,它也将成为活动路由器。请查看下图,以获得更好的说明:

  1. 如果首先打开交换机B的电源,它将成为活动路由器。
  2. 交换机A将被选为备用路由器。
  3. 如果交换机B发生故障,则交换机A将接管活动路由器。
  4. 交换机B恢复后,尽管具有更高的优先级,它也不会恢复其活动路由器的角色。

如果具有最高优先级,则抢占参数允许路由器在恢复时接管主动角色。在HSRP中,抢占功能默认情况下处于禁用状态。

HSRP跟踪

活动路由器中,如果连接到其他网络的接口出现故障,则路由器应将其状态更改为待机状态,因为它无法在本地网络外部发送数据包。

看下图:

HSRP追踪

在上面的示例中,交换机B将成为活动路由器,而交换机A将进入待机状态。交换机A和交换机B都交换周期性的hello数据包以更新其状态。如果接口Gi 0/5在交换机B上断开,则hello数据包仍可以通过第2层交换机发送到交换机A。 

在这种情况下,HSRP角色将不会更改,因为交换机A不知道交换机B发生故障,无法再将流量转发到其他网络。因此,交换机B将保留为活动路由器,流量将下降。

为了解决此问题,我们可以在活动路由器上配置跟踪。如果在交换机B(Gi 0/5)中跟踪的接口失败,则路由器的优先级将降低特定值。预设值是10。 

如果交换机B上的接口Gi 0/5出现故障,则交换机的优先级将降低60。因此,备用路由器(交换机A)的优先级值将是HSRP组中的最高值,并且该交换机可能担当起积极的角色。

请记住,必须将备用路由器配置为抢占主动角色。

虚拟路由器冗余协议(VRRP)

与仅在思科设备中运行的HSRP相比,VRRP是标准的第3层网关冗余协议。VRRP与HSRP几乎相同,但有一些明显的区别:

  • 优先级最高的路由器将成为主路由器。
  • 所有其他路由器成为备用路由器。
  • 虚拟MAC地址是保留的0000.5e00.01xx,其中xx表示十六进制组号。
  • Hello数据包每秒发送一次。
  • 默认情况下,VRRP将抢占。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁