职场小白必备知识点-VRRP协议
  H1iS5RmfeTkf 2023年11月19日 26 0

文档说明

本文主要介绍VRRP的产生背景和实现方式,并结合华为的VRP平台列举了实现VRRP功能的典型组网方式及配置。各个厂商最主要的区别体现在配置和实现方式,原理都是原理都差不多的。

测试过程

随着Internet的发展,人们对网络可靠性的要求越来越高。 特别是对于终端用户来说,能够时时与网络其他部分保持通信是非常重要的。 虚拟路由器冗余协议(VRRP)提供一种解决方案,能够保证终端用户与网络的联系可靠、稳定、不中断。一般来说,主机通过设置默认网关来与外部网络联系,因为这样配置非常简单。如图1


职场小白必备知识点-VRRP协议_Backup


1 常用网关配置图

网络上的主机设置了一条缺省路由(10.100.10.1),该路由的下一跳指向主机所在网段内的一个路由器RouterA,由RouterA将报文转发出去。这样,主机发出的目的地址不在本网段的报文将被通过缺省路由发往RouterA,从而实现了主机与外部网络的通信。然而,万一RouterA出现故障,主机将与外界失去联系,陷入孤立的境地。遗憾的是,仅仅在网络上多加一台路由器并不能解决问题。大多数主机只允许配置一个默认网关;同时,不管网络上存在多少个路由器,对于目标是其他网络的报文,主机只能使用已经配置好的那个默认网关。有一种解决方案是运行动态路由协议,如RIPOSPF,或者是ICMP路由发现协议等。但是,要想在每一台主机上都运行动态路由协议几乎是不可能的,这涉及到管理问题、安全问题、平台对协议的支持问题等等。

VRRP的出现使解决这个问题变得简单,它不改变组网情况,不需要在主机上做任何配置,只需要在相关路由器上配置极少的几条命令,就能实现下一跳网关的备份,不会给主机带来任何负担。 和其他方法比较起来,VRRP简单方便。

VRRP协议简述

简单来说,VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时的由另一台路由器来代替,从而保持通讯的连续性和可靠性。为了使VRRP工作,要在路由器上配置虚拟路由器号和虚拟IP地址,同时产生一个虚拟MAC地址,这样在这个网络中就加入了一个虚拟路由器。而网络上的主机与虚拟路由器通信,无需了解这个网络上物理路由器的任何信息。一个虚拟路由器由一个主路由器和若干个备份路由器组成,主路由器实现真正的转发功能。当主路由器出现故障时,一个备份路由器将成为新的主路由器,接替它的工作。

VRRP中只定义了一种报文——VRRP报文,这是一种多播报文,由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举。

VRRP中定义了三种状态模型:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有活动状态可以为到虚拟IP地址的转发请求服务。

RFC2338中规定的VRRP协议是在Cisco的私有协议HSRP协议的基础上制定出来的。 但是VRRP简化了HSRP提出的机制,尽量减少了由提供冗余功能给网络带来的额外负载,例如HSRP规定虚拟路由器有六种状态,而在VRRP中只有三种;HSRP中有两种状态可以发送报文,且报文类型有三 种,而VRRP中只有Master状态的路由器可以发送报文,而且报文也只有一种。HSRP报文是封装在UDP报文上的,而VRRP报文是封装在IP报文上的,支持各种上层协议。同时VRRP还支持将真实接口IP地址设置为虚拟IP地址的做法。

VRRP协议仅仅适用于IPv4版本的路由器。对于IPv6版本的路由器将会有新的规范来规定相关内容。

实现方式

VRRP的工作原理

结合图2可以了解VRRP的工作原理:


职场小白必备知识点-VRRP协议_优先级_02


VRRP将局域网的一组路由器(RouterARouterB)组织成一个虚拟的路由器。这个虚拟的路由器拥有自己的IP地址10.100.10.1(这个IP地址可以和某个路由器的接口地址相同)。当然,物理路由器RouterARouterB也有自己的IP地址(RouterAIP地址为10.100.10.2, RouterBIP地址为10.100.10.3)。局域网内的主机仅仅知道这个虚拟路由器的IP地址10.100.10.1,而并不知道具体的RouterAIP地址以及RouterBIP地址,他们将自己的缺省路由设置为该虚拟路由器的IP地址10.100.10.1。于是,网络内的主机就通过这个虚拟的路由器来与其他网络进行通信。而对于这个虚拟路由器则需要进行如下工作:

1)根据优先级的大小挑选主路由器,优先级最大的为主路由器,状态为Master,若优先级相同,则比较接口的主IP地址,主IP地址大的就成为主路由器,由它提供实际的路由服务。

