【网络基础】VRRP虚拟路由冗余协议介绍与配置

目录

一、VRRP的概述

[1.1 VRRP的由来](#1.1 VRRP的由来)

[1.2 作用](#1.2 作用)

[1.3 基本结构](#1.3 基本结构)

[1.4 状态机流程](#1.4 状态机流程)

[1.5 设备类型](#1.5 设备类型)

[二、 实例演示](#二、 实例演示)


一、VRRP的概述

1.1 VRRP的由来

局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以通过部署多个网关的方式来解决单点故障问题,那么如何让多个网关能够协同工作但又不会互相冲突就成了最迫切需要解决的问题。于是VRRP应运而生,它既可以实现网关的备份,又能解决多个网关之间互相冲突的问题。

1.2 作用

VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。

1.3 基本结构

利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务,并且每秒都会给Backup路由器发送Advertisement报文(目的地址为224.0.0.18(组播地址),协议号112),来告知Backup路由器自己的优先级以及状态, Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。

1.4 状态机流程

设备使用vrrp协议,开机后先看自己的优先级是否为255,如果为255立即成为主,因为255是最大的优先级。当设备开机后,且发现自己的优先级不是255,先成为备再观察是否有比自己更大的优先级。

成为备后,当收到比自己大的优先级报文,那么继续做备;

当收到比自己小的优先级报文,那么成为主;
一般3秒内未收到报文,那么就成为主;

收到优先级为0的报文,代表主要主动退出,做好成为主的准备。

默认0 - 255,0 代表主要退出,255代表有设备和虚拟ip冲突,可手动配置 1-254,优先级相同会比较接口地址大的优先,优先级默认为100。

1.5 设备类型

主(master)路由器

通过比较VRRP优先级,优先级大的是master路由器; 周期性的发送VRRP报文,维护master路由器和备份路由器的身份, 周期时间默认是1s; 备份网关,通过比较 VRRP 优先级,优先级小的是备份路由器;

当路由器处于Master状态时,它将会做下列工作:

  • 定期发送VRRP报文。
  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器封装的时候都封装虚拟路由器的 mac地址。
  • 转发目的MAC地址为虚拟MAC地址的IP报文。
  • 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
  • 如果收到比自己优先级大的报文则转为Backup状态。
  • 如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态。
  • 当接收到接口的Shutdown事件时,转为Initialize。

备份(backup)路由器

通过不断的接收master路由器发送的 VRRP 报文来判断master路由器的状态; 如果在master路由器发送VRRP的周期的3倍时间内(默认为3秒内),收不到 VRRP 报文,则认为master路由器出现故障,自己升级为master路由器。

当路由器处于Backup状态时,它将会做下列工作:

  • 接收Master发送的VRRP报文,判断Master的状态是否正常。
  • 对虚拟IP地址的ARP请求,不做响应。
  • 丢弃目的MAC地址为虚拟MAC地址的IP报文。
  • 丢弃目的IP地址为虚拟IP地址的IP报文。
  • Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。
  • 当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master。
  • 当接收到接口的Shutdown事件时,转为Initialize。

二、 实例演示

将路由器AR1与AR2做虚拟路由器,并测试可用性(eNSP模拟)

VRRP拓扑图如下:

PC1、2、3的配置如上图,网关分别为192.168.1/2.254,在此不过多赘述。

此处主要展示AR1、2、3的配置,

路由器AR1配置:

bash 复制代码
sys    #进入系统视图

int g0/0/0    #进入0/0接口

ip add 192.168.1.10 24    #为接口配置IP地址

vrrp vrid 1 virtual-ip 192.168.1.254    #设置组1,并且配置虚拟网关

int g0/0/1    #进入0/1接口

ip add 20.0.0.1 24    #为接口配置IP地址

ip route-static 192.168.2.0 24 20.0.0.2    #配置静态路由,方便PC1、2与PC3连通

路由器AR2配置:

bash 复制代码
sys    #进入系统视图

int g0/0/0    #进入接口模式

ip add 192.168.1.20    #配置IP地址

vrrp vrid 1 virtual-ip 192.168.1.254    #设置组1,并且配置虚拟网关

vrrp vrid 1 priority 120    #配置优先级为120,默认值为100,越大优先级越高

vrrp vrid 1 preempt-mode timer delay 10    #延迟抢占,设置为10秒后再抢占master

vrrp vrid 1track int g0/0/1 reduce 50 #监听该路由器的上行端口g0/0/1,若出故障就减50优先权值
    
int g0/0/1    #进入接口模式

ip add 10.0.0.1 24    #配置IP地址

ip route-static 192.168.2.0 24 10.0.0.2    #配置静态路由,方便PC1、2与PC3连通

路由器AR3配置:

bash 复制代码
sys    #进入系统视图

int g0/0/0    #进入接口模式

ip add 10.0.0.2 24    #配置IP地址

int g0/0/0    #进入接口模式

ip add 20.0.0.2 24    #配置IP地址

ip route-static 192.168.1.0 24 10.0.0.1    #配置静态路由,方便PC1、2与PC3连通

ip route-static 192.168.1.0 24 20.0.0.1 preference 70 #配置浮动路由,配置优先级为70,默认为60,越高优先级越低

测试可以ping通,

若将AR1的下行端口关闭,再进行测试后发现仍可以ping通,

目的达成。

相关推荐
长弓三石2 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
follycat2 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
xiaoxiongip6663 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip
JaneJiazhao3 小时前
HTTPSOK:智能SSL证书管理的新选择
网络·网络协议·ssl
CXDNW3 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
无所谓จุ๊บ4 小时前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
道法自然04024 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
EasyCVR5 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
明月看潮生6 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学