数据通信——VRRP

引言

之前把实验做了,结果发现我好像没有写过VRRP的文章,连笔记都没记过。可能是因为对STP的记忆,导致现在都没忘太多。

一,什么是VRRP

    VRRP全名是虚拟路由冗余协议,虚拟路由,看名字就知道这是运行在三层接口上面的设备。因此无论是三层交换机、路由器还是防火墙上面,都可以用VRRP。VRRP是一种备份的技术,用于设备中网关的备份。

    VRRP不同于STP,STP主要是做二层的防环和冗余备份技术,而VRRP重点在于三层设备的防止冗余与备份。一般出于性能和安全考虑,STP和VRRP都是默认同时开启的。这样一个防护二层,一个防护三层,岂不美哉!

二,专业用语

(1)Virtual Router:虚拟路由器,它是虚拟出来的,我们在虚拟路由器中部署VRRP,虚拟接口会随着物理接口的关闭而关闭,虚拟设备中存在虚拟的IP和MAC地址,所有虚拟路由器都共用这个地址。

(2)VRRP Router:运行VRRP的路由器,即运行VRRP协议的路由器,它可以加入到VRRP组中。

(3)IP Address Owner:IP地址拥有者,虚拟路由器的虚拟IP地址与接口的真实IP地址相同的VRRP路由器。

(4)Virtual Router Master:它就是所谓的Master,负责转发通过虚拟路由器的三层数据包,对虚拟路由器的IP地址的ARP请求进行回应。

(5)Virtual Router Backup:这些是非Master的虚拟备份路由器,不转发三层数据包,不应答虚拟IP地址的ARP请求,当虚拟主路由器出现故障时接替虚拟主路由器的工作。 

 

三,VRRP工作状态

    VRRP是一组路由器(在同一接口)协同工作,但只有一个路由器处于master状态,这个Master状态才会进行流量转发。在同一VRRP组内的多个路由器共用一个虚拟地址,该地址被作为局域网内其他主机的默认网关。 VRRP决定哪个路由器为master状态,负责接收发送至用户网关的数据包并转发,以及响应PC对网关的arp请求。还有一个backup路由器侦听master状态,如果Master出现问题随时准备接替。

    一般呢,VRRP通过优先级判断谁是Master,最大的优先级成为Master。其它的成为Backup监听Master状态。优先级默认为100,如果当优先级一致的时候,比较IP地址大小,IP地址大的优先。如果Master崩了,组内仅次于Master的会成为新的Master。

 

四,运作过程

(1) INITIALIZE:

路由器启动时,如果路由器的优先级是255(最高优先级,当且仅当配置的VRRP虚拟IP地址和接口IP相同,即所谓IP地址拥有者),要发送VRRP通告信息,并发送广播ARP信息通告路由器IP地址对应的MAC地址为路由虚拟MAC,设置通告信息定时器准备定时发送VRRP通告信息,转为MASTER状态:否则进入BACKUP状态,设置定时器检查定时检查是否收到MASTER的通告信息。

(2) MASTER

Master担任着很多任务:首先它要定时对Backup虚拟路由们通告,表示自己还存在;它会用VRRP虚拟MAC地址响应路由器IP地址的ARP请求;会转发目的MAC是VRRP虚拟MAC的数据包;同时,它还具备网关相应的作用。

(3) BACKUP

Backup担任着以下功能:设置主机超时定时器,主机找不到了就要重新选举了;不能响应针对虚拟路由器IP的ARP请求信息,丢弃所有目的MAC地址是虚拟路由器MAC地址的数据包,这些相应转发都由Master完成;当Master找不到了,那就要进行广播通告,告诉所有设备Master丢了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62973.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件测试】Linux环境Ant调用Jmeter脚本并且生成测试报告(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 准备工作 需要在…

mac arm 通过brew搭建 php+nginx+mysql+xdebug

1.安装nginx brew install nginx //安装brew services start nginx //启动2.安装php brew install php7.4 //安装export PATH"/opt/homebrew/opt/php7.4/bin:$PATH" //加入环境变量 export PATH"/opt/homebrew/opt/php7.4/sbin:$PATH"brew serv…

使用MIT Kerberos Ticket Manager在windows下浏览器访问hadoop页面

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言准备配置说明安装Firefox浏览器安装MIT Kerberos Ticket Manager客户端配置krb5.ini文件配置MIT Kerberos Ticket Manager客户端配置Firefox浏览器代理参数 访问WebUI 前言 kerberos是一种计算机…

Postman接口自动化测试实战,从0到1一篇彻底打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 postman中的测试 …

neo4j的CQL命令实例演示

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

dubbo之高可用

负载均衡 概述 负载均衡是指在集群中,将多个数据请求分散到不同的单元上执行,主要是为了提高系统的容错能力和对数据的处理能力。 Dubbo 负载均衡机制是决定一次服务调用使用哪个提供者的服务。 策略 在Dubbo中提供了7中负载均衡策略,默…

VS Code 使用cnpm下载包失败

一、 问题如下: 网上找到的解决方法是要在powershell中执行: Set-ExecutionPolicy RemoteSigned进行更改策略。 首先我们解释下这个Set-ExecutionPolicy RemoteSigned,Set-ExecutionPolicy 是一个 PowerShell 命令,用于控制脚本…

为什么商业基础软件需要开源

Bytebase 本身是一家商业软件公司,而作为最核心资产的代码从 Day 0 却是开源的。同时我们还是 star-history.com 的运营者,大家在各种开源渠道会看到它生成的图: 一直以来,常会被别人问起的一个问题,就是为什么 Byteba…

C# 使用FFmpeg.Autogen对byte[]进行编解码

C# 使用FFmpeg.Autogen对byte[]进行编解码,参考:https://github.com/vanjoge/CSharpVideoDemo 入口调用类: using System; using System.IO; using System.Drawing; using System.Runtime.InteropServices; using FFmpeg.AutoGen;namespace F…

最新AI创作系统ChatGPT源码V2.5.8/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt+MJ以图生图+思维导图生成!

使用Nestjs和Vue3框架技术,持续集成AI能力到系统! 最新版【V2.5.8】更新: 新增 MJ 官方图片重新生成指令功能同步官方 Vary 指令 单张图片对比加强 Vary(Strong) | Vary(Subtle)同步官方 Zoom 指令 单张图片无限缩放 Zoom out 2x | Zoom ou…

【BI系统】选型常见问题解答二

本文主要总结BI系统选型过程中遇见的常见问题,并针对性做出回答,希望能为即将选型,或正在选型BI系统的企业用户们提供一个快速了解通道。 有针对金蝶云星空的BI方案吗?能起到怎样的作用? 答:奥威BI系统拥…