随笔- 91  文章- 0  评论- 2  阅读- 8973 

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

于是VRRP应运而生,它既可以实现网关的备份,又能解决多个网关之间互相冲突的问题。

 

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)

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

  2. 协议版本: VRRPv2(常用)和VRRPv3:

  3. VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。VRRP协议报文:

  4. 只有一种报文:Advertisement报文(通告报文);其目的IP地址是224.0.0.18,协议号是112。

  5. 利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺省网关地址。 VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包并进行转发,以及响应PC对于其网关IP地址的ARP请求。 Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工作,从而保证业务流量的平滑切换。

 

VRRP的基本结构

 

 状态机:

 

  • 默认0 - 255

  • 0 代表主要退出

  • 255代表 有设备和虚拟ip冲突

  • 可手动配置 1-254

  • 优先级相同会比较接口地址大的优先

  • 优先级默认为100

 

缺省 :默认值

 

 

 

 

 

 

 

设备类型

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

  • 备份(backup)路由器: 通过不断的接收master路由器发送的 VRRP 报文来判断master路由器的状态; 如果在一定的时间内,收不到 VRRP 报文,则认为master路由器出现故障,自己升级为master路由器; 这个“一定的时间”,默认是“master路由器发送VRRP的周期”的3倍,所以默认是 3s 。

  • 虚拟网关

    通过VRRP虚拟出来的网关IP地址,这个网关IP地址,是配置在终端设备上的; 终端设备访问其他网段时,直接将数据发送给虚拟网关IP地址, 此时只有master路由器会回应针对虚拟网关IP地址的ARP请求,所以最终终端设备发送的数据 发送到了master路由器设备上

    主机设置的网关 是 不在配置在 真实接口上

  • VRID 相同在同一个组中 只有在同一个组中 才会 共享 虚拟ip 虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器VRRP报文格式VRRP只使用到advertisement这一种报文,VRRP使用ip报文作为传输协议报文,协议号为112,使用固定的组播地址224.0.0.18进行发送

  • VRRP状态机 VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发那些发送到虚拟IP地址的报文。

  • Initialize

    设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理。

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

  • 定期发送VRRP报文。

  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器 封装的时候 都封装 虚拟路由器的 mac地址

  • 转发目的MAC地址为虚拟MAC地址的IP报文。

  • 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。

  • 如果收到比自己优先级大的报文则转为Backup状态。

  • 如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态。

  • 当接收到接口的Shutdown事件时,转为Initialize。

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

  • 接收Master发送的VRRP报文,判断Master的状态是否正常。

  • 对虚拟IP地址的ARP请求,不做响应。

  • 丢弃目的MAC地址为虚拟MAC地址的IP报文。

  • 丢弃目的IP地址为虚拟IP地址的IP报文。

  • Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址。

  • 当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master。

  • 当接收到接口的Shutdown事件时,转为Initialize。

 

 

VRRP工作原理 (1) 虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务;

(2) Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况;

(3) 如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master;

(4) 虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备。

(5) Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。

 

VRRP主备备份过程

设置了优先级 优先级大的优先 优先级一样的 时候 比较 接口的 mac 地址

 

 

路由器配置好以后,互相是不知道对面的配置,会互相发送通告报文,选举主备路由器

 

 

选举出主备路由器

 

 

 

选举出主备后, backup 就不再发送报文

 

 

master 始终在周期性发送 通告报文

master每间隔1秒发送一个通告报文,backup 始终监听master,backup一段时间内收不到master的报文会 成为主

 

 

master发生故障,主备切换过程

 

 

 

 

一般来说 在主发生故障的时, backup在3秒没回成为主(此时间核优先级等设置有关)

虚拟ip 会在路由器B上

 

 

原来的主路由器恢复

 

 

 

 

 

 posted on   游明诚  阅读(145)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示