路由器重温——可靠性-VRRP配置管理

VRRP(虚拟路由冗余协议)指将多个路由设备(可以是路由器,也可以是三层交换机)组成一台虚拟路由设备,并指定其中一台成员路由设备作为主用(Master)设备,其他成员设备作为备用(Backup)设备,然后为这台虚拟路由器分配一个IP地址,作为下游设备的默认网关,可防止单点故障,实现路由设备容错。还可通过配置多个虚拟备份组,指定不同设备担当主用设备,实现多路由设备之间的负载分担;还可以与各种其他对象一起联动,实现更强大的监视功能。

    VRRP的配置简单,最基本的功能只需创建所需的VRRP备份组,并为之配置虚拟路由器IP地址,为Master设备配置更高的优先级,就可实现主备备份。

VRRP基础

VRRPVirtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协议。

一、VRRP概述

VRRP能够在不改变组网的情况下,将多台路由设备组成一个虚拟路由器,通过配置虚拟路由器的IP地址作为缺省网关,实现对缺省网关的备份(因为这个虚拟路由器的IP地址可代表整个路由器中各个成员路由设备)。当现有网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量。

1、基本概念

1)VRRP路由器(VRRP Router:运行VRRP的设备,可加入到一个或多个虚拟路由备份组中。

2)虚拟路由器(Virtual Router:又称为VRRP备份组,由一个Master(主用)设备和多个Backup(备用)设备组成,被当做一个共享局域网内主机的缺省网关。

3)Master路由器(主用路由器):VRRP备份组中当前承担转发报文任务的VRRP设备。

4)Backup路由器(备用路由器):VRRP备份组中一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过选举成为新的Master设备。

5)VRID:虚拟路由器标识,用来唯一标识一个VRRP备份组。

6)虚拟IP地址(Virtual IP Address:分配给虚拟路由器的IP地址。一个虚拟路由器可以有一个或多个IP地址(多个IP地址时,只有一个是主IP地址,其他为从IP地址),由用户配置。

7)IP地址拥有者(IP Address Owner:如果一个VRRP设备将虚拟路由器的IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。如果该IP地址拥有者是可用的,将直接成为Master,不用选举,也不可抢占,除非该设备不可用。

8)虚拟MAC地址(Virtual MAC Address是虚拟路由器根据虚拟路由器IDVRID)生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。当虚拟路由器回应ARP请求时,使用的是虚拟MAC地址,而不是接口的真实MAC地址。

9)优先级(Priority:用来标识虚拟路由器中各成员路由器设备的优先级。虚拟路由器根据优先级选举出Master设备和Backup设备。

10)抢占模式:在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。

11)非抢占模式:在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。

2、VRRP的主要好处

①简化网络管理:VRRP能在当前网关设备出现故障时仍提供高可靠的缺省链路,且无需修改动态路由协议、路由发现协议等配置信息。

②适应性强:VRRP报文封装在IP报文中,支持各种上层协议

③网络开销小:VRRP只定义一种报文,即VRRP协议报文,有效减轻了网络设备的额外负担。

二、VRRP协议报文

VRRP协议报文是用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备,即Master设备会发送VRRP协议报文。它们封装在IP报文中,通过VRRP组播IP地址进行发送,报文头中源地址为发送报文接口的主IP地址不是虚拟路由器的IP地址),目的地址为VRRP组播IP地址224.0.0.18TTL255,协议号是112

VRRP协议包括两个版本:VRRPv2和VRRPv3,V2仅适用于IPv4网络,v3适用于IPv4和IPv6两种网络。VRRP可分为VRRP for IPv4和VRRP for IPv6。VRRP for IPv4支持VRRPv2和VRRPv3,而VRRP for IPv6仅支持VRRPv3。

VRRPv2和VRRPv3的报文结构:

三、VRRP基本工作原理

VRRP的工作原理主要体现在设备的协议状态改变上。在VRRP中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup。其中,只有处于Master状态的设备才可以转发发送到虚拟路由器IP地址的数据报文

VRRP备份组中的设备根据优先级选举出Master,选举后的Master设备会通过发送免费ARP报文将虚拟MAC地址通知给与它连接的设备或主机,以便在这些设备上建立到达虚拟路由器的ARP映射表,发送报文到虚拟路由器。同时,Master设备又会周期性的向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状态

②如果当前Master设备出现故障,将在Master_Down_Interval定时器超时后,或由其他联动技术(如BFD联动)检测到Master设备故障后,VRRP备份组中的Backup设备根据优先级重新选举新的Master。

③新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,把用户流量引到新的Master设备上来。

④当原Master设备故障恢复时,如果该设备为虚拟路由器IP地址拥有者(优先级为255),将直接切换至Master状态;否则,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。

⑤如果Backup设备设置为抢占方式,则当Backup设备的优先级高于当前Master设备时,将立即抢占现有Master设备,否则仅在当前Master设备不可用时Backup设备才有可能会成为Master设备。

