在园区网中,为保证网络的高可用性,经常会用到冗余与备份。备份通常会有冷备份与热备份之分,冗余会从链路冗余、网关冗余、设备冗余、电源冗余,甚至会用到CPU的冗余、引擎冗余。
链路冗余涉及到的技术主要是生成树,前面已经学习到了,现在看网关冗余。
主机要和非本地网段的系统进行通信,依靠的也是路由。能不能到达目标网段,得看有没有到达目标网段的路由。而路由分为精确路由和非精确路由,主机或其他终端的主要任务不是进行路由选择,因此不建议主机等终端系统上出现精确路由。那么,好一点的选择就是默认路由了,一个条目就可以完成所有任务。基于此种原因,主机获知网关的方法有以下几种:
动态路由协议(不推荐)
静态配置网关(配置默认路由,最好的选择)
还有一些方法可以实现这种功能,比如代理ARP、IRDP,但是这样子做在排除故障时会很麻烦,因此不推荐。
在所有这些方法中,静态配置网关似乎是最好的选择。在这个基础之上再考虑园区网的备份与冗余,我们会发现,配置的网关的IP地址必须不唯一,即一个网关地址必须能同时代表所有的冗余网关才能实现冗余的目的,保证高可用性。基于此,出现了HSRP、VRRP和GLBP。
哈哈,思路清晰了,现在来看吧
一、代理ARP
1、含义:代理主机查询非本地网目标MAC地址,并向主机返回自己的MAC地址
2、本质:手工注入默认路由,并依靠ARP的应答
3、作用:帮助主机完成数据包的封装,并动态选择下一跳路由器
4、实现:第一步主机不知道目标主机MAC地址并且目标地址与本机不属性同一网段,于是向网关发ARP请求;
第二步路由器在收到这个ARP请求时返回一个应答,说明目标MAC地址为自己在这个网段的接口的MAC地址;
第三步主机封装源IP目标IP源MAC为自己目标MAC为路由器接口MAC,成帧,发送到路由器;
第四步依靠arp表的老化超时后的重新查询获知新路由器
5、功能:能在保证主机无须拥有大量路由表的前提下帮助主机完成数据包的封装
6、不足:容易受ARP欺骗影响,故障排查困难;
在路由器故障时必须等待ARP表老化超时或者手动刷新,不能及时获知下一跳路由器的变化,更重要的是在ARP表项变化之前主机都不能和外网进行通迅。
7、配置:路由器默认启用
二、IRDP
1、含义:在主机和路由器之间运行这个协议,路由器向主机发送默认路由,并向主机发送多播hello存活消息
2、本质:注入默认路由的方式, 并且利用ICMP动态选择下一跳路由器
3、作用:帮助主机完成数据包的封装,并动态选择下一跳路由器
4、实现:路由器发送多播hello消息,主机监听。每个IRDP通告的报头中都会有一个生命周期值,在这个周期值内主机收到新的通告表明路由器还活着,没收到则表明当前网关已经失效,主机将删除当前默认路由(怎么发现新的网关?)。
5、好处:主机不要求识别动态路由协议,也不需要手工设置
6、不足:在大中型网络中诊断IRDP故障极其困难,不常用
7、优先级:从负数到正数的一个范围,默认为0
8、配置:接口下ip irdp
9、调试:debug ip icmp
三、静态配置默认网关
这个要么手工在PC上设,要么用DHCP,注入默认路由,简单,就不多说了哈
四、HSRP
1、性质:cisco私有
2、含义:将多台物理网关虚拟成一个逻辑网关,这多台物理设备共享一个虚拟IP地址和一个虚拟MAC地址以实现网关冗余
3、组成:一台活跃路由器、一台备用路由器、一台虚拟路由器和其他HSRP成员路由器。活跃路由器转发前往虚拟路由器的数据包,各成员之间通过多播hello消息保持角色
4、HSRP状态:
(1)init状态:接口启用hsrp时
(2)leaning状态:学习虚拟IP地址的时段,此时已经发送自己的信息,但未收到其他成员的信息
(3)listening状态:知道了虚拟IP地址但未选举出活跃路由器和备份路由器时所处的状态,非活跃路由器并且非备份路由器也处于这种状态
(4)speak状态:正在竞选时的状态
(5)standby状态:备用状态,定期发送hello
(6)active状态:转发状态,定期发送hello
5、HSRP的虚拟MAC地址
00000c07acxx
00000c是厂商标识,07ac是HSRP协议标识,xx是组标识符
6、HSRP负载均衡
通过为不同的VLAN设置不同的hsrp组,并让同一台路由器在这多个组中承担不同的路由器角色来实现
7、配置
R1(config-if)#standby 1 ip 10.1.0.254 配置组名称和虚拟IP地址。可将组名称设为VLAN号,但组名称取值范围为0~255
R1(config-if)#no ip redirects 禁用让主机得知路由器真实MAC地址的协议,启用HSRP之后默认启用
R1(config-if)#standby 1 priority 255 配置路由器在HSRP组中的优先级,默认为100.未配置抢占时谁先启动谁成为跨海路由器,配置了抢占之后优先级越高,越能成为活跃路由器,优先级相同,最高物理接口IP地址的路由器羸得选举。
R1(config-if)#standby 1 preempt 配置抢占。希望路由器故障恢复后继续承担活跃路由器的角色时使用。在配置了接口跟踪之后也得启用
R1(config-if)#standby 1 track s0/0 80 配置接口跟踪。注意:必须使得加减后的优先级值高于或低于备份路由器的优先级,默认值为10
五、VRRP
1、性质:工业标准
2、原理:多台物理设备虚拟出一台网关,虚拟IP可以为某一台物理设备的接口IP地址,拥有这个地址的路由器成为主虚拟路由器,主路由器失效,优先级较高的备份路由器成为主虚拟路由器以提供网关冗余。
3、虚拟地址:虚拟IP可以为某台物理设备的接口地址,虚拟MAC为00-00-5e-00-01-xx,其中xx为vrrp组号,16进制。
4、接口优先级:主虚拟路由器的优先级必须配置为255,备用路由器的优先级为1~254,0为非VRRP组中成员,默认值为100.
5、组成员的通信:主虚拟路由器使用IP号112将通告发送给多播地址224.0.0.18,默认通告间隔为1s
6、抢占:默认启用
7、故障切换:取决于主路由器失效间隔,而主路由器失效间隔不可配置,为通告间隔的3倍。
8、配置:
R2(config-if)#vrrp 1 ip 10.1.0.100 配置组名组IP地址,组IP地址可为物理接口地址
R2(config-if)#vrrp 1 priority ? 怎么改为0?
<1-254> Priority level
9、与HSRP的区别
节省一个IP地址;
备用路由器不发送hello通告,因此主路由器不知道当前的备份路由器;
VRRP主路由器叫master,备份路由器叫backup
VRRP收敛时间比HSRP快,因为hello间隔为1s(默认)
VRRP组范围为1~255,HSRP为0~255,优先级也一样
10、RFC2338
六、GLBP
1、设计目的:自动选择和同时使用多个网关,自动故障切换,无需配置多个组,减少配置
2、实现原理:一个网关,多个路由器同时进行转发。通过为不同的主机分配不同路由器的MAC地址实现。
3、成员组成:
(1)一个网关AVG:活跃虚拟网关。负责收集AVF的MAC地址,管理虚拟MAC地址的分配,转发角色的确定,故障切换
(2)多个转发器AVF:成员路由器,最多4台,活跃虚拟转发器。
4、虚拟地址:一个虚拟IP地址,多个虚拟MAC地址,虚拟MAC地址被动态分配到各个组成员路由器。格式为0007.b400.xxxx
5、接口跟踪:当一个组成员失效,AVG将把原来属于这个成员的MAC地址重新分配给另外的成员路由器,以实现主机的无故障通信
6、负载均衡:
(1)循环负载均衡算法:在解析虚拟IP地址的应答中,轮流地包含各个虚拟转发器的MAC地址。默认算法。
(2)加权负载均衡算法:前往AVF的流量取决于包含该AVF的网关通告的权重值
(3)主机相关负载均衡算法:确保主机始终使用同一个虚拟MAC地址
7、配置和前面的一样,多了一个负载均衡,还可以设置AVF的权重。不再多说
8、有一个问题:AVG失效了怎么办?选举机制是怎么样的?书上也没有,看RFC?看下面的吧,好像跟HSRP一样
R1(config-if)#do sh glbp
FastEthernet1/0 - Group 1 组名
State is Standby 路由器角色
1 state change, last state change 00:01:17
Virtual IP address is 10.1.0.253 AVG虚拟网关IP地址
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.956 secs
Redirect time 600 sec, forwarder time-out 14400 sec
Preemption disabled
Active is 10.1.0.200, priority 100 (expires in 9.440 sec)
Standby is local
Priority 100 (default) 优先级
Weighting 100 (default 100), thresholds: lower 1, upper 100 权重与罚值
Load balancing: round-robin 负载均衡方式
Group members: 组成员物理接口MAC
cc00.01cc.0010 (10.1.0.100) local
cc00.05a8.0010 (10.1.0.200)
There are 2 forwarders (1 active) 两个AVF
Forwarder 1
State is Listen 状态
MAC address is 0007.b400.0101 (learnt) 虚拟MAC
Owner ID is cc00.05a8.0010 拥有这个虚拟MAC的物理接口MAC
Time to live: 14399.428 sec (maximum 14400 sec)
Preemption enabled, min delay 30 sec
Active is 10.1.0.200 (primary), weighting 100 (expires in 8.004 sec)
Forwarder 2
State is Active
1 state change, last state change 00:01:22
MAC address is 0007.b400.0102 (default)
Owner ID is cc00.01cc.0010
Preemption enabled, min delay 30 sec
Active is local, weighting 100