Lab_8 网关冗余
Proxy ARP+ICMP重定向... 2
HSRP. 6
VRRP. 14
GLBP. 14
实验环境
PC不设置网关 ping 3.3.3.3
首先PC发送ARP请求 广播 询问3.3.3.3的MAC
R2也收到请求,回复PC 我就是3.3.3.3
R3也收到请求,同样回复PC 我就是3.3.3.3
这样 当直连线路down掉的时候 PC只要等到ARP表老化,来实现冗余
但默认ARP表老化时间是4个小时
可以通过命令来修改
参考文章:http://spccie.blog.51cto.com/1088987/268901 |
2.代理ARP |
----------------------------------------------------------------------------------------------------------------------
如果是上行链路down掉的话 则可依靠ICMP重定向来完成上行链路的冗余
默认情况下 Proxy ARP和ICMP重定向是开启的
下面来看一下ICMP的重定向
首先down掉R1的F0/1接口 然后再ping 3.3.3.3
PC 查MAC表发现 3.3.3.3的MAC是R1 将发送ICMP包到R1,但此时R1无法到达3.3.3.3则R1发送一个ARP重定向给PC告诉PC R2就是3.3.3.3,于是PC发送ARP广播 问谁是R2,并把网关指向R2
关闭ICMP重定向
清除ICMP重定向
HSRP (Hot standby redundancy protocol)热备份冗余协议 (cisco私有)
作用:解决路由器切换问题。
1、HSRP在2个或多个路由器间虚拟MAC和虚拟IP,主机的网关设为此虚拟IP.
2、当活动路由器失效,备份路由器成为活动路由器。
3、实际可能有多个热备组并存或重叠,每个组模仿一个虚拟路由器工作(一组MAC和ip),把主机分到不同热备组中,可做负载分担
工作原理:
HSRP协议利用优先级,决定哪个路由器为主动路由器,(路由器缺省优先级为100)
一段时间收不到主动路由器的Hello,优先最高的备份路由器成为主动。
Active Router
虚拟出一条Router,有ip有Mac,当向这个Mac发包时,Active会去接受处理
Standby Router
HSRP定义了一个形如0000.0c07.acxx的特殊MAC地址,其中xx代表用来两个十六进制位表示的HSRP组号.
decrementvalus,当active当了,默认减少优先级10.以便standby成为active.所以要考虑下减少值和两个的优先级差多少。
相同优先级,最高ip者为Active
HSRP包
1、Hello-------------作用通知优先级,和状态信息。
包含----priority,hello间隔,holdtime,虚拟网关ip
hello包3s发向组播地址224.0.0.2(所有路由器)----在一个组内只有两台路由器(active,standby)发hello, 15秒收不到Active的包认为其失效,standby→Active,priority高的为Active , standby preempt 开启抢占,Active 当了再启会自动抢回来。
2、Coup------------当一个备份路由器变成主动路由器时发Coup消息
3、Resign------当主动路由器要当机或当有优先级更高路由器发hello时,主动路由器发一个resign消息。
HSRP路由器6种状态:
Initial-------HSRP启动时候,HSRP还没运行,一般在改变配置或端口刚刚启动时进入此状态。
learn--------路由器得到了虚拟IP,但不是活动路由器也不是备份路由器。
listen--------监听hello消息
speak-----并参加活动,备份路由器选举。
standby------该状态下,路由器定期发hello,主路由器失效时,路由器准备接替传输功能。
Active--------路由器执行数据传输。
R1(config-if)#standby 1 ip 10.1.1.101
R1(config-if)#
06:26:07: SB: Add registration.
06:26:07: SB: Open UDP socket.
06:26:07: SB: Create hot standby process.
06:26:07: SB: Starting up hot standby process
R1(config-if)#
06:26:10: SB: Fa0/0 Interface up
06:26:10: SB1: Fa0/0 Init: a/HSRP enabled
06:26:10: SB1: Fa0/0 Init -> Listen
(因为已经配置了Vip所以不需要学习直接跳到listen)
06:26:10: SB: Fa0/0 Sbstate adv start
06:26:10: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
R1(config-if)#
06:26:19: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
06:26:20: SB1: Fa0/0 Listen: c/Active timer expired (unknown)
06:26:20: SB1: Fa0/0 Listen -> Speak
06:26:20: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
R1(config-if)#
06:26:23: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
R1(config-if)#
06:26:25: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
R1(config-if)#
06:26:28: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
06:26:28: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
R1(config-if)#
06:26:30: SB1: Fa0/0 Speak: d/Standby timer expired (unknown)
06:26:30: SB1: Fa0/0 Speak -> Standby
06:26:30: %STANDBY-6-STATECHANGE: Standby: 1: FastEthernet0/0 state Speak -> Standby
06:26:30: SB1: Fa0/0 Hello out 10.1.1.1 Standby pri 100 ip 10.1.1.101
06:26:30: SB1: Fa0/0 Standby: c/Active timer expired (unknown)
06:26:30: SB1: Fa0/0 Active router is 10.1.1.1
06:26:30: SB: Fa0/0 Add active hash 10.1.1.1 (vIP 10.1.1.101)
06:26:30: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
06:26:30: SB: Fa0/0 Sbstate adv out, Active, active 0 passive 1
06:26:30: SB1: Fa0/0 Standby -> Active
06:26:30: %STANDBY-6-STATECHANGE: Standby: 1: FastEthernet0/0 state Standby -> Active
R1(config-if)#
06:26:30: SB: Fa0/0 Sbstate adv stop
06:26:30: SB: Fa0/0 Sbstate adv out, Active, active 1 passive 0
06:26:30: SB1: Fa0/0 Hello out 10.1.1.1 Active pri 100 ip 10.1.1.101
在启用HSRP时可以只在一台设备上配置VIP,其他设备可以通过hello包学习到,但不能参加active选举
R2(config-if)#standby 10 ip
R2(config-if)#
00:28:43: SB: Open UDP socket.
00:28:43: SB: Create hot standby process.
00:28:43: SB: Starting up hot standby process
R2(config-if)#
00:28:46: SB: Fa0/0 Interface up
00:28:46: SB10: Fa0/0 Init: a/HSRP enabled
00:28:46: SB10: Fa0/0 Init -> Learn
00:28:46: SB: Fa0/0 Sbstate adv start
00:28:46: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
00:28:46: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
00:28:46: SB10: Fa0/0 Learn: h/Hello rcvd from lower pri Active router (100/10.1.1.1)
00:28:46: SB10: Fa0/0 Active router is 10.1.1.1
00:28:46: SB: Fa0/0 Add active hash 10.1.1.1 (vIP 0.0.0.0)
00:28:46: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
00:28:46: SB10: Fa0/0 Learn: n/Standby IP address configured
00:28:46: SB10: Fa0/0 Learn -> Listen
R2(config-if)#
00:28:48: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:51: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:54: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:56: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
00:28:56: SB10: Fa0/0 Listen: d/Standby timer expired (unknown)
00:28:56: SB10: Fa0/0 Listen -> Speak
00:28:56: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:28:57: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:59: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:28:59: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:29:02: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:29:02: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:29:05: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:29:05: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
00:29:05: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
R2(config-if)#
00:29:06: SB10: Fa0/0 Speak: d/Standby timer expired (unknown)
00:29:06: SB10: Fa0/0 Speak -> Standby
00:29:06: %STANDBY-6-STATECHANGE: Standby: 10: FastEthernet0/0 state Speak -> Standby
只有Active会显示vip和vmac
当R1f0/1down掉是 R2会在10s内变为active状态并产生vip和vmac
抢占
抢占(preempt),当收到的hello包中优先级发生变化时,会重新选举active
在R1上启动HSRP并配置抢占,然后在R2上启动HSRP观察
虽然同样没有配置Vip但是还是能抢占成功
但当SW只有上行口DOwn时,不会Active切换
此时我们down掉R2的F0/1
当Pc ping 3.3.3.3时就会显示阻止发送ICMP的重定,因为如果发生ICMP的重定向就会让PC产生一条ARP记录,主机自动学习到真实的网关地址,当R3恢复时就无法进行线路切换,同时并告诉10.1.1.1不包含在活动组中,将由R1转发流量
TRACK 接口跟踪
Track是针对上面上行链路down掉情况的优化,当F0/1接口当了时,自动将f0/0接口优先级减少,让出active地位,前提是要开启抢占。
此时R2为active我们down掉R2的F0/1
R1变成active R2为 Standby 并且优先级降10
多组
既实现网关冗余有实现负载分担
R1 R2
然后在添加一台PC网关指向10.1.1.102
当R1的f0/1down掉时会自动切换到R2转发
standby use-bia (使用此命令支持多组,在一个路由器上启用多个HSRP组)
认证
standby 1 authentication 密码 (仅支持8位明文认证)
VRRP(virtual route redundancy protocol)业界标准 IP包中协议号112
和HSRP工作原理相同,只是可以用真实设备地址。
分为主路由器master和备用路由器backup
・ VRRP和HSRP主要区别:
1、在VRRP中,备用路由器不发送通告,所以主路由器并不知道当前的备用路由器。
2、主路由器每1秒钟发一次hello
3、VRRP中,没有针对上行线路DOWN时的track技术
虚拟MAC地址是以0000.5e开头,00.01代表VRRP,最后两位数是组号
例如:组10的MAC地址是0000.5e00.010A
当虚拟IP地址设置为一台路由器的实际接口地址时,这台路由器的优先级就会变为255,自动成为master
默认启用Preempt。抢占
GLBP(gateway load balancing protocol)
HSRP和VRRP都提供冗余网关,可同时只有一个网关在使用,带宽没有充分利用。GLBP旨在自动选择和同时使用多个可用网关,实现负载均衡。并检测活动网关故障并切换到冗余路径。
・GLBP中,虚拟路由器只有一个虚拟的IP地址,但可以有多个虚拟的MAC地址
・AVF(Active Virtual Forwarder)活动虚拟转发者 GLBP组最多用4台网关
AVG(Active Virtual Gateway)活动虚拟网关 从网关中会选出一个来管理其他AVF。只有AVG响应ARP请求。
也可以有一个AVG,四台AVF,但是那台AVG不能成为AVF,也就是说它不能转发数据。
・AVG可以分配虚拟的MAC地址给AVF
・AVG也会有一个Active的,和一个standby的
・默认模式,GLBP以循环方式来负载均衡。向请求IP地址的主机发不同的MAC地址。
・手工配置抢占
・hello包发向组播地址:224.0.0.102 UDP端口号3222
・hello时间3 S,holdtime时间10 S
・每一个设备都会发包
R2(config-if)#glbp 1 ip 192.168.1.1
R2(config-if)#glbp 1 times 5
R2(config-if)#glbp 1 priority 120