四、VRRP Master选举和状态通告

为了保证Master设备和Backup设备能够协调工作,VRRP需要实现以下两项基本功能:Master设备的选举和Master设备状态的通告。

1、Master设备的选举

VRRP根据优先级来确定虚拟路由器中每台设备的角色,Master设备或Backup设备,对应于Master状态和Backup状态。优先级越高,则越有可能成为Master设备。Master设备的整个选举过程如下:

①初始创建的VRRP设备都工作在Initialize状态,VRRP设备在收到VRRP接口Startup的消息后,如果此设备的优先级等于255(也就是所配置的虚拟路由器IP地址是本设备VRRP接口的真实IP地址),将会直接切换至Master状态,并且无需进行下面的Master选举。否则,会先切换到Backup状态,待Master_Down_Interval定时器超时后再切换至Master状态(因为一开始,还没有最终选举Master设备,则这个Master_Down_Interval定时器最终肯定会超时)。

②首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级,然后根据以下规则进行Master的选举。

●  如果收到的VRRP报文中显示的Master设备的优先级高于或等于自己的优先级,则当前backup设备保持Backup状态

●  如果VRRP报文中Master设备的优先级低于自己的优先级,当采用抢占方式时(缺省为抢占方式),则当前Backup设备将切换至Master状态;当采用非抢占式方式时,当前Backup设备仍保持Backup状态。

如果有多个VRRP设备同时切换至Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换至Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,再根据VRRP设备上VRRP备份组所在接口主IP地址大小进行比较,IP地址较大的成为Master设备。

2、Master设备状态的通告

Master设备会周期性的发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状态。Backup设备通过接收到Master设备发来的VRRP报文的情况来判断Master设备是否工作正常。

①当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0VRRP通告报文,使Backup设备快速切换成Master设备(当有多台Backup设备时也要进行Master选举),而不用等到Master_Dwon_Interval定时器超时。这个切换的时间称为Skew_time,计算方式为:(256 -Backup设备的优先级)/256,单位为秒。

②当Master设备发生网络故障而不能发送VRRP通告报文的时候,Backup设备并不能立即知道其工作状况,要等到Master_Down_Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master(同样,当有多台Backup设备时也要进行Master选举),其中,Master_Down_Interval定时器取值为:(3×Advertisement_Interval)+ Skew_time,单位为秒。

性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval定时器超时后仍没有收到Master设备的报文后,使得Backup设备主动切换为Master。如果此时Master设备的报文又到达了,新Master设备将再次切换回Backup。如此会出现VRRP设备组成员状态频繁切换的现象。为缓解这种现象,可以配置抢占时延,使得Backup设备在等待了Master_Down_Interval定时器后再等待抢占时延时间。

五、VRRP的两种主备模式

在VRRP的主备应用中,根据不同的应用需求,可配置为主备备份和负载分担两种模式

1、VRRP主备备份模式

主备备份模式是VRRP提供备份功能的基本模式,就是同一时间仅由Master设备负责业务数据的处理,所有Backup设备均仅处于待命备份状态不进行业务数据的处理

2、VRRP负载分担模式

负载分担模式可以充分发挥每台VRRP设备的业务处理能力,要注意的是,负载分担模式需要建立多个指派不同设备为Master设备的VRRP备份组,同一台VRRP设备可以加入多个备份组,在不同的备份组中具有不同的优先级。但每个备份组与VRRP主备备份模式的基本原理和报文协商过程都是相同的,对于每一个VRRP备份组,也都包含一个Master设备和若干Backup设备。

负载分担的实现方式有以下两种:

①多网关负载负担

通过创建多个带虚拟IP地址的VRRP备份组,为不同的用户指定不同的VRRP备份组作为网关,实现负载分担。

使一部分用户将VRRP备份组1作为网关,另一部分用户将VRRP备份组2作为网关。客户端通过配置不同的网关控制负载。不灵活。

②单网关负载分担

这种方式是通过创建带有虚拟路由器IP地址的VRRP LBRGLoad-Balance Redundancy Group,负载分担管理组),并向该负载分担管理组中加入成员VRRP备份组(无需配置虚拟路由器IP地址),指定负载分担管理组IP地址作为所有用户的网关,来实现负载分担的

以前面多网关负载分担示意图为例,配置两个VRRP备份组:在VRRP备份组1中,RouterA作为Master设备,RouterB作为Backup设备;VRRP备份组2中,RouterB作为Master设备,RouterA作为Backup设备。然后创建一个负载分担管理组,把VRRP备份组1VRRP备份组2加入其中,并VRRP备份组1作为管理组,VRRP备份组2作为成员组。这样一来,所有用户都将负载负担管理组的IP地址作为网关在收到用户侧的ARP请求报文时,VRRP备份组1随机将自己的虚拟MAC地址或VRRP备份组2的虚拟MAC地址封装到ARP响应报文,对ARP请求报文进行应答,进而实现负载分担

