曾经在论坛上发的提问,现在做一下总结。

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,开始恢复转发.