网关负载平衡协议(GLBP)是第一跳冗余协议(FHRP)的一种,它与其他第一跳冗余协议一样提供冗余,也提供负载平衡。这是一个Cisco专有协议,可以执行这两种功能。它使用单个虚拟IP地址和多个虚拟Mac地址在多个路由器上提供负载平衡。
GLBP条款:
- 虚拟IP地址 :IP地址被分配为本地子网的虚拟IP地址,该子网被配置为所有本地主机的默认网关。
- 实际虚拟网关(AVG) :它是在单个组中运行GLBP的路由器之一,负责为组中的每个成员分配虚拟Mac地址,并响应来自设备的ARP请求。AVG具有组中最高的优先级值或IP地址。
- 实际虚拟转发器(AVF) :这些路由器包括单个GLBP组中的AVG。在AVG为任务分配数据后,它们实际上负责转发数据。如果AVG下降,其中一个AVF可以成为AVG。
- 先发制人 :这是一种状态,其中一个AVF将成为AVG路由器(当AVG路由器关闭时)。此外,当AVG路由器再次出现时,它将成为AVG路由器,因为它的优先级仍然更高(假定)。
- 目标跟踪 :GLBP使用加权方案来确定GLBP组中每个路由器的转发容量。GLBP跟踪接口并调整其权重,即如果被跟踪的接口下降,则它会降低一定的值(根据配置)。
GLBP概念:
实际虚拟网关(AVG)向同一组中运行GLBP的所有其他路由器提供虚拟Mac地址。剩下的路由器是实际的虚拟转发器(AVF)。当ARP请求来自子网设备以了解虚拟IP地址的Mac地址时,其中一个虚拟Mac地址由AVG提供。AVG将使用循环算法或其他已应用的算法提供虚拟Mac地址。通过这种方式,所有运行GLBP的设备都被用来转发流量。
GLBP虚拟Mac地址分配 :当子网设备(主机)想要发送流量时,它会通过发送ARP请求来请求虚拟IP(网关)的Mac地址。为了响应ARP请求,AVG将提供一个虚拟Mac地址(由AVG提供给AVF)。
虚拟网关冗余 :为了检测网关故障,GLBP成员通过 你好 消息,每3秒发送到多播地址224.0.0.102。如果AVG失败,则具有最高优先级的AVF将成为AVG,即负责提供AVF的Mac地址。
虚拟转发器冗余 :就像在美国一样 HSRP ,如果其中一个AVF失败,则同一GLBP组中的另一个AVF将负责转发数据包。GLBP组中最多可以有4个路由器。
GLBP负载平衡:
GLBP使用3种算法进行负载平衡——
- 循环赛 :AVG将串行分配虚拟Mac地址,就像第一个虚拟Mac地址分配给AVF1,然后分配给AVF2等。
- 依赖于宿主 :如果特定主机每次都需要特定的虚拟Mac地址,则AVG会将特定的AVF分配给主机。
- 加权的 :负载将根据要求分配,即按比例分配虚拟Mac地址。如果我们想让一些AVF处理比其他AVF更多的流量,那么改变权重。
配置: 在给定的拓扑结构中,有两个名为R1和R2的路由器,其中R1通过fa0/0连接,ip地址为10.1.1.1/24,R2通过fa0/0连接,ip地址为10.1.1.2/24。
将IP地址分配给路由器R1。
r1(config)# int fa0/0 r1(config-if)# ip add 10.1.1.1 255.255.255.0
为路由器R2分配IP地址。
r2(config)# int fa0/0 r2(config-if)# ip address 10.1.1.2 255.255.255.0
现在,配置虚拟IP、GLBP优先级、抢占和负载平衡类型。
r1(config-if)# glbp 1 ip 10.1.1.100 r1(config-if)# glbp 1 priority 120 r1(config-if)# glbp 1 preempt r1(config-if)# glbp 1 load-balancing round-robin
在这里,从本地子网和优先级将虚拟IP分配为10.1.1.100(分配优先级更高的R1,因为我们希望此路由器成为AVG)。此外,还启用了抢占和循环式负载平衡。现在,为r2配置相同的GLBP。
r2(config-if)# glbp 1 ip 10.1.1.100 r2(config-if)# glbp 1 priority 100 r2(config-if)# glbp 1 preempt r2(config-if)# glbp 1 load-balancing round-robin
注: 这里,交换机位于AVG和AVF之间,那么当AVG下降时,交换机将如何在另一个端口上学习相同的Mac地址?当AVG下降时,新选出的AVG将产生一个免费的ARP来刷新交换机的CAM表和主机ARP缓存。
优势:
- GLBP支持明文和MD5密码认证。
- 它支持多达1024个虚拟路由器(GLBP组)。
- 允许使用单个虚拟IP和多个虚拟Mac地址进行负载共享。