HSRP/SLB/VRRP/GLBP

一、HSRP介绍及相关配置
,J"[6S#pI A7S4{ \ t@3I4C\w
1)HSRP介绍bPBR3Ks8z/njD
全称Hot Standby Routing Protocol,原理比较简单,类似于服务器HA群集,
xu0{c Ie^o~ 两台或更多的路由器以同样的方式配置成Cluster,创建出单个的虚拟路由器,2|Ve/DKM t
然后客户端将网关指向该虚拟路由器。
-S!i.?GyM~7b)E 最后由HSRP决定哪个路由器扮演真正的默认网关。i&cd TQ
:{]$im`~
具体说,HRSP用于在源主机无法动态地学习到网关IP地址的情况下防止默认路由的失败。 F-n]M!@
它主要用于多接入,多播和广播局域网(例如以太网)。&t^d,@/y]

[,qmE7|8G8lLQ5V"Y 2)相关技术介绍ajyrr*tY
局域网中,在主网关失效瘫痪的情况下,如何找到备份网关,主要有以下几种办法:
z@ bhi3J w
Jj[T!j6MH|SH.SG proxy ARP 8|F`(VS?5Yeb6} _
IRDP
#ss8gkI0qzO-n-k 动态路由 e2] M5mp^dK
HSRP
!CFdw+z&ha
3`&kTl'p9H4XdI3Cy:^ Proxy ARP
e%E3y'G4D@!th 支持Proxy ARP 的计算机无论与本网段的计算机还是不同网段的计算机进入通讯都发送ARP广播以寻找与目的地址相对应的MAC地址,
[nC9t#X8J:s+t&o 这时,知道目的地址的路由器会响应ARP的请求,并将自己的MAC地址广播给源计算机,
Ir5_3E$^N4p]1x1U-n 然后源计算机就将IP数据包发给该路由器,并由路由器最终将数据包发送到目的。 'U-h7BQ R4Q!eP
&v1Xv~0M~(_;L3A6{a^
ARP代理的主要缺点是切换时间长,如果主网关正在传输数据时失效,客户机仍然会继续发包,导致传输中断,MI1HMk9Ij{\
只有再另外发送Proxy ARP请求或重新启动之后才能找到备用网关以进行传输。
X C&QFx+GU1\:|J )g H.WF7]tQD0W
IRDP jg~rOU,I-WM6v
支持IRDP的客户机会监听主网关发出的“Hello”的多点广播信息包,HC%u/b C1x%s|
如果该计算机不再收到“Hello”信息时,它就会利用备份路由器进行数据传输。
-m5oH l7n3X*d4qi]+~ R px:T4X6jqxd7s:D
动态路由
B8E3{6d6`,\;V8C+{ 如果使用动态路由来实现网关切换,则存在收敛过慢和内存占用的问题。
-bK*Gc,z/_Nc'c it;_ \`%~] g
HRSP,L:t J"O4_1w:k0NT
自动切换(EN$M @ K[

E)m7c"u's4y3FW@E 3)HRSP原理 AnApnet|
需要注意的是,Cluster里的每个成员路由器仍然是标准的路由器,D2y F2?HZT(i8b W!_
客户端仍然可以将成员路由器配置成其默认网关。J6TCK$rRd
8Y&_%c!{I2qA6OP8G
在Cisco路由器中,最多可以配置256个HSRP组,
.]RE(c O} 因为HSRP能够使用的MAC地址类似于:0000.0c07.ac**。#y BHr8NrD

6cu O zL'Q|[\ HRSP每隔3秒发送hello包,包括group ID,HSRP group和优先级(默认为100)。.o ^q$~} L8A
路由器彼此之间依据优先级,确定优先级最高的路由器是活动路由器。
'k!D gV7|b%r5E 如果优先级相同,在IP地址高的成为活动路由器。
b|+x S0m` _ow1eU
C?|UO7n u;Us)j 在HRSP组中,只允许同时存在一个活动路由器,其他路由器都处于备用状态,?]5Y sK+xN| I
备用路由器不转发数据包。$oc\L/Rvt:]
}5kquO)F`LU+| jVS
如果备用路由器持续不断地收到活动路由器发来的hello包,s#S8Vd]0M ^#?
则其会一直处于备用状态。
w/ii T,SX 一旦备用路由器在规定的时间内(Hold Time,默认10秒)没有收到hello包,,
h5\"qq F,p 则认为活动路由器失效,4Cd4fA?g~+gf$h
优先级最高的备用路由器就接替活动路由器的角色,开始转发数据包。
9PxwW#iInZ
&[PNz8B1| 4)HRSP preempt技术
6F2E)E,?B-D.}O HRSP技术能够保证优先级高的路由器失效恢复后总能处于活动状态。
K'mnEIV;Zm'L C|
9i8A AW3a/j 活动路由器失效后,优先级最高的备用路由器处于活动状态,R Pe$g]o ]
如果没有使用preempt技术,
z:o OPu-la+rN 则当活动路由器恢复后,只能处于备用状态,
r9M8O v"go 先前的备用服务器代替其角色处于活动状态,直到下一次选举发生。
'RpO(z-t%?%E
v3ST7b F I5f 5)HRSP track技术
-l*f(tNCH,L4N 如果所监测的端口出现故障,则也可以进行路由器的切换。4l~1~ II.m-k4[dy{"z
c @ ohhSZ
如果主路由器上有多条线路被跟踪,mtVL\.Mo
则当一条线路出现故障时,就会切换到备份路由器上,即使其他都线路正常工作,
1oqoFq$B'E 直到主路由器该线路正常工作,才能重新切换回来。
(^'cB G*k
}4y+t'cG#N{n 该功能在实际应用中完全可以由线路备份功能实现。
:O B)`a!P!Q CY w$G/y,Y7}.n^
6)HRSP配置
];n(Oxyk$f routerA#conf t
pV2Y `S b`f0\ routerA(config)#int e0
-Y} I#t|sQ kf&u routerA(config)#standby ip 172.16.1.254
'F"~Sa%R*F2H:q9y!gaBG routerA(config)#standby preempt*P%dWars;M
routerA(config)#standby track serial 0
6BH3Uy4C routerA(config)#exitih!a9d lXVA)N
routerA# C~ ]*M#Fcq8m

|$@"Q`#s'rY
ZNj Z,]]~ 二、SLB介绍及相关配置
-w4T aa0Q_Tm z(YU2F0VZG*SBS
1)SLB介绍(_ h(Ex$U+[
全称Server Load Balancing,可以看作HSRP的扩展,实现多个服务器之间的复杂均衡。?`E7}wJK
\&K9{h:fpz9H-VDNG
虚拟服务器代表的是多个真实服务器的群集,i`#q5S|4|8Y[
客户端向虚拟服务器发起连接时,通过某种复杂均衡算法,转发到某真实服务器。
"@^)QRH7^[V\ X$fV(kP"QU
负载均衡算法有两种:
|w&oGS*}PV Weighted round robin(WRR)和Weighted least connections(WLC),
7^ wr(O9Q P(rb WRR使用加权轮询算法分配连接,WLC通过一定的权值,将下一个连接分配给活动连接数少的服务器。
Y oU,J9hw
n9k K8t/fic6e 2)SLB配置,ST5[2z}
配置分为两部分,0mGz_"MeD$`6~
第一部分是使用slb serverfarm serverfarm_name命令定义SLB选项,包括指定真实服务器地址;
;XV}+I}t]&GA A\ 第二部分是使用ip slb vserver virtual_server-name来指定虚拟服务器地址。
:n bJ1W X#Da :{r~ }c%P0b5m
router#config tR8|&M`1RI'E
router(config)#ip slb serverfarm emailN6O-jJRte2J
router(config-slb-sfarm)#real 192.168.1.11}YA3i/?9^F
router(config-slb-sfarm)#inserviceYXG N~vJ
router(config-slb-sfarm)#real 192.168.1.2'Wm4sy!v8Z*eKaBu
router(config-slb-sfarm)#inservice:W$r`V5U/I"Z F
router(config-slb-sfarm)#exit
.~,R5Suy router(config)#ip slb vserver vserver_one%K*l~8}VY&y*w i
router(config-slb-vserver)#vitual 10.1.1.1 tcp 255OGi1O$fh`
router(config-slb-vserver)#serverfarm emailg4cl[LY
router(config-slb-vserver)#inserviceGJF3s)N6KFu
router(config-slb-vserver)#exit
w3b7B]6U o7n L router(config)#exit
\'v"u#a1E} router#s#\v-O4un Y

