默认网关的限制
注:这里说的IP地址是IPv4地址
如果作为默认网关的路由器或者路由器接口发送故障,配置该默认网关的主机将与外部网络隔离。为了解决这一问题,可以使用两个或多个路由器提供备份网关。
在交换网络中每个客户端仅收到一个默认网关,即使有第二条去往外部网络的路径也无法将本地数据发送出去,也无法使用备份网关。
因此需要一种可以让备份路由器在主路由器发生故障时充当客户端的默认网关的机制。这种机制是有第一跳冗余协议(FHRP)提供的。
路由器冗余
为防止默认网关发生单点故障,可以实施一种虚拟路由器的方法。
虚拟路由器可以让两个或多个物理路由器充当单个虚拟路由器,终端设备使用虚拟路由器的虚拟IP地址和虚拟MAC地址充当默认网关。
主机使用ARP解析默认网关的MAC地址时,ARP解析将返回虚拟路由器的MAC地址。
故障切换步骤
当主路由器(转发路由器)发生故障时,冗余协议会把备份路由器作为新的主路由器。
- 备份路由器停止从主路由器接收Hello消息
- 备份路由器发送一条转变消息,表面它正在接替转发路由器的角色
- 新的转发路由器接替虚拟路由器的IP地址和MAC地址
第一跳冗余协议中的协议(FHRP是协议的统称)
- 热备份路由协议(HSRP):思科专有的FHRP
- 虚拟路由冗余协议(VRRP):非专有协议,公有协议
- 网关负载均衡协议(GLBP):思科专有的协议(在提供冗余的同时还提供了负载均衡)
热备份路由协议(HSRP)
HSRP优先级和抢占
Active (主)路由器和 Standby (备用)路由器是HSRP中的角色,路由器角色是在HSRP选择过程中确定的。默认情况下,IP地址值最高的路由器被选举为Active 路由器。
优先级
优先级课用于确定Active路由器。具有最高优先级的路由器将成为Active路由器。默认情况下,HSRP的优先级为100,如果优先级相等,则选择具有最高IP地址的路由器作为Active路由器。
优先级范围0-255,使用standby priority可以修改优先级。
抢占
默认情况下,一台成为Active路由器后,即使有另一个优先级更高的路由器上线,Active路由器仍然会充当Active路由器
如果希望优先级高的路由器偶永远充当Active路由器,可以使用standby preempt启用抢占,优先级高的路由器发送故障过后,备份路由器将变成了Active路由器,如果之前那个路由器故障恢复后,优先级高的路由器将继续充当Active路由器。
例如:R1优先级150并且开启了抢占功能,R2优先级100。
原本R1为Active路由器,当R1发送故障后,R2就充当Active路由器。
R1的故障排除过后,R1将继续充当Active路由器,R2变为Standby(备份)路由器
HSRP计时器
在默认情况下,Active 和 Standby HSRP 路由器每 3 秒就会向 HSRP 组的组播地址发送一次 hello 数据包。如果 10 秒后没有收到来自 Active 路由器的 hello 消息,则 Standby 路由器将变为 Active 设备(时间是可以修改的)
简单的配置
拓扑
PC1和PC2还没有配置默认网关,路由器和PC已经配置相应的IP地址
R3作为远端主机,以配置路由,可以相互通信
R1的配置
R1(config)#interface g0/0/1 进入g0/0/1接口
R1(config-if)#standby 1 ip 10.10.10.254 创建组1并且配置虚拟路由器IP地10.10.10.254
R1(config-if)#standby 1 priority 150 优先级配置150
R1(config-if)#standby 1 preempt 开启抢占
R2的配置
R2(config)#interface g0/0/0 进入g0/0/1接口
R2(config-if)#standby 1 ip 10.10.10.254 创建组1并且配置虚拟路由器IP地10.10.10.254
PC配置默认网关(虚拟路由器IP地址为PC默认网关)
验证
R1#show standby brief查看信息,发现R1的优先级更高,所以成为了Active状态
R2为Standby 状态
PC0 tracert R3看出去到网关IP地址为10.10.10.1(R1的G0/0/1口)
关闭路由器R1的G0/0/1接口
R1(config)#interface g0/0/1
R1(config-if)#shutdown
PC的网关变成了10.10.10.2
打开路由器R1的G0/0/1接口
R1(config)#interface g0/0/1
R1(config-if)#no shutdown
R1通过抢占又恢复Active状态