网关冗余和负载平衡简介

为了减少交换机故障的影响,交换上有STP技术。然而作为网关的路由器出故障了,又有什么办法?HSRP和VRRP是最常用的网关冗余技术。HSRP和VRRP类似,由多个路由器共同组成一个组,虚拟一个网关,其中的一台路由器处于活动状态,当它出故障时,由备份路由器接替它的工作,从而实现对用户透明的切换。然而我们希望在冗余的同时,能同时实现负载平衡,以充分利用设备的能力,GLBP同时提供了冗余和负载平衡的能力。本章将介绍它们的具体配置。

1 网关冗余和负载平衡简介

1.1 HSRP

HSRP是Cisco的专有协议

HSRP(Hot Standby Router Protocol)把多台路由器组成一个”热备份组”,形成一个虚拟路由器。这个组内只有一个路由器是活动的(Active),并由它来转发数据包,如果活动路由器发生了故障,备份路由器将成为活动路由器。从网络内的主机来看,网关并没有改变。

HSRP路由器利用Hello包来互相监听各自的存在。当路由器长时间没有接收到Hello包时,就认为活动路由器故障了,备份路由器就会成为活动路由器。HSRP协议利用优先级决定哪个路由器成为活动路由器。如果一个路由器的优先级比其他路由器的优先级高,则该路由器成为活动路由器。路由器的默认优先级是100.在一个组中,最多有一个活动路由器和一个备份路由器。

HSRP路由器发送的多播消息有以下3种。

  • Hello;Hello消息通知其他路由器发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3 s发送一个Hello消息;
  • Coup;当一个备用路由器变为一个活动路由器时,发送一个Coup消息;
  • Resign;当活动路由器要宕机或者当有优先级更高的路由器发送Hello消息时,主动发送一个Resign消息。

HSRP路由器有以下6种状态。

  • Initial;HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或接口刚刚启动时进入该状态;

  • Learn;路由器已经得到了虚拟IP地址,但是它既不是活动路由器,也不是备份路由器,它一直监听从活动路由器和备份路由器发来的Hello报文;

  • Listen;路由器正在监听Hello消息;

  • Speak;在该状态下,路由器定期发送Hello报文,并且积极参加活动路由器或备份路由器的竞选;

  • Standby;当活动路由器失效时路由器准备接管数据传输功能;

  • Active;路由器执行数据传输功能。

1.2 VRRP

VRRP的工作原理和HSRP非常类似,不过VRRP是国际上的标准,允许在不同厂商的设备之间运行。VRRP中虚拟网关的地址可以和接口上的地址相同,VRRP中接口只有3个状态:初始状态(Initialize)、主状态(Master)和备份状态(Backup)。VRRP只有一种报文。

1.3 GLBP

HSSP和VRRP能实现网关冗余,然而,如果要实现负载平衡,需要创建多个组,并让客户端指向不同的网关。GLBP(Gateway Load Balance Protocol)也是Cisco的专有协议,不仅提供冗余网关功能,还在各网关之间提供负载均衡。GLBP也是由多个路由器组成一个组,虚拟一个网关出来。GLBP选举出一个AVG(Avtive Virtual Gateway),AVG不是负责转发数据的。AVG分配最多4个MAC地址给一个虚拟网关,并在计算机进行ARP请求时,用不同的MAC进行响应,这样计算机实际就把数据发送给不同的路由器了,从而实现负载平衡。在GLBP中,真正负责转发数据的是AVF(Avtive Virtual Forawarder),GLBP会控制GLBP组中哪个路由器是哪个MAC地址的活动路由器。

AVG的选举和HRSP中活动路由器的选举非常类似,优先级最高的路由器成为AVG,次之的为Abckup AVG,其余的为监听状态。一个GLBP组只能有一个AVG和一个Backup AVG,主AVG失败,备份AVG顶上。一台路由器可以同时是AVG和AVF。AVF是某些MAC的活动路由器,也就是说,如果计算机把数据发往这个MAC,它将接收。当某一MAC的活动路由器有故障时,其他AVF将成为这一MAC的新的活动路由器,从而实现冗余功能GLBP的负载平衡策略可以根据不同主机、简单地轮询,或者根据路由器的权重平衡,默认是轮询方式。