六、VRRP的两种延伸功能

VRRP平滑倒换和管理VRRP备份组。

1、VRRP平滑倒换

在一些高端路由器上往往安装有多块具有主、备性质的主控板,这时就涉及VRRP备份组在多块主控板间的倒换问题。因为在Master设备进行主控板的主、备倒换期间,Master设备可能无法正常发送VRRP协议报文,所以Backup设备在Master_Down_interval定时器超时后,会由于收不到Master设备发送的VRRP通告报文而自动切换为Master。而当原Master设备完成主、备主控板的倒换后,由于原Master设备的优先级高于新Master设备,在抢占模式下会重新抢占为Master,从而引起链路两次切换,导致系统业务流量的不稳定。

为避免主备主控板倒换的影响,可在Master设备上使能VRRP平滑倒换功能。基本实现原理:

①Master设备主控板的主、备倒换启动前,首先保存当前配置的VRRP通告报文发送间隔,然后调整VRRP通告报文发送间隔(一般远大于倒换前的发送间隔),并以新的时间间隔发送通告报文。同时,在平滑倒换前必须在Backup设备上使能VRRP报文时间间隔学习功能

②使能了VRRP报文时间间隔学习功能后,Backup设备收到Master设备发送的VRRP通告报文时,会检查报文中的发送时间间隔值,如与自己不同,Backup设备就会学习报文中的时间间隔,并调整自己的协议报文时间间隔值,使其与报文中的值保持一致。

③倒换结束后,Master设备恢复倒换前的报文发送间隔设置,并以新的时间间隔发送通告报文。Backup设备收到报文后会再一次学习时间间隔。

2、管理VRRP备份组

提高网络可靠性,通常部署NPENetwork Premise Equipment,网络前端设备)主备双属,也就是通过配置不同的VRRP备份组来指派同一设备属于不同的VRRP设备角色。当这样一来,每个VRRP备份组都需要维护自己的状态机,NPE之间就会存在大量的VRRP报文。为减少协议报文对带宽的占用及CPU资源的消耗,可以将其中一个VRRP备份组配置为管理VRRP备份组(mVRRP),其余的业务VRRP备份组与管理VRRP备份组进行绑定。

通过这种方式,可以实现管理VRRP负责发送协议报文来协商设备的主备状态业务VRRP不发送协议报文,其主备状态与管理VRRP的主备状态保持一致,可以大大减少协议报文对CPU与带宽资源的消耗。

管理VRRP备份组有两种角色:

①当管理VRRP备份组作为网关使用时(如图中mVRRP1),管理VRRP既负责协商设备的主备状态,又承担业务流量。在配置管理VRRP之前必须先创建普通VRRP备份组并配置虚拟IP地址,该虚拟IP地址即为用户配置的网关地址。

②当管理VRRP备份组不作为网关使用时(如图中的mVRRP2),管理VRRP只负责协商设备的主备状态,不承担业务流量。因此管理VRRP不需要具有虚拟IP地址,用户可以直接在接口上创建管理VRRP备份组。

VRRP联动功能

可以通过配置VRRP监控其他特性状态,使被监控的对象状态发生变化时通知VRRP进行主备切换,提高VRRP主备切换效率。

VRRP基本功能配置与管理

①创建VRRP备份组

②配置设备在备份组中的优先级
③(可选)配置VRRP的时间参数
④(可选)配置VRRP报文在super-vlan中的发送方式。
⑤(可选)配置禁止检测VRRP报文跳数
⑥(可选)配置VRRP报文的认证方式
⑦(可选)配置VRRP版本
⑧(可选)使能虚拟地址可达性功能。

一、创建VRRP备份组

VRRP备份组的创建方法,是在VRRP接口(即VRRP设备的下行接口,可以是物理接口、逻辑接口或子接口视图下通过vrrp vrid virtual-router-id virtual-ip virtual-address命令创建。其中

1)virtual-router-id:指定所创建的VRRP备份组号,取值范围1~255的整数
2)virtual-address:VRRP设备组的虚拟IP地址。虚拟路由器的IP地址必须和对应接口的真实IP地址在同一网段

为方便管理,并避免用户侧缺省网关地址随VRRP配置而改变,可以为同一个备份组配置多个虚拟IP地址(也都必须与对应接口IP地址在同一网段),不同的虚拟IP地址为不同用户群服务,每个备份组最多可配置16个虚拟IP地址

如果下游设备上送至网关的报文中带有VLAN Tag,则需要进入子接口视图,并根据实际情况进行如下配置:

1)报文中带有一层Tag时,先要通过dot1q termination vid vid子接口视图命令配置对指定Tag的终结功能,然后在后面配置dot1q vrrp vid vid子接口视图命令配置用指定Tag值的Dot1q数据报文来维护VRRP状态。两命令中的参数vid用来指定终结的单层VLAN ID。

