一、HSRP介绍及相关配置

1)HSRP介绍
全称Hot Standby Routing Protocol原理比较简单,类似于服务器HA群集,
两台或更多的路由器以同样的方式配置成Cluster,创建出单个的虚拟路由器,
然后客户端将网关指向该虚拟路由器。
最后由HSRP决定哪个路由器扮演真正的默认网关。

具体说,HRSP用于在源主机无法动态地学习到网关IP地址的情况下防止默认路由的失败。
它主要用于多接入,多播和广播局域网(例如以太网)。

2)相关技术介绍
局域网中,在主网关失效瘫痪的情况下,如何找到备份网关,主要有以下几种办法:

proxy ARP
IRDP
动态路由
HSRP

Proxy ARP
支持Proxy ARP 的计算机无论与本网段的计算机还是不同网段的计算机进入通讯都发送ARP广播以寻找与目的地址相对应的MAC地址,
这时,知道目的地址的路由器会响应ARP的请求,并将自己的MAC地址广播给源计算机,
然后源计算机就将IP数据包发给该路由器,并由路由器最终将数据包发送到目的。

ARP代理的主要缺点是切换时间长,如果主网关正在传输数据时失效,客户机仍然会继续发包,导致传输中断,
只有再另外发送Proxy ARP请求或重新启动之后才能找到备用网关以进行传输。

IRDP
支持IRDP的客户机会监听主网关发出的“Hello”的多点广播信息包,
如果该计算机不再收到“Hello”信息时,它就会利用备份路由器进行数据传输。

动态路由
如果使用动态路由来实现网关切换,则存在收敛过慢和内存占用的问题。

HRSP
自动切换

3)HRSP原理
需要注意的是,Cluster里的每个成员路由器仍然是标准的路由器,
客户端仍然可以将成员路由器配置成其默认网关。

在Cisco路由器中,最多可以配置256个HSRP组
因为HSRP能够使用的MAC地址类似于:0000.0c07.ac**。

HRSP每隔3秒发送hello包,包括group ID,HSRP group和优先级(默认为100)。
路由器彼此之间依据优先级,确定优先级最高的路由器是活动路由器。
如果优先级相同,在IP地址高的成为活动路由器。

在HRSP组中,只允许同时存在一个活动路由器,其他路由器都处于备用状态,
备用路由器不转发数据包。

如果备用路由器持续不断地收到活动路由器发来的hello包,
则其会一直处于备用状态。
一旦备用路由器在规定的时间内(Hold Time,默认10秒)没有收到hello包,,
则认为活动路由器失效,
优先级最高的备用路由器就接替活动路由器的角色,开始转发数据包。

4)HRSP preempt技术
HRSP技术能够保证优先级高的路由器失效恢复后总能处于活动状态。

活动路由器失效后,优先级最高的备用路由器处于活动状态,
如果没有使用preempt技术,
则当活动路由器恢复后,只能处于备用状态,
先前的备用服务器代替其角色处于活动状态,直到下一次选举发生。

5)HRSP track技术
如果所监测的端口出现故障,则也可以进行路由器的切换。

如果主路由器上有多条线路被跟踪,
则当一条线路出现故障时,就会切换到备份路由器上,即使其他都线路正常工作,
直到主路由器该线路正常工作,才能重新切换回来。

该功能在实际应用中完全可以由线路备份功能实现。

6)HRSP配置
routerA#conf t
routerA(config)#int e0
routerA(config)#standby ip 172.16.1.254
routerA(config)#standby preempt
routerA(config)#standby track serial 0
routerA(config)#exit
routerA#


二、SLB介绍及相关配置

1)SLB介绍
全称Server Load Balancing,可以看作HSRP的扩展,实现多个服务器之间的复杂均衡。

虚拟服务器代表的是多个真实服务器的群集,
客户端向虚拟服务器发起连接时,通过某种复杂均衡算法,转发到某真实服务器。

负载均衡算法有两种:
Weighted round robin(WRR)Weighted least connections(WLC),
WRR使用加权轮询算法分配连接,WLC通过一定的权值,将下一个连接分配给活动连接数少的服务器。


2)SLB配置
配置分为两部分,
第一部分是使用slb serverfarm serverfarm_name命令定义SLB选项,包括指定真实服务器地址;
第二部分是使用ip slb vserver virtual_server-name来指定虚拟服务器地址。

router#config t
router(config)#ip slb serverfarm email
router(config-slb-sfarm)#real 192.168.1.1
router(config-slb-sfarm)#inservice
router(config-slb-sfarm)#real 192.168.1.2
router(config-slb-sfarm)#inservice
router(config-slb-sfarm)#exit
router(config)#ip slb vserver vserver_one
router(config-slb-vserver)#vitual 10.1.1.1 tcp 25
router(config-slb-vserver)#serverfarm email
router(config-slb-vserver)#inservice
router(config-slb-vserver)#exit
router(config)#exit
router#

三、VRRP介绍

全称Virtual Router Redundancy Protocol,和HSRP类似,
只是HSRP是Cisco专有的协议,只应用在Cisco设备上。
VRRP符合Internet标准,定义见RFC2338,是不同厂家之间共同遵循的标准。
VRRP负责从VRRP路由器组中选择一个作为Master,
然后客户端使用虚拟路由器地址作为其默认网关。