2 实验1:HSRP

1.实验目的

通过本实验,读者可以掌握如下技能:

  • 理解HSRP的工作原理;
  • 掌握HSRP的配置

2.实验拓扑

实验拓扑图如图16-1所示。

在这里插入图片描述

图16-1 实验1和实验2拓扑图

3.实验步骤

(1)步骤1:配置IP地址和路由协议等
R1(config)#interface GigabitEthernet0/0
R1(config-if)#ip address 192.168.13.1 255.255.255.0
R1(config)#interface Serial0/0/0
R1(config-if)#ip address 192.168.12.1 255.255.255.0
R1(config)#router rip
R1(config-router)#network 192.168.12.0
R1(config-router)#network 192.168.13.0
R1(config-router)#passive-interface GigabitEthernet0/0
//之所以把g0/0接口设为被接口,是为了防止从该接口发送RIP信息给R3



R2(config)#interface GigabitEthernet0/0
R2(config-if)#ip address 192.168.20.2 255.255.255.0
R2(config)#interface Serial0/0/0
R2(config-if)#clock rate 128000
R2(config-if)#ip address 192.168.12.2 255.255.255.0
R2(config)#interface Serial0/0/1
R2(config-if)#clock rate 128000
R2(config-if)#ip address 192.168.23.2 255.255.255.0
R2(config)#router rip
R2(config-router)#network 192.168.12.0
R2(config-router)#network 192.168.13.0
R2(config-router)#network 192.168.20.0
R2(config-router)#passive-interface GigabitEthernet0/0



R3(config)#interface GigabitEthernet0/0
R3(config-if)#ip address 192.168.13.3 255.255.255.0
R3(config)#interface Serial0/0/1
R3(config-if)#ip address 192.168.23.3 255.255.255.0
R3(config)#router rip
R3(config-router)#network 192.168.23.0
R3(config-router)#network 192.168.13.0
R3(config-router)#passive-interface GigabitEthernet0/0


(2)步骤2:配置HSRP
R1(config)#interface g0/0
R1(config-if)#standby 1 ip 192.168.13.254//启用HSRP功能,并设置虚拟IP地址,1为Standby的组号。相同组号的路由器属于同一个HSRP组,所有属于同一个HSRP组的路由器的虚拟地址必须一致
R1(config-if)#standby 1 priority 120//配置HSRP的优先级,如果不设置该项,默认优先级为100 ,该值越大,抢占为活动路由器的优先权越高
R1(config-if)#standby 1 preempt//该设置允许该路由器在优先级是最高时成为活动路由器。如果不设置,即使该路由器权值再,也不会成为活动路由器
R1(config-if)#standby 1 timer 3 10//其中3为Hello Time,表示路由器每间隔多长时间发送Hello信息。10为Hold Time,表示在多长时间内同组的其他路由器没有收到活动路由器的信息,则认为活动路由器出故障了。该设置的默认值分别为3 s和10 s 。如果要更改默认值,所有同HSRP组的路由器的该项设置必须一致
R1(config-if)#standby 1 authentication md5 key-string cisco//以上是配置认证密码,防止非法设备加入到HSRP组中,同一个组的密码必须一致


R2(config)#interface g0/0
R2(config-if)#standby 1 ip 192.168.13.254
R2(config-if)#standby 1 preempt
R2(config-if)#standby 1 timer 3 10
R2(config-if)#standby 1 authentication md5 key-string cisco
//R2上我们没有配置优先级,默认为100

4.检查测试HSRP

R1#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri  P State   Active   Standby     Virtual IP
 Gi0/0  1  120 P Active     local   192.168.13.3   192.168.13.254
//以上表明R1就是活动路由器,备份路由器为192.168.13.3 


R3#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri  P State   Active   Standby     Virtual IP
 Gi0/0  1  100 P Standby 192.168.13.1 local     192.168.13.254
//以上表明R3是备份路由器,活动路由器为192.168.13.1 
在PC1上配置IP地址192.168.13.100/24,网关指向192.168.13.254;在PC3上配置IP地址192.168.20.100/24,网关指向192.168.20.254.注意去掉另一网卡的网关。
在PC1上连续ping PC3上,在R1上关闭g0/0接口观察PC1上ping 的结果。如下:

C;>ping –t 192.168.20.100
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254
Request timed out.
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254
Reply from 192.168.20.100; bytes=32 time=11ms TTL=254
Reply from 192.168.20.100; bytes=32 time=9ms TTL=254

//以上可以看到,R1故障时,R3很快就替代了R1,通信只受到短暂的影响

 

 

R3#show standby brief
P indicates configured to preempt.
|
Interface Grp Pri  P State   Active   Standby     Virtual IP
 Gi0/0  1  100 P Active local    unknown    192.168.13.254
以上表明R3成为活动路由器

配置端口跟踪

​ 在图16-1中,按照以上步骤的配置,如果R1的s0/0/0接口出现问题,R1将没有到达PC3所在网段的路由。然而,R1和R3之间的以太网仍然没有问题,HSRP的Hello包正常发送和接收。因此,R1仍然是虚拟网关192.168.13.254的活动路由器,PC1数据会发送给R1,这样会造成PC1无法ping 通R3.可以配置端口跟踪解决这个问题,端口跟踪使得R1在发现s0/0/0上链路出现问题后,把自己的优先级(设为120)减去一个数字(如30),成为了90 。由于R3的优先级为默认值100,R3就成为活动路由器。配置如下:

R1(config)#int g0/0
R1(config-ig)#standby 1 track s0/0/0 30 //以上表明跟踪的是s0/0/0接口,如果该接口出故障了,优先级降低30.降低的值应该选择合适的值,使得其他路由器能成为活动路由器。按照步骤3测试HSRP的端口跟踪是否生效

配置多个HSRP组

之前的步骤已经虚拟了192.168.13.254网关,对于这个网关只能有一个活动路由器,于

是活动路由器将承担全部的数据流量。可以再创建一个HSRP组,虚拟出另一个网关192.168.13.253,这时,R3是活动路由器,让一部分计算机指向这个网关,这样就能做到负载平衡。以下是创建2个HSRP给的完整配置。

在R1上:
interface GigabitEthernet0/0
standby 1 ip 192.168.13.254
standby 1 priority 120
standby 1 preempt
standby 1 authentication md5 key-string cisco
standby 1 track Serial0/0/0 30

standby 2 ip 192.168.13.253
standby 2 preempt
standby 2 authentication md5 key-string cisco

在R3上:

interface GigabitEthernet0/0
standby 1 ip 192.168.13.254
standby 1 preempt
standby 1 authentication md5 key-string cisco

standby 2 ip 192.168.13.253
standby 2 priority 120
standby 2 preempt
standby 2 authentication md5 key-string cisco
standby 2 track Serial0/0/0 30

【技术要点】

我们这里是创建了两个HSRP组,第一个组的IP为192.168.13.254,活动路由器为R1,一部分计算机的网关指向192.168.13.254 。第二个组的IP为192.168.13.253,活动路由器为R2,另一部分计算机的网关指向192.168.13.253 。这样,如果网络全部正常时,一部分数据是R1转发的,另一部分数据是R2转发的,实现了负载平衡。如果一个路由器出现问题,则另一个路由器就成为两个HSRP组的路由器,承担全部的数据转发功能。通过这种方式实现负载平衡,需要计算机在设置网关时有所不同,如果计算机的IP是DHCP分配的,就不太方便了。

【技术要点】

HSRP实际上在局域网用得较多,由于局域网内大多使用3层交换机,所以,这时HSRP是在交换机上配置的。

实验2:VRRP

1.实验目的

通过本实验,读者可以掌握如下技能:

  • 理解VRRP的工作原理:
  • 掌握VRRP的配置

2.实验拓扑

实验拓扑图如图16-1所示。

在这里插入图片描述

图16-1 实验1和实验2拓扑图

3.实验步骤

VRRP的配置和HSRP的配置基本相同,这里不再重复其步骤。

(1)步骤1:配置IP地址和路由协议等

参见实验1.

(2)步骤2:配置多个VRRP组并跟踪接口
在R1上:
R1(config)#track 100 interface Serial0/0/0 line-protocol
R1(config)#interface GigabitEthernet0/0
R1(config-if)#vrrp 1 ip 192.168.13.254
R1(config-if)#vrrp 1 priority 120
R1(config-if)#vrrp 1 preempt
R1(config-if)#vrrp 1authentication md key-string cisco
R1(config-if)#vrrp 1 track 100 decrement 30
R1(config-if)#vrrp 2 ip 192.168.13.253
R1(config-if)#vrrp 2 preempt
R1(config-if)#vrrp 2 authentication md5 key-string cisco
//VRRP的端口跟踪和HSRP有些不同,需要在全局配置模式下,先定义跟踪目标,才配置VRRP中跟踪该目标,这里定义目标100是s0/0/0接口

在R3上:
R3(config)#track 100 interface Serial0/0/0 line-protocol
R3(config)#interface GigabitEthernet0/0
R3(config-if)#vrrp 1 ip 192.168.13.254
R3(config-if)#vrrp 1 preempt
R3(config-if)#vrrp 1authentication md key-string cisco
R3(config-if)#vrrp 2 ip 192.168.13.253
R3(config-if)#vrrp 2 priority 120
R3(config-if)#vrrp 2 preempt
R3(config-if)#vrrp 2 authentication md5 key-string cisco
R3(config-if)#vrrp 3 track 100 decrement 30

4.检查、测试VRRP

R1#show vrrp brief
Interface    Grp    Pri    Time    Own    Pre    State    Master addr    Group addr
Gi0/0        1     120    3531            Y     Master  192.168.13.1    192.168.13.254
Gi0/0        2     100    3609            Y     Backup  192.168.13.3    192.168.13.253
//以上表明R1是192.168.13.254虚拟网关的Master路由器,是192.168.13.253虚拟网关的Backup路由器

R3#show vrrp brief
Interface    Grp    Pri    Time    Own    Pre    State    Master addr    Group addr
Gi0/0        1     100    3609            Y     Backup  192.168.13.1    192.168.13.254
Gi0/0        2     120    3531            Y     Master  192.168.13.3    192.168.13.253

//以上表明R3是192.168.13.253虚拟网关的Master路由器,是192.168.13.254虚拟网关的Backup路由器

实验3:GLBP

1.实验目的

通过本实验,读者可以掌握如下技能:

  • 理解GLBP的工作原理;
  • 掌握GLBP的配置。

2.实验拓扑

实验拓扑图如图16-2所示。

在这里插入图片描述

图16-2 实验3拓扑

3.实验步

(1)步骤1:配置IP地址和路由协议等
R1(config)#interface GigabitEthernet0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config)#interface GigabitEthernet0/1
R1(config-if)#ip address 192.168.2.1 255.255.255.0
R1(config)#router rip
R1(config-router)#network 192.168.1.0
R1(config-router)#network 192.168.2.0
R1(config-router)#passive-interface GigabitEthernet0/0

R2(config)#interface GigabitEthernet0/0
R2(config-if)#ip address 192.168.1.2 255.255.255.0
R2(config)#interface GigabitEthernet0/1
R2(config-if)#ip address 192.168.2.2 255.255.255.0
R2(config)#router rip
R2(config-router)#network 192.168.1.0
R2(config-router)#network 192.168.2.0
R2(config-router)#passive-interface GigabitEthernet0/0


R3(config)#interface GigabitEthernet0/0
R3(config-if)#ip address 192.168.1.3 255.255.255.0
R3(config)#interface GigabitEthernet0/1
R3(config-if)#ip address 192.168.2.3 255.255.255.0
R3(config)#router rip
R3(config-router)#network 192.168.1.0
R3(config-router)#network 192.168.2.0
R3(config-router)#passive-interface GigabitEthernet0/0
R3(config)#interface Loopback0
R3(config-if)#ip address 4.4.4.4 255.0.0.0
R3(config)#interface GigabitEthernet0/1
R3(config-if)#ip address 192.168.2.4 255.255.255.0
R3(config)#router rip
R3(config-router)#network 4.0.0.0
R3(config-router)#network 192.168.2.0
R3(config-router)#passive-interface GigabitEthernet0/0

(2)步骤2:配置GLBP
R1(config)#interface GigabitEthernet0/0
R1(config-if)#glbp 1 ip 192.168.1.254
//和HSRP类似,创建GLBP组,虚拟网关的IP为192.168.1.254

R1(config-if)#glbp 1 priority 200//配置优先级,优先级高的路由器成为AVG,默认为100
R1(config=if)#glbp 1 preempt//配置AVG抢占,否则即使优先级再高,也不会成为AVG
R1(config-if)#glbp 1 authentication md5 key-0-string cisco//以上是配置认证,防止非法设备接入
R2(config)#interface GigabitEthernet0/0
R2(config-if)#glbp 1 ip 192.168.1.254
R2(config-if)#glbp 1 priority 180
R2(config=if)#glbp 1 preempt
R2(config-if)#glbp 1 authentication md5 key-0-string cisco
R3(config)#interface GigabitEthernet0/0
R3(config-if)#glbp 1 ip 192.168.1.254
R3(config-if)#glbp 1 priority 160
R3(config=if)#glbp 1 preempt
R3(config-if)#glbp 1 authentication md5 key-0-string cisco

4.查看GLBP信息

R1#show glbp
GigabitEthernet0/0 – Group 1
State is Active
  4 state changes, last state change 00;18;16
Virtual IP address is 192.168.1.254//以上是虚拟的IP地址
Hello time 3 sec,hold time 10 sec
 Next Hello sent in 1.896 secs
Redirect time 600 sec ,forwarder time-out 14400 sec
Authentication MD5,key-string”cisco”
Preemption enabled,min delay 0 sec
Active is local//以上说明R1是活动AVG
Standby is 192.168.1.2,priority 180 (expires in 9.892 sec)//以上说明R2是备份AVG
Priority 200(configured)
Weighting 100(default 100),thresholds;lower 1 ,upper 100
Load balancing;round-robin
Group members;
    0019.5535.b548(192.168.1.3)authenticated
    0019.5535.b828(192.168.1.1)local
    0019.5566.6320(192.168.1.2)authenticated
//以上显示GLBP组中的成员

There are 3 forwarders(1 active)Forwarder 1
  State is Listen
   4 state changes,last state change 00;17;08
MAC address is 0007.b400.0101(learnt)  //这是虚拟网关的其中一个MAC
Owner ID is 0019.5535.b548
Redirection enabled,599.984 sec remaining(maximum 600 sec)
Time to live;14399.984 sec (maximum 14400 sec)
Preemption enabled,min delay 30 sec
Active is 192.168.1.3(primary),weighting 100(expires in 9.984 sec)
Client selection count;1
Forwarder 2
State is Active
  3 state changes,last state change 00;18;28
MAC address is 0007.b400.0102(default) //以上说明R1是0007.b400.0102的活动路由器,也就是说,如果计算机把数据发往0007.b400.0102,将由R1接收数据,再进行转发
Owner ID is 0019.5535.b828
Redirection enabled
Preemption enabled,min delay 30 sec
Active is local,weighting 100
Client selection count;1
Forwarder 3
State is Listen
  2 state changes,last state change 00;18;06
MAC address is 0007.b400.0103(learnt)
Owner ID is 0019.5566.6320
Redirection enabled, 597.980 sec remaining(maximum 600 sec)
Time to live;14397.980 sec (maximum 14400 sec)
Preemption enabled,min delay 30 sec
Active is 192.168.1.2(primary),weighting 100(expires in 7.980 sec)

通过查看,可以知道
    1. R1;0007.b400.0102的活动路由器;
    2. R2;0007.b400.0103的活动路由器;
    3. R3;0007.b400.0101的活动路由器。	
    