2)报文中带有两层Tag时,先要通过qinq termination pe-vid pe-vid ce-vid ce-vid子接口视图命令配置子接口对指定的两层Tag报文的终结功能,然后通过qinq vrrp pe-vid pe-vid ce-vid ce-vid子接口视图命令配置用指定的双层Tag的QinQ数据报文来维护VRRP。

3)在子接口上配置VRRP时,建议同时使用arp broadcast enable命令使能终结子接口的ARP广播功能,以允许对应终结子接口能转发广播报文。

在设备上同时配置VRRP和静态ARP时,需要注意以下几点:

1)保证同一备份组的两端设备上配置相同的备份组ID

2)备份组ID是基于接口,而不是基于全局的,即不同接口之间的备份组ID可以相同,但各备份组之间的虚拟IP地址不能相同

3)在配置虚拟IP地址时,一定不要配置与用户主机相同的IP地址。

4)当在Dot1q终结子接口、在QinQ终结子接口或者在VLANIF接口下配置VRRP时,不能将与这些接口相关的静态ARP表项对应的映射IP地址作为VRRP的虚拟地址,否则会导致设备之间转发不通;同理,当在Dot1q终结子接口、在QinQ终结子接口或在VLANIF接口下配置VRRP后,再配置静态ARP表项时,不能指定VRRP的虚拟地址作为该静态ARP表项中对应的映射IP地址,否则也可能导致设备之间转发不通。

示例1:在路由器GE1/0/0接口上创建一个VRRP备份组,其中备份组号为1,虚拟IP地址为10.10.10.10

<Huawei>system-view
[Huawei]interface gigabitetnernet 1/0/0
[Huawei-GigabitEtnernet1/0/0]vrrp vrid 1 virtual-ip10.10.10.10

示例2:在路由器GE2/0/0.1子接口上终结VLAN10,并创建一个VRRP备份组,其中备份组号为1,虚拟IP为100.1.1.111。

[Huawei]interface gigabitetnernet 2/0/0.1
[Huawei-GigabitEthernet2/0/0.1]dot1q termination vid 10
[Huawei-GigabitEthernet2/0/0.1]arp broadcast enable
[Huawei-GigabitEthernet2/0/0.1]dot1q vrrp vid 10
[Huawei-GigabitEthernet2/0/0.1]vrrp vrid 1 virtual-ip100.1.1.111

示例3:在路由器GE2/0/0.1子接口上终结外层VLAN100,内层VLAN10,并创建一个VRRP备份组,其中备份组号为1,虚拟IP为100.1.1.111。

[Huawei]interface gigabitetnernet 2/0/0.1
[Huawei-GigabitEthernet2/0/0.1]qinq termination pe-vid 100  ce-vid 10
[Huawei-GigabitEthernet2/0/0.1]arp broadcast enable
[Huawei-GigabitEthernet2/0/0.1]qinq vrrp pe-vid 100 ce-vid 10
[Huawei-GigabitEthernet2/0/0.1]vrrp vrid 1 virtual-ip 100.1.1.111

二、配置设备在备份组中的优先级

VRRP根据优先级决定设备在备份组中的地位。VRRP备份组中设备优先级是在对应的VRRP接口视图下使用vrrp vrid virtual-router-id priority  priority-value命令进行配置的

priority-value:指定当前路由器在指定的VRRP备份组中的优先级,取值范围为1~254整数。

优先级0是系统保留作为特殊用途的优先级255保留给IP地址拥有者(即配置了路由器的某接口IP地址为虚拟路由器IP地址的路由器设备)。IP地址拥有者的优先级不可配置也不需要配置,直接为最高的255

在VRR备份组中设备优先级相同情况下,先切换至Master的设备为Master设备,其余Backup设备不再进行抢占;如果同时竞争Master,则比较VRRP设备组所在VRRP接口的IP地址大小,IP较大的为Master设备。缺省情况下,优先级取值为100。

示例:配置路由器在VRRP备份组1中的优先级为150

<Huawei>system-view
[Huawei]interface gigabitetnernet 1/0/0
|[Huawei-Gigabitethernet1/0/0]vrrp vrid 1 priority 150

三、配置VRRP的时间参数

VRRP所涉及的时间参数包括VRRP通告报文的发送间隔、路由器在VRRP备份组中的抢占时延、Master设备发送免费ARP报文的超时时间和VRRP备份组的状态恢复延迟时间等。

system-view
interface
interface-type interface-number 
    VRRP接口,可以是物理接口、逻辑接口或子接口
vrrp vrid virtual-router-id timer advertise advertise-interval   配置路由器发送VRRP通告报文的时间间隔。
vrrp vrid virtual-router-id preempt-mode timer delay delay-value   配置路由器为延迟抢占方式,并配置抢占延迟时间。缺省抢占延迟时间为0,即立即抢占。可以用vrrp vrid vrid preempt-mode disable命令设置对应VRRP备份组中的路由器采用非抢占方式。
quit
vrrp recover-delay
delay-value
    配置当前路由器在VRRP备份组的状态恢复延迟时间。执行此命令后,该路由器上所有VRRP备份组配置了相同的状态恢复延迟时间。
vrrp gratuitous-arp timeout time   配置当前路由器Master发送免费ARP报文的超时时间。应小于用户侧设备的MAC地址表项老化时间。

四、配置其他可选功能

(1)VRRP版本

(2)(可选)使能虚拟地址可达性功能

路由器支持对虚拟IP地址的Ping功能,可用于检测备份组中的Master设备是否有效。

(3)(可选)配置禁止检测VRRP报文跳数

系统对收到的VRRP通告报文的TTL值进行检测,如TTL值不等于255,则丢弃这个报文。在不同设备制造商的设备配合使用的组网环境中,检测VRRP报文的TTL值可能导致错误地丢弃合法报文。

(4)(可选)配置VRRP报文的认证方式

VRRP提供了简单(Simple)认证方式和MD5认证方式

①简单字符(Simple)认证:发送VRRP通告报文的路由器将认证方式和认证字填充到通告报文中,而收到通告报文的路由器则会将报文中的认证方式和认证字符与本端配置的认证方式和认证字符进行匹配。如相同,则认为接收到的报文是合法的VRRP通告报文;否则丢弃。

②MD5认证:发送VRRP通告报文的路由器利用MD5算法对认证字符进行加密,加密后保存在Authentication Data字段中。收到通告报文的路由器会对报文中的认证方式和解密后的认证字符进行匹配,检查该报文的合法性。

(5)(可选)配置VRRP报文在super-vlan中的发送方式

当VRRP备份组配置在聚合VLAN时,用户可以通过命令行配置,使VRRP报文在指定的sub-VLAN中传输,避免VRRP通告报文在所有sub-VLAN内广播,以节约网络带宽。

system-view
vrrp version {v2 | v3}

vrrp virtual-ip ping enable
   使能Master设备响应Ping报文。
interface interface-type interface-number
vrrp un-check ttl       禁止检测VRRP报文的TTL值。
vrrp vrid virtual-router-id authentication-mode {simple {key | plain key | cipher cipher-key} | md5 md5-key       配置VRRP备份组的认证方式和认证字符。同一VRRP备份组的认证方式和认证字符必须相同。
quit
interface
interface-type interface-number
     键入在super-Vlan中要发送VRRP通告报文Super-VLAN中的VLANIF接口。
vrrp advertise send-mode {sub-vlan-id | all     配置在Super-Vlan中VRRP通告报文发送方式,仅在相关Super-VLAN中VLANIF接口上已经成功配置了VRRP备份组才需要配置本命令。

五、VRRP基本功能管理

①display vrrp 【interface interface-type interface-number】【virtual-router-id】【brief】,或display vrrp 【admin-vrrp | 【interface interface-type interface-number 【virtual-router-id】 | virtual-router-id】【verbose】】:查看指定接口、指定VRRP备份组或所有VRRP备份组的状态信息和配置参数。

②display vrrp protocol-information:查看VRRP的相关信息

③display vrrp 【interface interface-type interface-number】【virtual-router-id】 statistics:查看指定接口、指定VRRP备份组或所有VRRP备份组的报文收发统计信息。

④reset vrrp 【interface interface-type interface-number】【vrid virtual-router-id】 statistics:清除指定接口、指定VRRP备份组或所有VRRP备份组的VRRP报文统计信息。

六、VRRP主备备份配置示例

正常主机以RouterA为默认网关,当RouterA故障时,RouterB接替作为网关,RouterA恢复后,可在20s内重新成为网关(即抢占延时为20s)。

1、基本配置思路——本实例仅要求实现主备备份
1)配置各设备接口IP地址及路由协议,使各设备间网络层连通
2)在A和B上配置备份组,A上配置较高优先级和20S抢占延时,作为Master承担流量转发;B上配置较低优先级,作为备份路由器,实现网关冗余备份。

eNSP试验:



在AR1上G0/0/0接口shutdown后:

抓包:

先设置AR2的VRRP,所以一开始的VRRP包源IP是AR2的G0/0/0接口IP10.1.1.2

当AR1的VRRP启动后,由于其优先级为120,高于默认优先级,其将成为Master:

对上述示例的个人思考:

上面的示例拓扑感觉是有问题的,路由器上的GE0/0/0接口是三层接口,即Router Port,可以直接配置IP地址,而拓扑图中交换机的接口直接连接的路由器的GE0/0/0,这是二层接口直接连三层接口,实际组网中一般不会直连三层接口,交换机都是划分VLAN的,连接的是路由器上的局域网接口,然后在路由器上划分VLAN,配置VLANIF接口IP。VRRP是在VLANIF接口上配置的。

经过测试,按照上图的拓扑可以配置完成,这里对接口的连接进行再次认识,二层接口可以直接连接三层接口,前提是接口发出的是ethernetII类型帧,即不是802.1Q帧,上图中Switch采用默认的配置进行连接,没有进行配置,即接口都是hybrid类型,发送untagged数据帧,默认VLAN,即pvid1

七、VRRP多网关负载分担配置示例:

HostA以RouterA为默认网关,RouterB作为备份网关;HostC以RouterB为默认网关,RouterA作为备份网关,原Master设备故障恢复后,可在10s内重新成为网关。

1、基本配置思路——要求两台用户主机采用不同的设备作为默认网关实现流量的负载均衡,采用VRRP多网关负载负担方式。

1)配置各设备接口IP地址及路由协议,使各设备间网络层连通。

2)在RouterA和RouterB上分别创建VRRP备份组1和VRRP备份组2。在备份组1中,RouterA为Master,RouterB为Backup;在备份组2中,RouterB为Master,RouterA为Backup。

eNSP模拟实验:



抓包:

可以看到源IP是10.1.1.1和10.1.1.2交替出现,说明两个设备都在作为Master在发送通告报文。


注意报文中的虚拟机的IP地址是不同的,虚拟机的ID也是不同的。

但是从PC2访问局域网内的两台PC,可以看到路由都是从AR1走的。

八、Dot1q终结子接口支持VRRP配置示例

1、基本配置思路

要封装一层VLAN标签,所以必须在路由器上配置子接口进行Dot1q终结,然后采用Dot1q终结子接口支持VRRP实现网关的冗余备份。

1)配置各设备接口IP及路由协议,使网络层路由可达。

2)在RouterA和RouterB的子接口上配置VRRP备份组,其中,RouterA上配置较高优先级和20s抢占延时。

eNSP实验:





在RouterA和RouterB上执行display ip routing-table,RouterA上可以看到路由表中有一条目的地址为虚拟IP地址的直连路由,而RouterB上该路由为OSPF路由,因为此时ROuterA是担当Master设备,而RouterB为Backup设备。

九、QinQ终结子接口支持VRRP配置示例

局域网内的主机通过SwitchA双归属到RouterA和RouterB,其中HostA属于VLAN10,HostB属于VLAN20。SwitchA上送的用户报文中带有两层Tag。正常情况下,主机以RouterA为默认网关,RouterA故障时,RouterB接替,RouterA恢复后,20s内重新成为网关。

1、基本配置思路

因为主机分属不同的VLAN,所以需要采用QinQ(双层VLAN)封装方式的终结子接口,并使其支持VRRP实现网关的冗余备份。

1)配置各设备接口IP地址及路由协议,使网络层路由可达。

2)在SwitchA配置QinQ,假设为SwitchB、C的VLAN数据封装外层VLAN100

3)在RouterA和RouterB的子接口上配置VRRP备份组,A上配置较高优先级和20s抢占延时。






个人总结:LSW3交换机的G0/0/3和G0/0/4,设置端口接收、发送的是不带标签的以太帧,端口默认VLAN是100,即对接收的帧加上VLALN100的标签,发送时去掉VLAN100的标签。通过拓扑图,实际接收LSW1的G0/0/1端口数据,此端口是trunk,发送的是带标签并且VLAN为10的dot1q帧,最后进入交换机LSW3G0/0/3,通过端口设置启用QinQ传输及QinQ成帧功能,即下面红线标志的两条语句,将进来的帧打包成QinQ帧,外层VLAN100内层VLAN10,如果不配置QinQ,猜测直接将VLAN10变为VLAN100

通过抓包,如下:

发送通告报文的分别是100.1.1.1和200.1.1.2,说明两台设备是Master


VRRP联动功能配置与管理

VRRP备份组监控功能存在一些不足:一是仅能感知VRRP接口状态的变化,无法感知VRRP设备直连或非直连上行链路状态;二是当Master出现故障,Backup需等待Master_down_interval后才能感知故障并切换,且切换时间通常在3s以上。

一、配置VRRP与接口状态联动监视上行接口

方案是为了解决VRRP备份组只能感知其所在接口(下行接口)状态的变化无法感知VRRP设备上行接口或直连链路故障Master设备上部署VRRP与接口状态联动监视上行接口功能后,当Master上行接口或直连链路发生故障时,可通过调整自身优先级触发主备切换。

配置VRRP与接口状态联动时,备份组的MasterBackup设备必须都工作在抢占方式下。建议Backup为立即抢占,Master为延时抢占。

配置VRRP与接口状态联动监视上行接口,仅可在Master上配置。

system-view
interface
interface-type interface-number
     键入Master设备VRRP接口,可以是物理、逻辑或子接口
vrrp vrid virtual-router-id track interface interface-type interface-number [reduced value-reduced]    配置VRRP备份组与上行接口状态联动。reduced value-reduced指定当被监视的上行接口状态变为Down时,Master设备优先级降低的数值(不是降低后的优先级值),必须确保优先级降低后Master设备的优先级低于当前Backup、设备的优先级,以触发主备切换。当设备为IP地址拥有者,即当采用该设备VRRP接口IP地址作为虚拟路由器的IP地址时,不允许对该设备配置监视接口。

二、配置VRRP与BFD联动实现快速切换

通过Master设备和Backup设备之间(通过下行链路)建立BFD会话,并Backup设备上与VRRP备份组进行绑定,能快速检测VRRP备份组设备之间的连通状态。

RouterA和RouterB之间配置VRRP备份组。RouterA和RouterB皆工作在抢占方式,其中RouterB为立即抢占。在RouterA和RouterB两端配置BFD会话,并在ROuterB上配置VRRPBFD联动。当RouterB与RouterA之间出现链路故障时,BFD快速检测故障并通知RouterB增加指定的优先级(此时RouterB的优先级需要高于RouterA的优先级),RouterB立即抢占为Master。

(个人对上图的理解:我感觉这里的联动有问题,A与B之间建立VRRP以及BFD会话,B与BFD联动,这里如果是B与交换机的链路出现问题,BFD会话状态也会Down,如果这时联动将B切换为Master,数据链路将断掉,这是错误的切换。但是又考虑一下,如果B与交换机链路故障,B切换为Master,也无法发送通告报文,也就是无法抢占A的Master,A依然是Master,这时A,B都是Master,只是B的通告报文无法发送出去。这个理解是否正确需要实验验证)

VRRPBFD联动仅支持与静态的BFD会话类型或静态标识符自协商的BFD会话类型的联动备份组中的MasterBackup设备必须都工作在抢占方式下。建议Backup设备配置为立即抢占,Master设备配置为延时抢占。仅可在Backup设备上配置。

system-view
interface
interface-type interface-number
     键入Master设备VRRP接口,可以是物理、逻辑或子接口
vrrp vrid virtual-router-id track bfd-session {bfd-session-id | session-name bfd-config-name} [increased value-increased]    在backup设备VRRP接口上使能VRRP通过联动BFD会话状态来实现快速主备切换的功能。value-increased指定当被监视的BFD会话变为Down状态,Backup设备优先级增加的数值(不是指增加后的优先级值),必须确保优先级增加后Backup设备优先级高于当前Master设备的优先级,以触发主备切换。

三、配置VRRP与BFD/NQA/路由联动监视上行链路

VRRP与BFD/NQA/路由联动监视上行链路也是为了解决VRRP不能感知Master设备上行非直连链路故障,通过在Master设备上配置BFD/NQA/路由检测Master上行链路的连通状况。

RouterA和RouterB之间配置了VRRP备份组,RouterA为Master,RouterA和RouterB皆工作在抢占方式下。配置BFD/NQA/路由监测RouterA到RouterE之间的链路,并在RouterA上配置VRRP与BFD/NQA/路由联动。当BFD/NQA/路由检测到RouterA到RouterE之间的链路故障时,通知RouterA降低自身优先级,触发主备切换以实现链路切换。当上行链路故障恢复时,原Master设备在备份组中的优先级将恢复为原来的值,重新抢占成为Master。

配置VRRP与BFD/NQA/路由联动时,备份组中的Master和Backup设备必须都工作在抢占方式下。

VRRPBFD/NQA/路由联动监视上行链路,仅可在Master设备上配置

system-view
interface
interface-type interface-number
     键入Master设备VRRP接口,可以是物理、逻辑或子接口
vrrp vrid virtual-router-id track bfd-session {bfd-session-id | session-name bfd-config-name} [reduced value-reduced]     (三选一)在Master设备VRRP接口上使能VRRP通过联动BFD会话状态来实现主备切换的功能。
vrrp vrid virtual-router-id track nqa admin-name test-name [reduced value-reduced    (三选一)在Master设备VRRP接口上使能VRRP与NQA联动功能。
vrrp vrid virtual-router-id track ip route ip-address {mask-address | mask-length}[vpn-instance vpn-name] [reduced value-reduced]      (三选一)在Master设备VRRP接口上使能VRRP联动指定的路由功能。

四、VRRP与接口状态联动监视上行接口的配置示例:

局域网主机通过Swtich双线连接到部署了VRRP备份组的RouterA和RouterB,RouterA为Master。当RouterA的上行接口GE1/0/0状态Down时,VRRP备份组能够及时感知并切换。

1、基本配置思路

要监控RouterA的上行接口,可采用VRRP与接口状态联动来实现对上行接口故障的感知及主备网关切换。

1)配置各设备接口IP及路由协议,使网络层路由可达。
2)在RouterA和RouterB上配置VRRP备份组。
3)在担当Master设备的RouterA上配置VRRP与接口状态联动,监视上行接口GE1/0/0,实现在A到C间链路出现故障时,VRRP备份组及时感知并进行切换。



