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

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja