一、产生的背景

随着网络规模日趋增大,网络服务覆盖日趋广泛,人们对网络的稳定性提出可更高的要求,当前的网络环境中一台终端设备只允许配置一个默认网关,当网关发生故障时,用户便会脱离与网络的连接,在这种背景下VRRP应用而生。

vrrp怎么实现负载均衡_Ethernet

  • 当RTA设备发生故障时,下端所有设备均无法正常访问互联网。

二、VRRP技术原理

当终端设备的默认网关设备发生故障时,由另一台网关设备来代替出现故障的网关,从而保持网络通信的连续性和可靠性。

2.1协议内容

在VRRP协议中定义了以下内容:

名称

解释

Master路由器

虚拟路由器中承担报文转发的路由器

Backup路由器

Master路由器的备份,当Master路由器发送故障时,能够接管Master的工作

虚拟路由器

由Master路由器和Backup路由器形成的路由器组,终端以虚拟路由器作为网关

优先级

VRRP根据优先级来确定虚拟路由器中每台路由器的角色,范围为0到255,可配置的范围是1到254,优先级0为系统保留给路由器放弃Master位置时候使用,255则是系统保留给IP地址拥有者使用

VRID

虚拟路由器标识,同一VRID的路由器构成虚拟路由器

虚拟IP

一个虚拟路由器可以拥有一个或多个虚拟IP

IP地址拥有者

接口IP地址与虚拟IP地址相同的路由器被称为IP地址拥有者

虚拟MAC地址

一个虚拟路由器拥有一个虚拟MAC地址。虚拟MAC地址的格式为00-00-5E-00-01-{VRID}。虚拟路由器回应ARP请求使用的是虚拟MAC地址

同时,VRRP也定义了Master路由器是否可以抢占,如果VRRP工作中非抢占模式,即使后续有更高优先级的路由器出现,也不会成为新的Master路由器。

2.2 VRRP工作过程

  1. 协议启动时所有路由器工作在Backup状态,通过VRRP报文的交互获得其他路由器的优先级,优先级最高的成为Master路由器(当路由器为IP地址拥有者时,其优先级始终为255,只要其工作正常,就是Master路由器)。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通告其他设备,什么自己将作为网关从而承担报文转发任务;
  2. Master路由器会周期性的通过VRRP报文汇报工作情况(优先级、设备情况)。

2.3 虚拟路由器变更

  1. 如果在一定时间内没有收到VRRP报文判断Master路由器故障时,如果此时多个Backup路由器竞争Master路由器的位置,将通过优先级来选举Master路由器,Backup路由器默认等待的时间称为Master_Down_Interval,取值为:(3×VRRP报文的发送时间间隔)+Skew time,单位为秒。;
  2. Master路由器主动放弃Master地位(如Master路由器退出虚拟路由器)时,会发送优先级为0的VRRP报文,虚拟路由器中的Backup路由器将根据优先级重新选举新的Maste路由器。这个切换的时间称为Skew time,计算方式为:(256-Backup路由器的优先级)/256,单位为秒。;
  3. 当配置在抢占模式时,有更高优先级的路由器接入。

2.4 VRRP认证方式

VRRP提供了三种认证方式:无认证、简单字符认证、MD5认证

认证方式

释义

无认证

不进行任何VRRP报文的合法性认证,不提供安全性保障

简单字符认证

在一个有可能受到安全威胁的网络中,可以将认证方式设置为简单字符认证。发送VRRP报文的路由器将认证字填入到VRRP报文中,而收到VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较。如果认证字相同,则认为接收到的报文是合法的VRRP报文;否则认为接收到的报文是一个非法报文。

MD5认证

在一个非常不安全的网络中,可以将认证方式设置为MD5认证。发送VRRP报文的路由器利用认证字和MD5算法对VRRP报文进行加密,加密后的报文保存在AuthenticationHeader(认证头)中。收到VRRP报文的路由器会利用认证字解密报文,检查该报文的合法性。

2.5 VRRP工作模式

  • 主备备份模式:Master路由器一直正常工作,那么Backup路由器则长期处于待机状态,显然这种做法比较浪费,所以一般会采用负载分担模式,负载分担模式下是Backup路由器也会处于工作状态。
  • 负载分担模式:在路由器的一个接口上可以创建多个虚拟路由器,使得该路由器可以在一个虚拟路由器中作为Master路由器,同时在其他的虚拟路由器中作为Backup路由器。负载分担方式是指多台路由器同时承担业务,因此负载分担方式需要两个或者两个以上的虚拟路由器,每个虚拟路由器都包括一个Master路由器和若干个Backup路由器,各虚拟路由器的Master路由器可以各不相同,

2.6 上行跟踪和Master监控

  • 上行跟踪:VRRP可以通过NQA的ICMP-echo探测功能直接监视连接上行链路的接口状态。当连接上行链路的接口down时,将Master路由器降低指定的优先级。VRRP优先级最低可以降低到1;VRRP也可以利用BFD技术监视上行链路状态,由于BFD的精度可以到达10ms,通过BFD能够快速检测出链路状态的变化,Backup路由器等待Skew time后,抢占成为新的Master路由器。
  • Master监控:正常情况下Master路由器故障,需要等待Master_Down_Interval才能转换为Master路由器,这段时间内下挂终端将无法正常通信,Backup路由器采用BFD技术监视Master路由器,一旦Master路由器发生故障,Backup就可以毫秒级的切换成为新的Master路由器。

三、VRRP配置实验(负载分担模式)

3.1 实验过程

实验拓扑:

vrrp怎么实现负载均衡_优先级_02


AR1:

<Huawei>undo terminal monitor 
<Huawei>system-view 
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 172.16.1.1 255.255.255.252 
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 172.16.1.5 255.255.255.252 
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]ip address 10.1.1.1 255.255.255.252
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.7
[Huawei-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.3.255
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]quit
<Huawei>save

LSW1:

<Huawei>undo terminal monitor 
<Huawei>system-view 
[Huawei]vlan batch 10 20 100
[Huawei]interface Vlanif 10
[Huawei-Vlanif10]ip address 192.168.1.1 255.255.255.0
[Huawei-Vlanif10]vrrp vrid 10 virtual-ip 192.168.1.254
[Huawei-Vlanif10]vrrp vrid 10 priority 150
[Huawei-Vlanif10] vrrp vrid 10 track interface GigabitEthernet0/0/2
[Huawei-Vlanif10]quit
[Huawei]interface Vlanif 20
[Huawei-Vlanif20]ip address 192.168.2.1 255.255.255.0
[Huawei-Vlanif20]vrrp vrid 20 virtual-ip 192.168.2.254
[Huawei-Vlanif20]vrrp vrid 20 priority 130
[Huawei-Vlanif20] vrrp vrid 20 track interface GigabitEthernet0/0/2
[Huawei-Vlanif20]quit
[Huawei]interface Vlanif 100
[Huawei-Vlanif100]ip address 172.16.1.2 255.255.255.252
[Huawei-Vlanif100]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 100
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]interface GigabitEthernet 0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type trunk
[Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/3]quit
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.7
[Huawei-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.3.255
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]quit
<Huawei>save

LSW2:

<Huawei>undo terminal monitor 
<Huawei>system-view 
[Huawei]vlan batch 10 20 100
[Huawei]interface Vlanif 10
[Huawei-Vlanif10]ip address 192.168.1.2 255.255.255.0
[Huawei-Vlanif10]vrrp vrid 10 virtual-ip 192.168.1.254
[Huawei-Vlanif10]vrrp vrid 10 priority 130
[Huawei-Vlanif10] vrrp vrid 10 track interface GigabitEthernet0/0/2
[Huawei-Vlanif10]quit
[Huawei]interface Vlanif 20
[Huawei-Vlanif20]ip address 192.168.2.2 255.255.255.0
[Huawei-Vlanif20]vrrp vrid 20 virtual-ip 192.168.2.254
[Huawei-Vlanif20]vrrp vrid 20 priority 150
[Huawei-Vlanif20] vrrp vrid 20 track interface GigabitEthernet0/0/2
[Huawei-Vlanif20]quit
[Huawei]interface Vlanif 100
[Huawei-Vlanif100]ip address 172.16.1.6 255.255.255.252
[Huawei-Vlanif100]quit
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 200
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]interface GigabitEthernet 0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type trunk
[Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/3]quit
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.3
[Huawei-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.7
[Huawei-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.3.255
[Huawei-ospf-1-area-0.0.0.0]quit
[Huawei-ospf-1]quit
[Huawei]quit
<Huawei>save

LSW3:

<Huawei>undo terminal monitor 
<Huawei>system-view 
[Huawei]vlan batch 10 20
[Huawei]port-group group-member Ethernet 0/0/4 Ethernet 0/0/5
[Huawei-port-group]port link-type access 
[Huawei-port-group]port default vlan 10
[Huawei-port-group]quit
[Huawei]port-group group-member Ethernet 0/0/1 Ethernet 0/0/2
[Huawei-port-group]port link-type trunk
[Huawei-port-group]port trunk allow-pass  vlan 10 20
[Huawei-port-group]quit
[Huawei]quit
<Huawei>save

LSW4:

<Huawei>undo terminal monitor 
<Huawei>system-view 
[Huawei]vlan batch 10 20
[Huawei]port-group group-member Ethernet 0/0/4 Ethernet 0/0/5
[Huawei-port-group]port link-type access 
[Huawei-port-group]port default vlan 20
[Huawei-port-group]quit
[Huawei]port-group group-member Ethernet 0/0/1 Ethernet 0/0/2
[Huawei-port-group]port link-type trunk
[Huawei-port-group]port trunk allow-pass  vlan 10 20
[Huawei-port-group]quit
[Huawei]quit
<Huawei>save

在配置过程中接入层交换机只放通自己对应的VLAN,可能由于MSTP协议的存在,导致汇聚层VLAN之间无法联通。

3.2实验结果验证:

  1. 全网互通
    PC1到服务器:

PC3到服务器:

vrrp怎么实现负载均衡_Backup_03

  1. 网关备份

LSW1:

vrrp怎么实现负载均衡_Backup_04


LSW2:

vrrp怎么实现负载均衡_Ethernet_05

  1. 负载分担
    PC1、PC3 同时ping服务器:
    在LSW1的G0/0/2口抓包:

    在LSW2的G0/0/2口抓包:
  2. 上链链路故障
    PC1 ping服务器,途中downLSW1的G0/0/2口,观测业务是否中断,流量走向:
    未中断时LSW1的G0/0/2口抓包:

    中断时,PC端延迟上升,但是业务未中断

    中断后,流量切换到LSW2的G0/0/2口

    中断后网关角色(存在问题,正常情况下LSW1 VRID 10中的Master将变为Initialize,LSW2 VRID 10 中Backup将变为Master)
    LSW1:

    LSW2:

小结:

  1. 路由器使能VRRP 功能后,会根据优先级确定自己在备份组中的角色。优先级高的路由器成为Master 路由器,优先级低的成为Backup 路由器。Master 路由器定期发送VRRP通告报文,通知备份组内的其他设备自己工作正常;Backup 路由器则启动定时器等待通告报文的到来。
  2. 在抢占方式下,当Backup 路由器收到VRRP 通告报文后,会将自己的优先级与通告报 文中的优先级进行比较。如果大于通告报文中的优先级,则成为Master 路由器;否则将保持Backup状态。
  3. 在非抢占方式下,只要Master 路由器没有出现故障,备份组中的路由器始终保持Master 或Backup 状态,Backup 路由器即使随后被配置了更高的优先级也不会成为Master 路由器。
  4. 如果Backup 路由器的定时器超时后仍未收到Master 路由器发送来的VRRP 通告报文,则认为Master 路由器已经无法正常工作,此时Backup 路由器会认为自己是Master 路由器,并对外发送VRRP 通告报文。备份组内的路由器根据优先级选举出Master 路由 器,承担报文的转发功能。