#p'Q#O7c$O6u]? 三、VRRP介绍
~FGoiI*n V
8hP LZw0y*p1s 全称Virtual Router Redundancy Protocol,和HSRP类似,
1E8] D!n-f4H 只是HSRP是Cisco专有的协议,只应用在Cisco设备上。&Gd5h!mP Y8L'~
VRRP符合Internet标准,定义见RFC2338,是不同厂家之间共同遵循的标准。&oPW2X#NgX7S
VRRP负责从VRRP路由器组中选择一个作为Master,
1eaUVol1WJwe 然后客户端使用虚拟路由器地址作为其默认网关。
8HW;bO D_(w
N7@S.{G)o8i(t
D-ma!m pqaQ XJ 四、GLBP介绍及配置
,I(`+n\?y t9E"C#yeQ:K$C]
1)GLBP介绍#j*z8Q5Q^^m
全称Gateway Load Banancing Protocol,
x9[/_ av;_C 和HRSP、VRRP不同的是,GLBP不仅提供冗余网关,还在各网关之间提供负载均衡,
?1b:r r$k8|:b#}e 而HRSP、VRRP都必须选定一个活动路由器,而备用路由器则处于闲置状态。
,M8O/`/bER^ u6~Rg#A1i0m%d
和HRSP不同的是,GLBP可以绑定多个MAC地址到虚拟IP,rU)L$Kj*o:k
从而允许客户端选择不同的路由器作为其默认网关,而网关地址仍使用相同的虚拟IP,*P6Rq.J6?)y\
从而实现一定的冗余。X$g6s~;Cm"n3S.G

#X!Z x5fE;u 2)活动网关选举|:Z$C:_PQ ? ZG
使用类似于HRSP的机制选举活动网关,5H3Q5[%BS0_W.y$S
优先级最高的路由器成为活动落由器,称作Acitve Virtual Gateway,其他非AVG提供冗余。(hs.|B] rF!Q2JX9n

/rxoX`.Q@ 某路由器被推举为AVG后,和HRSP不同的工作开始了,AVG分配虚拟的MAC地址给其他GLBP组成员。
)E.^ ^ Kob 所有的GLBP组中的路由器都转发包,
r\'r{? 但是各路由器只负责转发与自己的虚拟MAC地址的相关的数据包。
8LD3i;c$l~.PuP q*OxQ ~rGJCIz
3)地址分配C8QYY a y3gyg
每个GLBP组中最多有4个虚拟MAC地址,非AVG路由器有AVG按序分配虚拟MAC地址,
+z-oq7Yp.gf 非AVG也被称作Active Virtual Forwarder(AVF)。.\)v$c0Va3Y
-hM0_ h+m4_Q7dfv
AVF分为两类:Primary Virtual Forwarder和Secondary Virtual Forwarder。
pi'TDy 直接由AVG分配虚拟MAC地址的路由器被称作Primary Virtual Forwarder,
e"tLo9Kt'Vn 后续不知道AVG真实IP地址的组成员,只能使用hellos包来识别其身份,然后被分配虚拟MAC地址,此类被称作Secondary Virtual Forwarder。
_ h*SNK yeG ,B]2B'P`!i'`!Ny1]
4)GLBP配置
xs\#b] `e_ 如果AVG失效,则推举就会发生,决定哪个AVF替代AVG来分配MAC地址,推举机制依赖于优先级。-a;hX/lAP0o"m
最多可以配置1024个GLBP组,不同的用户组可以配置成使用不同的组AVG来作为其网关。
WV+l y;? w5L`:e 2JX,~caDC;eYd
router#conf t
P3oKr2bh MG6zPn router(config)#int fastethernet 0/0
"e4x{8Gsp\ Y router(config-if)#ip address 10.1.1.1
| MPvXq/n q&}8ZCd router(config-if)#glbp 99 ip 10.1.1.2545Oc?n NFA&dxd
router(config-if)#glbp 99 priority 105
P-irOZX} router(config-if)#glbp 99 preempt delay 10
1vk(ylhzN(i+\ o router(config-if)#glbp 99 weighting track int s0 10
R`u G(cfk router(config-if)#exit
Et5o6L8hp2U#z!M router(config)#^Z