理解并实施:GLBP(ccna200-120新增考点)


GLBPGateway Load Balancing Protocol)网关负载均衡协议,它是属于思科私有的,比HSRP和VRRP更高级的一种既能冗余又能实现负载均衡的网络协议,简单的来讲就是自动选择和同时使用多个可用的网关路由器,而且发生故障的时候可以切换到冗余路径,可以更充分的使用资源。而这一点HSRP和VRRP是做不到的,如果要在HSRP和VRRP支持负载均衡,那么就必须配置和管理多个热容组,关于这一点前面已经描述过。但是GLBP则不需要。但是GLBP也有限制,它最多只能支持4台路由器协同工作。


要成功的理解GLBP就必须清晰如下的知识目标:

üGLBP的虚拟MAC形成与分配方式

üGLBP的角色

üGLBP的负载均衡方式


理解GLBP的虚拟MAC形成与分配方式

在HSRP和VRRP中的虚拟IP对应的是同一个虚拟MAC,而GLBP中为了实现自动的负载均衡,它的虚拟IP将对应多个不同的虚拟MAC,如图9.133所示,如果实现自动的负载均衡时A主机通过R1转发数据,那么,A主机将得到192.168.2.100对应的MAC为0000.0000.0001;B主机通过R2转发数据,那么,B主机将得到192.168.2.100对应的MAC为0000.0000.0002;当然,这两个MAC都是虚拟的。现在需要进一步思考的问题是:既然GLBP针对不同的转发器生成不同的虚拟MAC,那么通信过程中,ARP的请求与发送将是怎么一个情况,由谁使用这些不同的虚拟MAC做ARP的应答?

理解并实施:GLBP(ccna200-120新增考点)_第1张图片

理解GLBP的角色

在GLBP中存在两种角色,一种叫虚拟路由器(activevirtual gateway)又名AVG; 活动虚拟转发器(activevirtual forworders)又名AVF;如图9.134所示,AVG负责决定GLBP组中由谁来转发流量,以及统一的对客户端请求192.168.2.100这个虚拟IP的MAC做ARP应答,它怎么决定谁来转发流量,怎么统一为客户端作ARP的应答?这两个过程是相辅相成有所关联的。


理解并实施:GLBP(ccna200-120新增考点)_第2张图片

具体的讲:AVG负责决定GLBP组中由谁来转发流量,是由GLBP的负载均衡方式所决定,后面会对不同的负载均衡方式做描述,当AVG决定由谁来转发流量时,这台被用于流量转发的网关就叫活动转发器,也就是AVF。当然客户端只能看到一个默认网关IP,也就是GLBP的虚拟IP,在本实例中是192.168.2.100,那么客户端将请求192.168.2.100所对应的MAC,此时AVG决定由某台AVF转发流量后,会使用该AVF的虚拟MAC来完成ARP响应,注意客户端的ARP请求,将由AVG来统一的做响应,并不是由转发流量的AVF做响应,所以AVG更想是GLBP组中的管家。通常在一个GLBP的组中,会有一台路由器既是AVG同时又是AVF,而组中的其它的路由器都将是AVF。既然AVG如此重要,那么GLBP组中谁会是AVG?


谁会是GLBP组中的AVG网关?

具备GLBP高优先级的路由器会成为AVG,默认情况下GLBP的优先级都是100;如果优先级相同,那么物理接口上具备高IP的路由器将成为AVG,不难看出这个选举过程与HSRP相同,所以合理的规划GLBP的优先级非常重要。


理解GLBP的负载均衡方式

在一个GLBP组中自动实现流量的负载均衡,这是GLBP的最大特点,HSRP和VRRP是无法做到的,那么GLBP将提供哪些负载均衡的方案?

基于主机的负载均衡(host-dependent):该方案将始终让某台主机使用相同的AVF来转发流量,它是依靠判断信源主机的MAC地址来判断的,只源MAC地址相同,那么就表示该流量出自同一台主机,就始终使用同一台AVF和流量转发,如果是另一主机,那么将使用另一AVF做流量转发。

循环负载均衡(round-robin):依次轮流的使用GLBP中各个AVF来做流量转发,这是GLBP默认的负载均衡方式。

基于权值的负载均衡(weighted):基于AVF通告的权值来决定谁转发,权值越高,被选为转发器的可能就越大。


配置不同负载均衡方式如下所示:

R1(config-if)#glbp 100 load-balancing ?

host-dependent  Load balance equally, source MAC determinesforwarder choice

round-robin    Load balance equally using each forwarderin turn

weighted       Load balance in proportion to forwarderweighting



演示:GLBP的实施


演示目标:GLBP的实施并分析AVG的管理数据帧。

演示环境:图9.135所示。


理解并实施:GLBP(ccna200-120新增考点)_第3张图片

演示背景:在路由器R1和R2上配置GLBP来实现流量负载均衡和故障冗余。

演示步骤:


第一步:在路由器R1R2上配置GLBP功能,具体配置如下所示:


路由器R1的GLBP配置

R1(config)#interfacee1/0

R1(config-if)#glbp100 ip 192.168.2.100  *配置GLBP100的虚拟IP

R1(config-if)#glbp100 priority 120      *为该接口配置GLBP100的优先级

R1(config-if)#glbp100 preempt         *配置GLBPAVG角色的抢占功能


路由器R2的GLBP配置

R2(config)#interfacee1/0

R2(config-if)#glbp100 ip 192.168.2.100

R2(config-if)#glbp 100 priority 110  

R2(config-if)#glbp 100 preempt



第二步:当完成上述配置后,可以通过在路由器R1上使用指令show glbpe1/0查看该接口的如图9.136所示,可以清晰的看出GLBP组100的虚拟IP为192.168.2.100;负载均衡方式为循环负载均衡(round-robin)即依次轮流的使用GLBP中各个AVF来做流量转发,这是GLBP默认的负载均衡方式,同时还可以清晰的看到不同AVF的虚拟MAC。


理解并实施:GLBP(ccna200-120新增考点)_第4张图片


第三步:在明确了GLBP当前的工作状态的情况下,分别在主机192.168.2.4和192.168.2.3上ping192.168.5.2,如果配置没有错误,两台主机应该成功的ping通192.168.5.2,然后在两台主机上分别使用ARP –a指令查看当前的ARP解析情况,如下图图9.137和图9.138所示,不难看出,同一个目标IP192.168.2.100分别对应了两个不同AVF的虚拟MAC,这意味着如果R1和R2状态都良好的情况下,GLBP将执行流量的负载均衡。


142132748.jpg


   然后再在192.168.2.4192.168.2.3的主机上分别跟踪到目标192.168.5.2的路由转发,如图9.139和9.140所示,确实通过了不同的AVF转发,执行了负载均衡。


理解并实施:GLBP(ccna200-120新增考点)_第5张图片


第四步:此时,如果成功捕获AVG路由器R1分别响应主机192.168.2.4192.168.2.3ARP应答数据帧如9.141所示,充分证明整个GLBP网络中的ARP应答主机是AVG路由器,换而言之,您可以这样理解:GLBP组中由谁来负载流量转发是被AVG所决定的。

理解并实施:GLBP(ccna200-120新增考点)_第6张图片