Virtual Router Redundancy Protocol,也即虚拟路由器冗余协议。
利用VRRP,一组路由器协同工作,但只有一个处于Master状态,处于该状态的路由器承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP,该地址被作为局域网内所有主机的缺省网关地址。
虚拟IP地址、MAC地址:用于标示虚拟的路由器,该地址实际上就是用户的默认网关.
VRRP路由器:
运行VRRP的路由器。一台VRRP路由器可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色。
VRRP组:
一个VRRP组由多个VRRP路由器组成,使用相同的VRID ( Virtual Router ID,虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能有一个Master。
虚拟路由器:
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、Master故障后谁来接替,这是VRRP的工作。
虚拟MAC地址:
通过VRRP形成的虚拟路由器使用虚拟IP地址和虚拟MAC与网络中的PC进行通信。虚拟MAC的格式如下︰最后1个字节的VRID表示虚拟路由器ID的16进制,例如VRID是1,虚拟MAC地址为00-00-5E-00-01-01.
Master路由器:
定时(Advertisement Interval )发送VRRP通告报文,以便向Backup路由器告知自己的存活情况。
以虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求。转发目的MAC地址为虚拟MAC地址的IP报文。
如果它是这个虚拟IP地址的拥有者(接口实际IP地址为虚拟IP地址),则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
如果收到比自己优先级大的报文,立即成为Backup。
如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup.
Backup路由器:
接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。
对虚拟IP地址的ARP请求,不做响应。
丢弃目的IP地址为虚拟IP地址的IP报文。
如果收到优先级和自己相同或者比自己大的报文,则重置Master_Down_Interval定时器,不进一步比较IP地址。
如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_time (偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为Master。
R2和R3运行VRRP协议,两台路由器在同一个虚拟组;
备份组号为1,虚拟网关IP地址为172.16.1.254/24;
将R2设为备份路由器,R3设为主路由器。
VRRP将局域网的一组路由器(包括一个Master即活动路由器和若千个Backup即备份路由器)组织成一个虚拟路由器,称之为一个备份组。
VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时由另一台路由器来代替,从而保持通讯的连续性和可靠性。
VRRP优先级不相等时,主备选举过程(参照上图详解所示):
1.R1的接口VRRP优先级为110,R2的接口VRRP优先级为100,两台设备完成初始化后首先切换至Backup状态。
2.R1与R2根据各自MASTER_Down定时器超时时间由Backup切换到Master状态,所以R1比R2更快切换至Master状态。
3. R1和R2通过相互发送VRRP报文进行Master选举,优先级高的被选举为Master设备,因此R1被选为Master路由器。
4.R1被选举为Master路由器后,立即发送免费ARP报文将虚拟MAC地址通告给与它连接的设备和主机。
1. VRRP组中的设备选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
2. Master设备周期性向备份组内所有Backup设备发送VRRP通告报文。
3.如果Master设备出现故障,VRRP备份组中的Backup设备重新选举新的Master。
4.VRRP组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文=,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
5.原Master设备故障恢复时,若该设备为IP地址拥有者(则其优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
6. Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
注意
:VRPP既不属于TCP,也不属于UDP,组播地址是D类地址:224.0.0.18,协议号是112.
在MASTER路由器R1的下行接口G0/0/0中,配置如下命令:
#
interface GigabitEthernet0/0/0
ip address 192.168.0.254 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.0.1 ##创建VRRP虚拟路由器的标识VRID为1,并配置VRID 1的虚拟IP地址
vrrp vrid 1 priority 120 ##设置MASTER路由器R1的优先级为120(缺省值为100,数值越大越优先)
vrrp vrid 1 preempt-mode timer delay 5 ##配置MASTER路由器R1的抢占时延为5秒(缺省值为0,以防频繁地进行状态切换)
vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30 ##跟踪上行接口G0/0/1的状态,如端口故障,则MASTER优先降低30(缺省值为10)
vrrp vrid 1 track interface GigabitEthernet0/0/2 ##跟踪下行接口
#
interface GigabitEthernet0/0/1 ##进入接口G0/0/1
ip address 10.0.0.1 255.255.255.0 ##配置该接口的IP地址
#
在MASTER路由器加入IP地址为30.0.0.0的静态路由,如下所示:
#
ip route-static 30.0.0.0 255.255.255.0 10.0.0.3
#
当MASTER路由器R1(shutdown)时,BACKUP路由器R2取而代之,成为此时的MASTER路由器,保证局域网中数据报的连通;
在BACKUP路由器R2的下行接口G0/0/1中,配置如下命令:
#
interface GigabitEthernet0/0/1 ##进入G0/0/1接口
ip address 192.168.0.253 255.255.255.0 ##配置该接口的IP地址
vrrp vrid 1 virtual-ip 192.168.0.1 ##创建VRRP虚拟路由器的标识VRID为1,并配置VRID 1 的虚拟IP地址
#
对BACKUP路由器R2,抓取数据包查看该备份路径上的VRRP路由信息如下所示:
在BACKUP路由器R2上查看VRRP协议信息;
[R2]dis vrrp
GigabitEthernet0/0/1 | Virtual Router 1
State : Master
Virtual IP : 192.168.0.1
Master IP : 192.168.0.253
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 100
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-0101
Check TTL : YES
Config type : normal-vrrp
Backup-forward : disabled
Create time : 2023-03-20 14:14:06 UTC-08:00
Last change time : 2023-03-20 14:29:09 UTC-08:00
此看此时shutdown掉后的路由器R1;
注意:
在路由器上添加VRRP协议时,需要在路由器的下行接口上配置VRRP虚拟组以及虚拟IP地址,跟踪路由器的上行接口。
实验拓扑图如下所示:
主机PC1处于VLAN 10,主机PC2处于VLAN 20;
针对VRID 1组中路由器R1的下行接口(G0/0/0),可以视为三层交换机SW1充当主路径MASTER交换机,三层交换机SW2充当备份BACKUP交换机;
针对VRID 2组中路由器R1的下行接口(G0/0/1),可以视为三层交换机SW2充当主路径MASTER交换机,三层交换机SW1充当备份BACKUP交换机;
实验步骤如下所示:
一、按照指定要求配置主机PC1的IP地址,虚拟VRID 1的IP地址充当主机PC1的网关地址;
按照指定要求配置主机PC2的IP地址,虚拟VRID 2的IP地址充当主机PC2的网关地址;
二、在二层交换机SW3上添加VLAN 10、20、100;
[SW3]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW3]int e0/0/1
[SW3-Ethernet0/0/1]port link-type trunk
[SW3-Ethernet0/0/1]port trunk allow-pass vlan all
[SW3-Ethernet0/0/1]undo shutdown
Info: Interface Ethernet0/0/1 is not shutdown.
[SW3-Ethernet0/0/1]int e0/0/2
[SW3-Ethernet0/0/2]port link-type trunk
[SW3-Ethernet0/0/2]port trunk allow-pass vlan all
[SW3-Ethernet0/0/2]undo shutdown
Info: Interface Ethernet0/0/2 is not shutdown.
[SW3-Ethernet0/0/2]int e0/0/3
[SW3-Ethernet0/0/3]port link-type access
[SW3-Ethernet0/0/3]port default vlan 10
[SW3-Ethernet0/0/3]undo shutdown
Info: Interface Ethernet0/0/3 is not shutdown.
[SW3-Ethernet0/0/3]int e0/0/4
[SW3-Ethernet0/0/4]port link-type access
[SW3-Ethernet0/0/4]port default vlan 20
[SW3-Ethernet0/0/4]undo shutdown
Info: Interface Ethernet0/0/4 is not shutdown.
三、配置三层交换机SW1;
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 100
[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all
[SW1-GigabitEthernet0/0/2]undo shutdown
Info: Interface GigabitEthernet0/0/2 is not shutdown.
[SW1]int vlanif 10
[SW1-Vlanif10]ip add 192.168.10.10 24
[SW1-Vlanif10]undo shutdown
Info: Interface Vlanif10 is not shutdown.
[SW1-Vlanif10]int vlanif 20
[SW1-Vlanif20]ip add 192.168.20.10 24
[SW1-Vlanif20]undo shutdown
Info: Interface Vlanif20 is not shutdown.
[SW1-Vlanif20]int vlanif 100
[SW1-Vlanif100]ip add 11.0.0.2 30
[SW1-Vlanif100]undo shutdown
Info: Interface Vlanif100 is not shutdown.
#
ip route-static 1.1.1.1 255.255.255.255 11.0.0.1
#
四、配置三层交换机SW2;
五、配置路由器R1;
六、PC主机上验证实验结果;
三层交换机SW2出现网络中断时,对于VRID 2来说,由三层交换机SW1充当备份路由,对与VRID 1来说,三层交换机SW1依然是MASTR路由,实现网络的连接;
三层交换机SW1出现网络中断时,对于VRID 1来说,由三层交换机SW2充当备份路由,对与VRID 2来说,三层交换机SW2依然是MASTR路由,实现网络的连接;
在三层交换机SW2上抓取数据包,解析查看如下所示:
本地回环地址:1.1.1.1 32的IP地址,在该网段内有其仅有一个,因此在配置该本地回环地址的静态路由信息时,应具体到该IP地址,以防错误;
主机PC2属于VLAN 20的网段,因此必须通过与之相连的三层路由器SW2 的VLANIF 20的IP地址充当主机PC2的网关地址。
三层交换机与路由器的接口属于同一网段,因此在路由器中配置静态路由时,下一跳地址应是与路由器相连的同一网段的三层交换机的虚拟IP地址;
VRRP提供了局域网上的设备备份机制。VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时由另一台路由器来代替,从而保证通讯的连续性和可靠性。
VRRP工作时会在网络中加入一个含有虚拟IP和虚拟MAC地址的虚拟路由器,该路由器允当网络用户的网关,使得网络上的主机与虚拟路由器通信无需了解这个网络上物理路由器的任何信息。
VRRP报文的发送:当Master设备正常工作时,它会每隔一段时间(缺省为1秒)向组内Backup设备发送VRRP通告报文,通告自己工作正常。(注:只有Master发送VRRP报文)
VRRP通告报文被封装在IP报文里,工作在第三层(网络层),通过组播地址224.0.0.18发送,TTL为255,协议号为112.
VRRP报文:VRRP报文是一种组播报文,由Master路由器发出来通告它的存在,使用VRRP报文可以检测虚拟路由器的各种参数,用于主路由器的选择。