vrrp协议_虚拟路由冗余协议VRRP原理介绍
一、概述:
1.1. 产生背景
随着Internet的发展,人们对网络可靠性的要求越来越高。特别是对于终端用户来说,能够实时与网络其他部分保持联系是非常重要的。一般来说,主机通过设置默认网关来与外部网络联系,如图1所示:
主机将发送给外部网络的报文发送给网关,由网关传递给外部网络,从而实现主机与外部网络的通信。正常的情况下,主机可以完全信赖网关的工作,但是当网关坏掉时,主机与外部的通信就会中断。要解决网络中断的问题,可以依靠再添加网关的方式解决,不过由于大多数主机只允许配置一个默认网关,此时需要网络管理员进行手工干预网络配置,才能使得主机使用新的网关进行通信;有时,人们运用动态路由协议的方法来解决网络出现故障这一问题,如运行RIP、OSPF等,或者使用IRDP。然而,这些协议由于配置过于复杂,或者安全性能不好等原因都不能满足用户的需求。为了更好地解决网络中断的问题,网络开发者提出了VRRP,它既不需要改变组网情况,也不需要在主机上做任何配置,只需要在相关路由器上配置极少的几条命令,就能实现下一跳网关的备份,并且不会给主机带来任何负担。和其他方法比较起来,VRRP更加能够满足用户的需求。1.2.技术优点VRRP是一种容错协议,它保证当主机的下一跳路由器出现故障时,由另一台路由器来代替出现故障的路由器进行工作,从而保持网络通信的连续性和可靠性。VRRP具有如下优点:
- 简化网络管理。在具有多播或广播能力的局域网(如以太网)中,借助VRRP 能在某台设备出现故障时仍然提供高可靠的缺省链路,有效避免单一链路发生故障后网络中断的问题,而无需修改动态路由协议、路由发现协议等配置信息,也无需修改主机的默认网关配置。
- 适应性强。VRRP 报文封装在IP 报文中,支持各种上层协议。
- 网络开销小。VRRP 只定义了一种报文——VRRP 通告报文,并且只有处于Master 状态的路由器可以发送VRRP 报文。
二、VRRP协议介绍:
2.1. 相关术语
虚拟路由器:由一个 Master 路由器和多个Backup 路由器组成。主机将虚拟路由器当作默认网关。
VRID:虚拟路由器的标识。有相同VRID 的一组路由器构成一个虚拟路由器。
Master 路由器:虚拟路由器中承担报文转发任务的路由器。
Backup 路由器:Master 路由器出现故障时,能够代替Master 路由器工作的路由器。
虚拟 IP 地址:虚拟路由器的IP 地址。一个虚拟路由器可以拥有一个或多个IP 地址。
IP 地址拥有者:接口IP 地址与虚拟IP 地址相同的路由器被称为IP 地址拥有者。
虚拟 MAC 地址:一个虚拟路由器拥有一个虚拟MAC 地址。虚拟MAC 地址的格式为00-00-5E-00-01-{VRID}。通常情况下,虚拟路由器回应ARP 请求使用的是虚拟MAC 地址,只有虚拟路由器做特殊配置的时候,才回应接口的真实MAC 地址。
优先级:VRRP 根据优先级来确定虚拟路由器中每台路由器的地位。
非抢占方式:如果 Backup 路由器工作在非抢占方式下,则只要Master 路由器没有出现故障,Backup 路由器即使随后被配置了更高的优先级也不会成为Master 路由器。
抢占方式:如果Backup 路由器工作在抢占方式下,当它收到VRRP 报文后,会将自己的优先级与通告报文中的优先级进行比较。如果自己的优先级比当前的Master 路由器的优先级高,就会主动抢占成为Master 路由器;否则,将保持Backup 状态。
2.2. 虚拟路由器简介
VRRP将局域网内的一组路由器划分在一起,形成一个VRRP备份组,它在功能上相当于一台虚拟路由器,使用虚拟路由器号进行标识。以下使用虚拟路由器代替VRRP备份组进行描述。虚拟路由器有自己的虚拟IP地址和虚拟MAC地址,它的外在表现形式和实际的物理路由器完全一样。局域网内的主机将虚拟路由器的IP地址设置为默认网关,通过虚拟路由器与外部网络进行通信。虚拟路由器是工作在实际的物理路由器之上的。它由多个实际的路由器组成,包括一个Master路由器和多个Backup路由器。Master路由器正常工作时,局域网内的主机通过Master与外界通信。当Master路由器出现故障时,Backup路由器中的一台设备将成为新的Master路由器,接替转发报文的工作,如图2所示。
2.3. VRRP工作过程
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。由此可见,为了保证Master路由器和Backup路由器能够协调工作,VRRP需要实现以下功能:
Master 路由器的选举;
Master 路由器状态的通告;
同时,为了提高安全性,VRRP 还提供了认证功能;
2.3.1 Master路由器的选举
VRRP根据优先级来确定虚拟路由器中每台路由器的角色(Master路由器或Backup路由器)。优先级越高,则越有可能成为Master路由器。初始创建的路由器工作在Backup状态,通过VRRP报文的交互获知虚拟路由器中其他成员的优先级:
如果 VRRP 报文中Master 路由器的优先级高于自己的优先级,则路由器保
持在Backup 状态;
如果 VRRP 报文中Master 路由器的优先级低于自己的优先级,采用抢占工作方式的路由器将抢占成为Master 状态,周期性地发送VRRP 报文,采用非抢占工作方式的路由器仍保持Backup 状态;
如果在一定时间内没有收到 VRRP 报文,则路由器切换为Master 状态。VRRP优先级的取值范围为0到255(数值越大表明优先级越高),可配置的范围是1到254,优先级0为系统保留给路由器放弃Master位置时候使用,255则是系统保留给IP地址拥有者使用。当路由器为IP地址拥有者时,其优先级始终为255。因此,当虚拟路由器内存在IP地址拥有者时,只要其工作正常,则为Master路由器。
2.3.2 Master路由器状态的通告
Master路由器周期性地发送VRRP报文,在虚拟路由器中公布其配置信息(优先级等)和工作状况。Backup路由器通过接收到VRRP报文的情况来判断Master路由器是否工作正常。Master路由器主动放弃Master地位(如Master路由器退出虚拟路由器)时,会发送优先级为0的VRRP报文,致使Backup路由器快速切换变成Master路由器。这个切换的时间称为Skew time,计算方式为:(256-Backup路由器的优先级)/256,单位为秒。当Master路由器发生网络故障而不能发送VRRP报文的时候,Backup路由器并不能立即知道其工作状况。Backup路由器等待一段时间之后,如果还没有接收到VRRP报文,那么会认为Master路由器无法正常工作,而把自己升级为Master路由器,周期性发送VRRP报文。如果此时多个Backup路由器竞争Master路由器的位置,将通过优先级来选举Master路由器。Backup路由器默认等待的时间称为Master_Down_Interval,取值为:(3×VRRP报文的发送时间间隔)+Skewtime,单位为秒。在 性 能 不 够稳定的网络中, Backup 路由器可能因为网络堵塞而在Master_Down_Interval期间没有收到Master路由器的报文,而主动抢占为Master位置,如果此时原Master路由器的报文又到达了,就会出现虚拟路由器的成员频繁的进行Master抢占现象。为了缓解这种现象的发生,特制定了延迟等待定时器。它可以使得Backup路由器在等待了Master_Down_Interval后,再等待延迟等待时间。如在此期间仍然没有收到VRRP报文,则此Backup路由器才会切换为Master路由器,对外发送VRRP报文。
2.3.3 认证方式
VRRP提供了三种认证方式:
无认证:不进行任何 VRRP 报文的合法性认证,不提供安全性保障。
? 简单字符认证:在一个有可能受到安全威胁的网络中,可以将认证方式设置为简单字符认证。发送VRRP 报文的路由器将认证字填入到VRRP 报文中,而收到VRRP 报文的路由器会将收到的VRRP 报文中的认证字和本地配置的认证字进行比较。如果认证字相同,则认为接收到的报文是合法的VRRP 报文;否则认为接收到的报文是一个非法报文。
MD5 认证:在一个非常不安全的网络中,可以将认证方式设置为MD5 认证。发送VRRP 报文的路由器利用认证字和MD5 算法对VRRP 报文进行加密,加密后的报文保存在Authentication Header(认证头)中。收到VRRP报文的路由器会利用认证字解密报文,检查该报文的合法性。
点击留言板留言!
留言板
▼更多精彩推荐,请关注我们▼
生活不止眼前的苟且,
还有课本里的诗和到不了的远方!
vrrp协议_虚拟路由冗余协议VRRP原理介绍相关推荐
- 虚拟路由冗余协议VRRP
一.VRRP简介 虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网 ...
- 华为路由器:虚拟路由冗余协议VRRP的讲解
VRRP网关冗余技术 一.技术背景 如上图所示,如果我们局域网中只有一个路由器作为网关,假如某天我们的路由器宕机了,那么整个局域网就无法上网,我们一般称之为单点故障.那么如何解决网关的单点故障呢? 我 ...
- linux内核vrrp配置,在Linux下的(VRRP)虚拟路由冗余协议介绍(转)
在Linux下的(VRRP)虚拟路由冗余协议介绍(转)[@more@] 这篇文章描述的是如何在Linux下实现VRRP (Virtual Router Redundancy Protocol 虚拟路由 ...
- 网络协议学习:虚拟路由冗余协议 VRRP
背景 一个网络中的主机如果想向其他网络上的主机发送数据,必须经过主机所在网络的默认网关.随着网络的发展,网络中越来越多的机器需要和外界进行通信的时候,如果网关出现单点故障,那么整个网络都和外界断开的联 ...
- 虚拟路由冗余协议VRRP——双机热备份基础
VRRP 一.概述 产生背景 VRRP简介 相关概念 二.VRRP的报文结构 三.VRRP的状态机 四.VRRP中Master的选举和工作过程 Master路由器的选举 工作过程 正常工作 VRRP的 ...
- vrrp路由器三种状态_虚拟路由器冗余协议(VRRP)
虚拟路由器冗余协议(VRRP) 5.1 VRRP协议原理 VRRP协议(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)与HSRP类似,能够提高网络的稳定性和 ...
- 华为设备配置篇——VRRP配置(虚拟路由冗余)
VRRP可以监视上行端口的状态,当设备感知上行端口或者链路发生故障时,可以主动的降低VRRP的优先级,从而保证上行链路正常的backup设备能够通过选举切换成Master状态,指导报文转发. 接入交换 ...
- vrrp虚拟路由冗余协议简图
1.在PC1 PC2 PC3 设好IP地址 2建vlan 10 20 在SW1 的交换机中设G/0/03 G0/0/4 access g0/0/1 g0/0/2 trunk 捉包测试 3在SW2 建v ...
- ensp 虚拟路由冗余协议vrrp配置
ip设置与路由部分省略 master路由器: <HUAWEI>sys <HUAWEI>sys r1 [r1]un in en [r1]int g0/0/0 [r1-Gigabi ...
最新文章
- java threadgourp_Java Thread getThreadGroup()方法
- Protractor
- c语言 1或0 结果,C语言中,在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”。()...
- 链式前向星模板 建图+dfs+bfs+dijkstra
- 凯文·凯利:下一个5000天的12个必然趋势!
- IE浏览器打不开解决的方法
- 19 | 案例篇:为什么系统的Swap变高了(上)
- OneVPL与FFmpeg/GStreamer硬件编解码器
- 深入Java集合学习系列:HashMap的实现原理
- idea配置Maven的本地仓库(打开新的项目时自动更新本地仓库的位置)
- 人工智能领域开展标准化研究
- layer弹出层扩展自定义样式
- 第三章 进程管理笔记
- 面试题 计算机安全,XX计算机信息安全工程师面试题路由.doc
- matlab pca重构,如何反转PCA并从几个主要组成部分重建原始变量?
- python获取管理员权限
- HTML5 input类型 range滑动条 介绍与使用
- 律动荆棘皇冠 Crown of Thorns
- esp32触摸touch功能使用过程详述arduino
- GSM和GPRS有什么区别
热门文章
- python语言变量随时命名随时赋值_Python变量及数据类型用法原理汇总
- 计算机不能直接执行c语言编写的源程序,计算机不能直接执行用C语言编写的源程序。...
- 8080端口被占用怎么解决_端口占用不会搞?两行命令就解决!
- visual studio 自带的 宏 没反应_横山宏科幻动漫模型:插图造型怪异的胡佛战车欣赏...
- mysql5.6配置区分大小写
- Java经纬度坐标转换到平面坐标
- mysql 连接错误The server time zone value ‘?????????‘
- RabbitMQ实现(并发)多线程处理消息
- 获取Java对象中所有的属性名称和属性值
- decimal(10,2) 的含义