GLBP网关负载均衡协议原理-ielab

2024-01-25 13:08

本文主要是介绍GLBP网关负载均衡协议原理-ielab,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GLBP全称Gateway Load Balancing Protocol(网关负载均衡协议),是思科的专有协议。GLBP不仅提供冗余网关,还在各网关之间提供负载均衡。他弥补了现有的冗余路由器协议的局限性, 设计GLBP的目的是自动选择和同时使用多个可用的网关。和HSRP、VRRP不同的是,GLBP可充分利用资源,同时无需配置多个组和管理多个默认网关配置。

GLBP组中最多可以有4台路由器作为IP默认网关。这些网关被称为AVF(Active Virtual Forwarder,活跃虚拟转发器)。GLBP自动管理虚拟MAC地址的分配、决定谁负责处理转发工作(这是区别于HSRP和VRRP的关键,在GLBP中有一个虚拟IP,但对应多个虚拟MAC)。

GLBP提供了以下功能:

GLBP AVG(活跃虚拟网关,Active Virtual Gateway):一个GLBP组中的成员会选举出一个网关,成为该组的AVG。其他组成员作为AVG的备用网关,以防AVG发生故障。AVG会为GLBP组中的每个成员分配一个虚拟MAC地址。

GLBP AVF(活跃虚拟转发者,Active Virtual Forwarder):AVG会为网关分配虚拟MAC地址,每个网关都有责任转发那些发到这个虚拟MAC地址的数据包。这些网关是虚拟MAC地址的AVF.

GLBP 通信(Communication):GLBP成员之间通过每3秒钟向组播地址224.0.0.102,UDP3222端口发送Hello数据包,来进行通信。

活动网关选举:

使用类似于HSRP的机制选举活动网关,
选举比较

**1.优先级(1-255 默认100)

2.ip地址**

优先级最高的路由器成为活动路由器,若优先级相同则IP地址最高的路由器成为活动路由器。称作Active Virtual Gateway,其他非AVG提供冗余。

某路由器被推举为AVG后,和HSRP不同的工作开始了,AVG分配虚拟的MAC地址给其他GLBP组成员。

所有的GLBP组中的路由器都转发包,但是各路由器只负责转发与自己的虚拟MAC地址的相关的数据包。

GLBP允许进行自动选择,并同时使用组中的所有可用网关。GLBP组中的成员会选举出一个网关来担任该组的AVG。其他组成员则为AVG提供备份,以防AVG出现故障。AVG会为GLBP组中的每个成员分配一个虚拟MAC地址。所有路由器都会作为AVF来发送到虚拟MAC地址的数据帧提供转发。当客户端发送ARP请求来获得默认网关的地址时,AVG会在ARP响应中发送这些虚拟MAC地址。一个GLBP组中最多可以由4个组成员。做法是在为用户提供单一IP的同时,每台路由器都为用户提供不同的MAC地址,这样,用户发到组IP的数据包就成功地被分担各个路由器上了。

GLBP支持使用多台默认路由器同时为相同过的默认网关IP地址提供流量的负载分担,在这种环境中,GLBP支持下列负载分担模式。

GLBP协议支持三种负载均衡方式:

第一:根据不同主机的源mac地址

第二:根据arp请求轮询

第三:根据路由器的权重分配,权重越高被分配的可能性越大

bluefox(config-subif)#GLbp 1 load-balancing ?
  host-dependent Load balance equally, source MAC determines forwarder choice
  round-robin Load balance equally using each forwarder in turn
  weighted Load balance in proportion to forwarder weighting
  
主机相关负载分担算法:只要某个虚拟MAC地址还在GLBP组中参与流量转发,就确保某主机总是使用这个虚拟MAC地址进行通信。

循环负载分担算法:当客户端发送ARP请求来解析默认网关的MAC地址时,每个客户端接收到的ARP响应中包含的MAC地址,是循环算法中下一个可用路由器的MAC地址。所有路由器的MAC地址会被按顺序放入地址解析响应中,作为默认网关IP地址对应的MAC地址返回给客户端。

加权负载分担算法:被定向到一台路由器的负载量取决于该路由器所通告的加权值。
GLBP的加权决定了一台路由器是否充当虚拟转发者的角色。管理员可以设置初始加权值,并且可以指定门限值。管理员可以配置GLBP来追踪接口状态并设置一个减量值,当被追踪的接口关闭时,以这个减量值来降低加权值。当GLBP路由器的加权下降到低于一个特定的值时,路由器就不会再成为活跃虚拟转发者。而当加权上升到高于一个特定的值时,路由器可以恢复其活跃虚拟转发者的角色。

GLBP的加权机制与HSRP或VRRP不同。HSRP和VRRP中只定义了一个门限值。如果路由器优先级下降到这个门限值以下,路由器就会获得活跃状态。GLBP中定义了两个门限值:当路由器加权减少时使用一个较低的门限值,当路由器加权增加时使用一个较高的门限值。这个双门限值机制比单门限值系统更为灵活。

这篇关于GLBP网关负载均衡协议原理-ielab的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643357

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建