2)其它路由器作为备份路由器,随时监测主路由器的状态。当主路由器正常工作时,它会每隔一段时间发送一个VRRP多播报文,以通知组内的备份路由器,主路由器处于正常工作状态。如果组内的备份路由器长时间没有接收到来自主路由器的报文,则将自己状态转为Master。当组内有多台备份路由器时,将有可能产生多个主路由器。这时每一个主路由器就会比较VRRP报文中的优先级和自己本地的优先级,如果本地的优先级小于VRRP中的优先级,则将自己的状态转为Backup,否则保持自己的状态不变。通过这样一个过程,就会将优先级最大的路由器选成新的主路由器,完成VRRP的备份功能。

从上述分析可以看到,对于网络中的主机来说,它并没有做任何额外的工作,但是它对外的通信再也不会因为一台路由器坏掉而受到影响了。

虚拟路由器的状态模型

组成虚拟路由器的路由器会有三种状态,分别是InitializeMasterBackup,下面对这三种状态进行说明:

1 Initialize

系统启动后进入此状态,当收到接口startup的消息,将转入Backup(优先级不为255时)或Master状态(优先级为255时)。在此状态时,路由器不会对VRRP报文做任何处理。

2Master

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

Ÿ 定期发送VRRP多播报文;

Ÿ 发送免费(gratuitousARP报文,以使网络内各主机知道虚拟IP地址所对应的虚拟MAC地址;

Ÿ 响应对虚拟IP地址的ARP请求,并且响应的是虚拟MAC地址,而不是接口的真实MAC地址;

Ÿ 转发目的MAC地址为虚拟MAC地址的IP报文;

Ÿ 如果它是这个虚拟IP地址的拥有者(IP Address Owner),则接收目的IP地址为这个虚拟IP地址的IP报文,否则,丢弃这个IP报文;

Master状态中只有接收到比自己的优先级大的VRRP报文时,才会转为Backup,只有当接收到接口的Shutdown事件时才会转为Initialize

3 Backup

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

  • 接收Master发送的VRRP多播报文,从中了解Master的状态

Ÿ 虚拟IP地址的ARP请求,不做响应

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

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

只有当Backup接收到MASTER_DOWN这个定时器到时的事件时,才会转为Master,而当接收到比自己的优先级小的VRRP报文时,它只是做丢弃这个报文的处理,从而就不对定时器做重置处理,这样定时器就会在若干次这样的处理之后到时,于是就转为Master。只有当接收到接口的Shutdown事件时才会转为Initialize

职场小白必备知识点-VRRP协议_IP_03

三种状态的转换如下图:

VRRP的功能特点

VRRP具有以下特点:

1IP地址的备份(IP Address Backup

一个虚拟IP地址被多台路由器共用,这是VRRP的首要功能,该功能能将网络黑洞的持续时间最小化,还可以实现负载分担。

2)首选路径确定(Preferred Path Indication

VRRP用一个简单方法,从各成员中选举主路由器,这就是设立优先级和抢占方式。备份组中优先级最高的路由器将成为主路由器,当优先级相同时,将会比较接口的主IP地址。优先级的取值范围为0255 (数值越大表明优先级越高)。用户可以通过设定优先级和抢占方式来指定某一路由器成为Master

3)使不必要的中断最小化 Minimizaton of Unnecessary Service Disruptions 当主路由器选好后,除了主路由器定时发送的VRRP广播报文外,主路由器和备份路由器之间没有多余的通信。任何优先级低或相等的备份路由器不能发起状态转换,这样主路由器可以持续稳定地工作。

4)安全性可扩展 Extensible Security

对于安全程度不同的网络环境,可以在报头上设定不同的认证方式和认证字。任何没有通过认证的报文将做丢弃处理。 VRRP定义了三种认证方式:无认证(no authentication)、简单字符认证(simple clear text passwords)和 MD5认证 MD5)。 在一个安全的网络中,可以将认证方式设置为NO,路由器对要发送的VRRP报文不进行任何认证处理,而收到VRRP报文的路由器也不进行任何认证就认为是一个真实合法的VRRP报文,这种情况下,不需要设置认证字。在一个有可能受到安全威胁的网络中,可以将认证方式设置为SIMPLE,则发送VRRP报文的路由器就会将认证字填入到VRRP报文中,而收到VRRP报文的路由器会将收到的VRRP报文中的认证字和本地配置的认证字进行比较,相同则认为是真实的,合法的VRRP报文,否则认为是一个非法的报文,将会丢弃。 在一个非常不安全的网络中,可以将认证方式设置为MD5,这样,路由器就会利用Authentication Header提供的认证方式和MD5算法来对VRRP报文进行认证。

5)所有协议消息用IP多播数据报发送,因此该协议可以在不同的LAN上使用。


VRRP与HSRP

HSRP(HotStandbyRouterProtocal 热备路由器协议)和VRRP的不同之处