将AR1的GE0/0/1shutdown

通过上面的查询和抓包,可以看到AR1的VRRP优先级变为了80,即配置的120减去联动时配置的减少值40,抓包中通告报文中Priority值为100,即抢占为Master的AR2的优先级。联动中IP state由原来的UP变为DOWN。

五、VRRP与BFD联动实现快速切换配置示例

1、基本配置思路

要监控的是RouterA和RouterB之间的链路状态,采用VRRP与BFD联动实现。

1)配置各设备接口IP及路由协议,使网络层路由可达。
2)在RouterA和RouterB上配置VRRP备份组。
3)在RouterA和RouterB上配置静态BFD会话,监测备份组之间的链路
4)在RouterB上配置VRRP与BFD联动。



对于vrrp vrid virtual-router-id track bfd-session {bfd-session-id | session-name bfd-config-name} [reduced value-reduced]这条命令中session-name参数,通过配置应该是AR2中BFD中的本地标识符,而不是BFD名称。

执行测试:AR1接口G0/0/0shutdown:

可以看到AR2变为Master,但是AR1变为initialize状态,这个状态是初始状态,为VRRP不可用状态,在此状态时设备不会对VRRP报文做任何处理。通常刚配置VRRP时或设备故障时会进入该状态。收到接口Startup(启动)消息后,如设备优先级为255,直接成为Master,小于255,进入Backup状态。这里接口算是故障,所以进入Initialize状态。

关闭LSW的G0/0/1端口:

同AR1的G0/0/0接口关闭效果一样

关闭LSW的G0/0/2端口

可见,AR2的VRRP处于Initialize状态,但是其运行时的Priority即PriorityRun变为了140,BFD状态改变后的效果显现了,VRRP因为此时的端口G0/0/0如下

其为Down状态,所以VRRP处于Initialize状态。

六、VRRP与BFD联动监视上行链路的配置示例

VRRP备份组部署在RouterA和RouterB上,RouterA为Master,正常情况下,用户侧流量经过Switch——RouterA——RouterC——RouterE,当RouterC和RouterE间链路故障时,VRRP备份组可快速感知切换。

1、基本配置思路

要监控的是上行非直连链路,可采用与BFD联动的方式。

1)配置各设备接口IP及路由协议,使网络层路由可达。
2)在RouterA和RouterB上配置VRRP备份组。
3)在RouterA和RouterE上配置静态BFD会话,检测A到E之间的链路。
4)在RouterA上配置VRRP与BFD联动。







七、VRRP与NQA联动监视上行链路配置示例

局域网内主机通过Switch双线连接到部署了VRRP备份组的RouterA和RouterB,其中RouterA为Master,当RouterC到RouterE之间的链路故障或链路质量较差时,VRRP备份组可感知并进行主备切换。

1、基本配置思路

要监控非直连上行链路,可采用VRRP与NQA联动实现对上行链路故障的感知及主备切换。

1)配置各设备接口IP及路由协议,使网络层路由可达。

2)在RouterA和RouterB上配置VRRP备份组。

3)在RouterA上配置ICMP类型的NQA测试例,配置目的地址为RouterE上接口GE1/0/0的IP地址,监测RouterA到RouterE的接口GE1/0/0间链路的连通性。

4)在RouterA上配置VRRP和NQA联动。

与上例完全相同的拓扑,配置基本相同,不同点是不配置BFD,而是配置NQA:

只需在AR1上进行修改

关闭AR3的G0/0/1端口及恢复操作:

八、VRRP与路由联动监视上行链路配置示例

用户侧流量经Switch——>RouterA——>RouterC ——>RouterE转发。当RouterC到RouterE之间路由撤消或状态变为非激活时,VRRP备份组感知并切换。

1、基本配置思路

监控的对象是上行链路的路由,故可采取VRRP与路由联动监视上行链路的方案。

1)配置各设备接口IP及路由协议,使网络层路由可达。
2)在RouterA和RouterB上配置VRRP备份组。
3)在RouterA上配置VRRP与路由联动功能,实现监控路由撤消或状态变为非激活时,触发VRRP备份组切换。

网络拓扑跟上面实例完全一样

IP地址配置、OSPF配置以及VRRP配置跟上例完全一样,配置后,进行上行链路路由的联动配置:

模拟故障,将AR3的G0/0/1端口关闭,则

Master进行了切换。

与路由联动是有一定的缺陷的,在测试的时候,先是关闭了AR3的G0/0/0接口,这时候Master没有切换:

通过路由表,到达20.1.1.0的路由没有失效,只是cost值发生变化,而实际中如果发生这种情况,我们是希望Master进行切换,直接从AR2发送数据。

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值