四、GLBP介绍及配置

GLBP group members elect one AVG.
AVG assigns a virtual MAC address to each member of the group.
AVG replies to the ARP requests from clients with different virtual MAC addresses, thus achieving load balancing.
Each router becomes an AVF for frames that are addressed to that virtual MAC address.

1)GLBP介绍
cisco ios 支持版本 IOS 12.2(15)T以上
全称Gateway Load Banancing Protocol,
和HRSP、VRRP不同的是,GLBP不仅提供冗余网关,还在各网关之间提供负载均衡,
而HRSP、VRRP都必须选定一个活动路由器,而备用路由器则处于闲置状态。

和HRSP不同的是,GLBP可以绑定多个MAC地址到虚拟IP,
从而允许客户端选择不同的路由器作为其默认网关,而网关地址仍使用相同的虚拟IP,
从而实现一定的冗余。

2)活动网关选举
使用类似于HRSP的机制选举活动网关,
优先级最高的路由器成为活动落由器,称作Acitve Virtual Gateway,其他非AVG提供冗余。备份的AVF,也是实现数据的转发, 而在GLBP中,同一个GROUP的所有路由器(最多4个)可以同时转发流量

某路由器被推举为AVG后,和HRSP不同的工作开始了,AVG分配虚拟的MAC地址给其他GLBP组成员。
所有的GLBP组中的路由器都转发包,
但是各路由器只负责转发与自己的虚拟MAC地址的相关的数据包。

3)地址分配
每个GLBP组中最多有4个虚拟MAC地址,非AVG路由器有AVG按序分配虚拟MAC地址,
非AVG也被称作Active Virtual Forwarder(AVF)。

AVF分为两类:Primary Virtual Forwarder和Secondary Virtual Forwarder。
直接由AVG分配虚拟MAC地址的路由器被称作Primary Virtual Forwarder,
后续不知道AVG真实IP地址的组成员,只能使用hellos包来识别其身份,然后被分配虚拟MAC地址,此类被称作Secondary Virtual Forwarder。

4)GLBP配置
如果AVG失效,则推举就会发生,决定哪个AVF替代AVG来分配MAC地址,推举机制依赖于优先级。
最多可以配置1024个GLBP组,不同的用户组可以配置成使用不同的组AVG来作为其网关。

router#conf t
router(config)#int fastethernet 0/0
router(config-if)#ip address 10.1.1.1
router(config-if)#glbp 99 ip 10.1.1.254
router(config-if)#glbp 99 priority 105
router(config-if)#glbp 99 preempt delay 10
router(config-if)#glbp 99 weighting track int s0 10
router(config-if)#exit
router(config)#^Z
  使用下面的接口命令来为路由器分配GLBP的优先级:#glbp   group   prioritylevel    组号的范围从0-1023  优先级从1- 255,越大优先级越高
 
       如果使用HSRP,那么其他的路由器只能在当前活跃的路由器失效时才能接替活跃的角色,如果路由器要比当前路由器有更高的优先级,GLBP将剥夺主路由器并成为AVG,可以使用下面的命令剥夺启动并且在剥夺之前延迟一段时间。一般是4S
 # glbp  group preempt [delay minimum seconds]   
       GLBP使用一个加权函数来决定哪台路由器成为组中虚拟MAC得知的AVF,每台路由器开始时都带一个最大权值(1到254)。当某个特定接口失效的时 候,权值所配置的值减少,GLBP使用门槛值来确定路由器是否能成为AVF,如果权值降到较低的门槛以下,路由器必须放弃AVF的角色,在权值上升到较高 的门槛以上的时候,路由器可以继续它的AVF角色。在缺省的情况下,路由器设置的最大权值为100,如果要动态改变权值,GLBP必须要知道所跟踪的接口 并且知道如何调整权值,首先必须定义跟踪的接口,可以使用下面的全局配置命令#track object-number interface type mod/num {line-protocol | ip routing} object-number是一个任意的索引值1-500,这个值用作权值的调节,触发调整的条件可以是线协议也可以是路由协议。
      
       还必须定义接口权值门槛:#glbp group weighing maximum [lower  lower]  [upper  upper] 最大权值的范围从1-254 缺省值为100 较高门槛值缺省值为MAXIMUM,较小门槛值缺省值为1,各自定义为可以或者不能成为AVF的门槛。
       还必须配置GLBP知道跟踪了哪个接口,以便权值可以使用下面接口配置命令来改变权值:
       #glbp group weighting track object-number [decrement value] 当所跟踪的接口失效的时候,权值减少了VALUE从1-254 缺省值是10,在AVF的路由器有更高权值的时候,它也不能剥夺另一台路由器。
       在AVF路由器上,用下面的接口命令来定义负载均衡的方式:#glbp groupload-balancing [round-robin | weighted | host-dependent]
       要启动GLBP,必须给该组分配一个虚拟IP地址,可以通过以下的接口配置命令来实现:
 #glbp group ip [ip-address [secondary] ]
       今天主要介绍了CISCO专有的负载均衡协议GLBP,以后我会连载服务器负载均衡协议SLB,注意GLBP是CISCO专有的,而且目前只能在 Catalyst 6500 Supervisor 720的Cisco IOS软件版本12.2(14)SX中使用。