曾经在论坛上发的提问,现在做一下总结。
GLBP的介绍:
全称Gateway Load Banancing Protocol, 中文叫网关负载均衡协议。它以什么样的方式来做负载均衡呢?简单地说,我们主机设置的网关地址是不变的,但是我们每次用ARP去请求网关地址的MAC地址时却可能不一样的。
因此,所谓的负载就是说,同样的网关IP地址,但却是不同样的MAC地址。GLBP是怎么样来实现这种方式的呢?有三种方式,以下会做一下介绍。
总结之前,我们先做个实验:
以下是拓扑,附上简单的配置
R2 R4 R5 R6模仿PC机。默认网关作如下配置:
#ip default-gateway 192.168.1.100
R3:interface loopback 0
#ip address 3.3.3.3 255.255.255.0
R0:
interface Ethernet1/0
ip address 192.168.1.1 255.255.255.0
half-duplex
glbp 11 ip 192.168.1.100
glbp 11 priority 200
glbp 11 preempt
!
R1:
interface Ethernet1/0
ip address 192.168.1.2 255.255.255.0
half-duplex
glbp 11 ip 192.168.1.100
glbp 11 priority 180
glbp 11 preempt 实现 抢占功能。即当AVG故障恢复后,是否抢占AVG的位置。
!
下面详细地说一下网关负载的三种方式,我们在命令行下可以看到如下
switch(config-if)#glbp group load-balancing [round-robin | weighted | host-dependent ]
round-robin 轮询:默认情况下GLBP是轮询的方式的。意思就是说当发送数据时,作如下规则:
R4---》R0
R2---》R1
R5---》R0
R6---》R1
传送数据时在网关之间轮流。实现效果如下:
接下来是weigthed ,中文可称为权重
权重是我的重点研究对象。我们先来看一下实验
R0#glbp 11 load-balancing weigthed
R0#glbp 11 weigthing 200
R1#glbp 11 load-balancing weigthed
R1#glbp 11 weigthing 100
以下是实现效果图:
R0 的权重值是200,意味着大多数的流量将选用R0作为自己的网关,而少数流量选用R1做为自己的网关。大部分流量都通过R0转发。这是权重的意义。
权重还可以这样做设定:
R0#track 11 interface s1/0 line-protocols
R0#interface e1/0
R0#glbp 11 weigthing track 11 decrement 99
意思是当检测到s1/0口出现故障时,权重值将减少到某个值。
第三种:
switch(config-if)#glbp group load-balancing host-dependent
这一种不用怎么说了,主要是特定的主机针对特定的网关。
switch(config-if)#glbp group weighting 100 lower 90 upper 95
switch(config-if)#glbp group weighting track 1 decrement 10
switch(config)#track 1 interface f0/0 line-protocol
意思是,当track到f0/0接口down了后,将weighting降低10,当低于lower 90时,停止转发,当高于upper 95,开始恢复转发.