用两台核心交换机,配置SIP实现双核心负载均衡,可提高网络的可靠性,但是当其中。三核心交换机出现故障宕机时,主机没有办法自动切换网关,无法保证网络的正常使用。那么,如何解决这个问题呢?本章学习的HSRP就是用来解决这个问题的。两台三层交换机配置HSRP协议,可实现网关的冗余备份。主机只需要配置一个固定网关, 两台三层交换机之间通过HSRP就可以自动切换实现备份.
建设企业网络的主要目的是让最终用户可以访问其数据与服务。最终用户往往把企业网华9一个整体系统来看待, 并不关心到底是哪台具体的路由器或交换机在工作.网络工程师在设计时,必须使网络作为一个整体系统来提供服务, 即使出现故障, 也能维持正常的网络连接。 HSHA这种情况提供了一个较好的解决方案。
HSRP (Hot Standby Routing Pocol,热备份路由选择协议)是Cisco私有的一P网络提供冗余性,当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为
通过应用HSRP,可使网络的正常运行时间接近100%,从而满足用户对网络可靠性的要求.
HSRP为P网络提供了容销和增强的路由选择功能,通过使用同一个虚拟P地址和建拟MAC地址,LAN网段上的两台或多台路由器可以作为一台虚拟路由器对外提供服务.HSRP使组内的Cisco路由器能互相监视对方的运行状态.
➢虚 拟路由器组的成员通过HSRP消息不断地交换状态信息。
➢如果其中一台出现故障, 另一台可接替它继续完成路由功能。
LAN网段上的主机都配置使用同一个虚拟路由器作为默认网关,并不断将P 包发往同一个P地址和MAC地址。因此,路由设备的切换对主机都是透明的。HSRP 向主机提供了默认网关的冗余性,绝大多数主机以默认网关作为唯一的下一 跳P地址和MAC地址。另外,通过多个热备份组.路由器可以提供冗余备份,并在不同的IP子网上实现负载均衡。
HSRP备份组由一台活跃路由器、一 台 备份路由器、台 虚拟路由器和其他路由器组成(在三层交换机配置HSRP时也使用HSRP定义的备份路由器等名称)其中,各路由器的功能如下。
➢活跃路由器的功能是转发 发送到虚拟路由器的数据包。组中的另一台路由器被选为备份路由器。活跃路由器通过发送Hello消息来承担和保持它活跃的角色。
➢备份路由器 的功能是监视HSRP组的运行状态,并且当活跃路由器不能运行时,迅速承担起转发数据包的责任。备份路由器也传输Hello消息,告知组中所有路由器备份路由器的角色和状态变化。
➢虚拟路由器 (即该LAN上的网关)的功能是向最终用户提供一台 可以连续工作的路由器,虚拟路由器配有它自己的IP地址和MAC地址,但并不实际转发数据包。
➢HSRP备份组可以包含其他路由器。这些路由器监视Hello消息,但不做应答。这些路由器转发任何经由它们的数据包,但并不转发经由虚拟路由器的数据包。
当活跃路由器失效时,其他HSRP路由器将不能接收到Hello消息,随后备份路由器就承担起活跃路由器的角色.
因为新的活跃路由器同时承担了虚拟路由器的IP地址和MAC地址,所以末端主机几乎看不到服务有什么中断.这些主机将继续向虚拟路由器MAC地址发送数据包,并且新的活跃路由器会负责将数据包传输到目的地。
随着备份路由器成为活跃路由器,备份路由器的位置空缺,组中的所有其他路由器将竞争备份路由器的角色,默认情况(优先级相同)下,IP 地址最大的路由器将成为新的备份路由器.尽管一个HSRP组中可以有多台路由器,但只有活跃路由器才负责转发发送到虚拟路由器的数据包”
HSRP组内的每个路由器都有指定的优先级(Priority), 用于衡量路由器在活跃路由器选择中的优先程度,.默认的优先级是100,它是用户配置中的可选项,可以是0- 255内的任何值。组中最高优先级的路由器将成为活跃路由器。
活跃路由器替代虚拟路由器对数据流进行响应。如果末端主机发送了-个数据包到虛拟路由器的MAC地址,那么, 活跃路由器将接收并且处理这个数据包。如果末端主机对虚拟路由器的P地址发送ARP解析请求,那么,活跃路由器将使用虚拟路由器的MAC地址进行应答。
路由器A的优先级为200,路由器B的优先级为150 (默认优先级为100).路由器A承担活跃路由器的角色,并且转发所有到达自动生成的HSRP虛拟MAC地址的数据帧。
选择活跃路由器和备份路由器时,如果优先级相同,IP 地址大的路由器获胜。例如,如果两台路由器的HSRP优先级都是100,一台路由器位于此LAN网段的端口的IP地址是1.1.1.2.另一台路由器位于此LAN网段的端口的IP地址为1.1.1.3,则IP 地址为1.1.1.3的路由器会成为此网段的活跃路由器。如果在HSRP组内,除了活跃路由器和备份路由器之外还有其他路由器,它们就会监听活跃路由器和备份路由器的状态(即它们发出的HSRPHello包),以实现更强的容错能力。
运行HSRP的设备会发送和接收基于UDP (User DatagramProtocol,用户数据报协议)的组播Hello包,以检测路由器故障,并确定活跃路由器和备份路由器。-个组内的HSRP路由器会从活跃路由器
那里学到Hello间隔,保持时间(Hold Time) 和虚拟IP地址,就好像这些参数在每个路由器上进行了显示配置样,如果活跃路由器由于预定的维修、电源故障或其他原因变得不可达,则备份路由器会在数秒内接替其功能。这种功能的接替在保持时间超时后发生,
在HSAP的实现过程中,使用虚拟地址是实现其功能的关键。下面将详细讨论虚拟MAC地址及实现HSRP工作的各个元素。
4.虚拟MAC地址
ARP在IP地址和MAC地址之间建立了一种关联。 每台三层交换机都维护着一个地址解析表. 三层交换机在试图联系某个设备之前,先检查其ARP缓存表,以确定这个地址是否已经被解析.虚拟路由器的IP地址和相应的MAC地址维持在HSRP组中的每台三层交换机的ARP缓存表中。
HSPP中的所有路由器都发送或接收HSFP消息。这些消息用来决定和维护组内的路由器角色HSP消息封装在UDP数据包中的数据部分,使用UDP端口号1985.
这些数据包所使用的目的地址是全部路由器多点广播地址224.0.0.2.生存时间TTL值为1.
HSPP配置的路由器有六种状态,分别如下。
➢初始状态。
➢学习状态。
➢监听状态。
➢发言状态。
➢备份状态。
➢活跃状态.
并不是所有的HSRP路由器都经历所有状态。例如,不是备份路由器或活跃路由器的路由器不会有备份状态和活跃状态。
所有路由器都从初始状态开始。这是一种起始状态, 同时表明HSRP还没有运行,配置发生变或一个端口第一次启用时, 进入该状态。
2学习状态
欢中器等待来自活跃路由器的消息。这时,路由器还没有看到来自活跃路由器的Hello消息,也没有学习到虚拟路由器的IP地址。
3.监听状态
欧中器知道了虚拟路由器的P地址,但它既不是活跃路由器,也不是备份路由器。这时,路由器监听来自活跃路由器和备份路由器的Hello消息。除活跃路由器和备份路由器之外的路由器都保持监听状态。
4.发言状态
路由器周期性地发送Hell消息,并参与活跃路由器或备份路由器的竞选。路由器在获得 虚拟路由器的P地址之前,不能进入发言状态。
路由器是成为下一个活跃路由器的候选设备,并且它也周期性地发送Hlo消息,在一 个组中只有一台备份路由器。
6.活跃状态
在活跃状态,路由器负责转发发送到备份组的虚拟MAC地址的数据包.活跃路由器周期性地发H洪ell消息,在一个组中,必须有且只有台活跃路由器。
HSRP使用两个计时器Hell间隔计时器和保持时间计时器任何状态的HSP路由器都会在Hllo间隔计时器超时后生成Hello 包。默认的Hllo间隔是3s,默认的保持时间是10s.
未配置计时器的路由器会从活跃路由器或备份路由器学到这些计时器的值。活跃路由器上配置的计时器值会覆盖其他路由器上的计时器设定值同-个HSRP组内的路由器应该使用相同的计时器值。通常,保持时间会大于或等于Hello间隔的三倍,并且保持时间的取值必须大于Hello间隔、其他HSRP路由器按照保持时间对活跃路由器进行监控:当收到任何活跃路由器发出的Hello包时,路由器会根据HSRP Hello消息中的相应字段重置保持时间值。
通常,默认的HSRP计时器值适用于大多数的LAN网段。
HSRP是Cisco的专有协议。在Cisco的HSRP之后,IETF (Internet Engineering Task Foroe,internet工程任务组)也制定了-种路由备份冗余协议: VRRP (Virtual Router Redundancy Protocol.虚拟路由器冗余协议)。目前,包括Cisco在内的主流厂商均已在其产品中支持VRRP.
VRRP的工作原理与HSRP相似,也是将系统中的多台路由器组成VRRP组.该组拥有同一个虚拟IP地址作为LAN的默认网关地址。在任何时刻,-个组内控制虚拟IP 地址的路由器是主路由器(Master).由它来转发数据包。如果主路由器发生了故障,VRRP 组将选择一个优先权最高的冗余备份路由器(Backup) 作为新的主路由器.
VRRP和HSRP也有很多不同。VRRP 与HSRP的一一个主要区别表现在安全性方面: VRRP允许参与VRRP组的设备间建立认证机制。另一个主要区别: VRRP 中只有三种状态一初始状态 (nitialile)、主状态(Master). 备份状态(Backup), 而HSRP有六种状态。另外,在报文类型、报文格式和通过TCP而非UDP发送报文方面也有所不同。
拓扑图
路由器配置命令
R3#conf t进入特权模式
R3(config)#int f0/0进入接口模式
R3(config-if)#ip add 13.1.1.1 255.255.255.0配置接口IP
R3(config-if)#no shutdown开启此接口
R3(config-if)#int f1/0进入接口
R3(config-if)#ip add 23.1.1.1 255.255.255.0配置接口IP
R3(config-if)#no shutdown开启此接口
R3(config-if)#end退出
R3#conf t进入全局模式
R3(config)#ip route 192.168.1.0 255.255.255.0 13.1.1.10添加静态路由
R3(config)#ip route 192.168.1.0 255.255.255.0 23.1.添加静态路由
R3(config)#ip route 192.168.1.0 255.255.255.0 23.1.1.1 2添加静态路由
R3(config)#ip route 192.168.1.0 255.255.255.0 23.1.1.10 2添加静态路由
R3(config)#int loopback 0创建环回口
R3(config-if)#no shutdown开启此接口
ESW1(config-if)#ip add 3
ESW1(config-if)#ip add 3.3.3.3 255.255.255.255配置环回口IP
三层交换机一
ESW1#conf t进入全局模式
ESW1(config)#ip routing开启路由功能
ESW1(config)#exit退出
ESW1#vlan database进入vlan数据库
ESW1(vlan)#vlan 100 创建vlan
VLAN 100 modified:
ESW1(vlan)#vlan 200创建vlan
VLAN 200 modified:
ESW1(vlan)#exit退出
APPLY completed.
Exiting…
ESW1#conf t进入全局模式
Enter configuration commands, one per line. End with CNTL/Z.
ESW1(config)#int f1/2进入接口模式
ESW1(config-if)#switchport mode access将此接口设置为access模式
ESW1(config-if)#switchport access vlan 100将此接口加入vlan
ESW1(config-if)#int f1/1进入此接口
ESW1(config-if)#switchport mode access设置为access模式
ESW1(config-if)#switchport access vlan 200将此接口划分进vlan
ESW1(config-if)#int vlan 100进入vlan
ESW1(config-if)#ip add 192.168.1.10 255.255.255.0创建vlanIP
ESW1(config-if)#no shutdown开启此接口
ESW1(config)#int vlan 200进入vlan
ESW1(config-if)#ip add 13.1.1.10 255.255.255.0创建vlan200
ESW(config-if)#no shutdown开启此接口
ESW1(config-if)#exit退出
ESW1(config)#int vlan 100进入vlan100
ESW1(config-if)#standby 1 ip 192.168.1.1设置虚拟组IP
ESW1(config-if)#standby 1 priority 105优先级为105
ESW1(config-if)#standby 1 preempt开启抢占
ESW1(config-if)#standby 1 track f1/1开启接口跟踪
ESW1(config)#ip route 0.0.0.0 0.0.0.0 13.1.1.1添加默认路由
三层1交换机二
ESW2#vlan database进入vlan数据库
ESW2(vlan)#vlan 100创建vlan
VLAN 100 added:
Name: VLAN0100
ESW2(vlan)#vlan 200创建vlan
VLAN 200 added:
Name: VLAN0200
ESW2(vlan)#exit退出
APPLY completed.
Exiting…
ESW2#conf t进入全局模式
ESW2(config)#int f1/1进入接口模式
ESW2(config-if)#switchport mode access将此接口设置为access模式
ESW2(config-if)#switchport access vlan 200将此接口加入vlan
ESW2(config-if)#int f1/2进入接口模式
ESW2(config-if)#switchport mode access将此接口设置为access模式
ESW2(config-if)#switchport access vlan 100将此接口加入vlan
ESW2(config-if)#int vlan 100进入vlan
ESW2(config-if)#ip add 192.168.1.11 255.255.255.0配置vlanIP
ESW2(config-if)#no shutdown开启此接口
ESW2(config-if)#int vlan 200进入vlan200
ESW2(config-if)#ip add 23.1.1.10 255.255.255.0配置vlanIP
ESW2(config-if)#no shutdown开启此接口
ESW2(config-if)#exit退出
ESW2(config)#ip routing开启路由功能
ESW2(config)#int vlan 100进入vlan100
ESW2(config-if)#standby 1 ip 192.168.1.1配置虚拟组IP
ESW2(config-if)#standby 1 priority 100优先级为100(默认为100,可不设)
ESW2(config-if)#standby 1 preempt开启抢占
ESW2(config-if)#standby 1 track f1/1开启接口跟踪
ESW2(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.1设置默认路由
无论是在配置HSRP的过程中还是在HSPP网络运行过程中.总会出现一一些故障, 下面介绍网络中常见的几种故障。
➢配置完成的热备份路由器都处于初始状态。
(HSRP组中交换机都处于初始状态)
➢配置完成的热备份路由器都处于活跃状态。
(HSRP组中交换机都处于活跃状态,主备路由器之间的心跳线坏了)
➢当活跃路由器出口链路出现故障时,备份路由器没有成为活跃状态。
(活跃设备上行链路故障,备份设备没有成为活跃状态)
➢网络出现故障,备份路由器变为活跃状态,当网络故障恢复时,原来的活跃路由器接入网络后成为备份状态而没有成为活跃状态。
(上行链路接口没有跟踪)