(4)步骤4:检查GLBP的负载平衡功能
在PC1上配置IP地址,网关指向192.168.1.254,并进行如下操作。

C;>ping 4.4.4.4
C;>arp –a
Interface;192.168.1.100---0x10006
  Internet Address   Physical Address  Type
  192.168.1.254    00-07-b4-00-01-01  dynamic
以上表明PC1的ARP请求获得网关(192.168.1.254)的MAC为00-07-b4-00-01-01。

C;>arp –d//上以是删除ARP缓冲表
C;>ping 4.4.4.4
C;>arp –a
Interface;192.168.1.100---0x10006
  Internet Address   Physical Address  Type
  192.168.1.254    00-07-b4-00-01-02  dynamic
以上表明PC1的再次ARP请求获得网关(192.168.1.254)的MAC为00-07-b4-00-01-02,也就是说,在GLBP响应ARP请求时,每次会用不同的MAC响应,从而实现负载平衡。

【提示】
默认时,GLBP的负载平衡策略是轮询方式,可以在接口下使用”glbp 1 load-balancing”命令修改,有以下选项:
1. host-dependent:根据不同主机的源MAC地址进行平衡;
2. round-robin:轮询方式,即每响应一次ARP请求,轮换一个地址;
3. weighted:根据路由器的权重分配,权重高的被分配的可能性越大。

(5)步骤5:检查GLBP的冗余功能
首先在PC1上用”arp –a”命令确认192.168.1.254的MAC地址是什么,从而确定出当前空间是哪个路由器在实际转发数据。在这里,192.168.1.254的MAC地址为00-07-b4-00-01-02,从步骤3得知是R1在转发数据。
在PC1上连续ping 4.4.4.4,并在R1上关闭g0/0接口,观察PC1的通信情况:
C;>ping –t 4.4.4.4
Reply from 4.4.4.4; bytes=32 time<1ms TTL=254
Reply from 4.4.4.4; bytes=32 time<1ms TTL=254
Request timed out.
Request timed out.
Reply from 4.4.4.4; bytes=32 time<1ms TTL=254
Reply from 4.4.4.4; bytes=32 time<1ms TTL=254

//可以看到R1出故障后,其他路由器很快接替了它的工作,计算机的通信只受到短暂的影响。因此GLBP不仅有负载平衡的能力,也有冗余的能力。可以使用”show glbp”命令查看一下认认谁是00-07-b4-00-01-02这个MAC的新的活动路由器

5 网关冗余及负载平衡命令汇总

表16-1是本章出现的命令

表16-1 本章命令汇总

命令作用
standby 1 ip 192.168.13.254启用HSRP功能,并设置虚拟IP地址
standby 1 priority 120配置本路由器的HSRP优先级
standby 1 preempt配置HSRP抢占
standby 1 timers 3 10设置HSRP的Hello Time 和Hold Time
standby 1 authentication md5 key-string cisco配置HSRP认证密码,认证方式为MD5
show standby brief查看HSRP的简要情况
standby 1 track Serial0/0/0 30跟踪s0/0/0接口,当接口故障时,HSRP优先级降低30
vrrp 1 ip 192.168.13.254启用VRRP功能,并设置虚拟IP地址
vrrp 1 priority 120配置本路由器的VRRP优先级
vrrp 1 preempt配置VRRP抢占
vrrp 1 authentication md5 key-string cisco配置VRRP认证密码,认证方式为MD5
track 100 interface Serial0/0/0 line-protocol定义一个跟踪目标号,被跟踪对象为s0/0/0接口
vrrp 1 track 100 decrement 30跟踪目标100,当目标故障时,优先级降低30
show vrrp brief查看VRRP的简要情况
glbp 1 ip 192.168.1.254启用GLBP功能,并设置虚拟IP地址
flbp 1 priority 200配置本路由器的GLBP优先级
glbp 1 preempt配置GLBP抢占
glbp 1 authentication md5 key-string cisco配置GLBP认证密码,认证方式为MD5
show glbp查看GLBP情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值