首先,HSRP是cisco的专有协议;在功能上,VRRP和HSRP非常相似,但是就安全而言,VRRP对HSRP的一个主要优势:它允许参与VRRP组的设备间建立认证机制.并且,不像HSRP那样要求虚拟路由器不能是其中一个路由器的ip地址,但是VRRP允许这种情况发生

(如果”拥有”虚拟路由器地址的路由器被建立并且正在运行,那么应该总是由这个虚拟路由器管理—等价于HSRP中的活动路由器),但是为了确保万一失效发生的时候终端主机不必重新学习MAC地址,它指定使用的MAC地址00-00-5e-00-01-VRID,这里的VRID是虚拟路由器的ID(等价于一个HSRP的组标识符).

2.另外一个不同是VRRP不使用HSRP中的政变或者一个等价消息,VRRP的状态机比HSRP的要简单,HSRP有6个状态(初始(Initial)状态,学习(Learn)状态,监听(Listen)状态,对话(Speak)状态,备份(Standby)状态,活动(Active)状态)和8个事件, VRRP只有3个状态(初始状态(Initialize)、主状态(Master)、备份状态(Backup))和5个事件.

3. HSRP将报文承载在UDP报文上,而VRRP承载在TCP报文上(HSRP 使用UDP 1985端口,向组播地址224.0.0.2 发送hello消息。)


HSRP的工作原理

在整个电力局企业网内,虚网之间的交换(三层交换)是通过7609路由交换机(多层交换特征卡MSFC2)和5500交换机(路由交换模块RSM)来实现的。两台交换机通过Cisco的热备路由器协议(HSRP)可以实现路由设备之间的冗余,即三层交换的冗余。HSRP协议是针对于IP协议,参与HSRP协议的路由设备为IP终端提供一个虚拟IP地址,且IPX等其它网络协议与HSRP兼容。
图:热备路由协议(HSRP)示意图

职场小白必备知识点-VRRP协议_IP_04



HSRP的工作原理
HSRP协议利用一个优先级方案来决定哪个配置了HSRP协议的路由器成为默认的主动路由器。如果一个路由器的优先级设置得比所有其他路由器的优先级高,则该路由器成为主动路由器。路由器的缺省优先级是100,所以如果只设置一个路由器的优先级高于100,则该路由器将成为主动路由器。
通过在设置了HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段(Hold Time 缺省为10秒)时间内主动路由器不能发送hello消息,或者说HSRP检测不到主动路由器的hello消息时,将认为主动路由器有故障,这时HSRP会选择优先级最高的备用路由器变为主动路由器,同时将按HSRP优先级在配置了HSRP的路由器中再选择一台路由器作为新的备用路由器。
所有参与HSRP的路由器共享一个虚的IP地址,网络中的工作站将缺省网关指向该虚地址,被选出的主动路由器负责转发由工作站发到虚地址的数据包。
Hello消息是基于UDP的信息包,配置了HSRP的路由器将会周期性的广播Hello消息包,并利用Hello消息包来选择主动路由器和备用路由器及判断路由器是否失效。
如图所示,PC将数据包发送到设置的缺省网关(配置HSRP路由器所共享的虚拟IP地址),假设图中的7609设置了较高的优先级,7609将被选为主动路由器,并负责转发网络中所有由PC发送到其网关(HSRP地址)的数据包。当7609发生故障时,7609就不会广播Hello信息包,HSRP如果经过Hold Time还未收到来自7609的Hello信息包,将认为7609实效,这时HSRP将选择备用的5500作为主动路由器,并由5500来负责转发网络中所有由PC发送到其网关(HSRP地址)的数据包。而当7609恢复后,将继续发送Hello信息包,HSRP检测到其发送的Hello信息包具有高的优先级,则会重新将7609选为主动路由器,5500则仍将恢复成为备用路由器。
配置了HSRP协议的路由器交换以下三种多点广播消息:
●Hello──hello消息通知其他路由器,发送路由器的HSRP优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;
●Coup──当一个备用路由器变为一个主动路由器时发送一个coup消息;
●Resign──当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主动路由器发送一个resign消息。
在任一时刻,配置了HSRP协议的路由器处于由以下六种状态:
●Initial ——表示路由器的HSRP还未运行,一般在配置第一台HSRP路由器时会显示此状态;
●Learn——表示配置HSRP的路由器还未知道虚地址,并一直监听来自主动路由器的消息包;
●Listening──表示配置HSRP的路由器还已知道虚地址,路由器还在监听hello消息;
●Speaking and listening──路由器正在发送和监听hello消息;
●Standby──处于被用状态,当主动路由器失效时路由器可被选为主动路由器,接管包转发功能;
●Active──路由器执行包转发功能。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP
  ozzp9aSSE46S   2023年11月30日   30   0   0 DNSIPPod
  48fXx4UfWSFg   2023年12月06日   54   0   0 bcIPbundle
  aYmIB3fiUdn9   2023年12月08日   50   0   0 客户端IPNATlvs
H1iS5RmfeTkf