VRRP原理
协议简述
简单来说,VRRP是一种容错协议,它为具有组播或广播能力的局域网(如以太网)设计,它保证当局域网内主机的下一跳路由器出现故障时,可以及时的由另一台路由器来代替,从而保持通讯的连续性和可靠性,为了使VRRP工作,要在路由器上配置虚拟路由器号和虚拟IP地址,同时产生一个虚拟MAC地址,这样在这个网络中就加入了一个虚拟路由器.而网络上的主机与虚拟路由器通信,无需了解这个网络上物理路由器的任何信息,一个虚拟路由器由一个主路由器和若干个备份路由器组成,主路由器实现真正的转发功能.当主路由器出现故障时,一个备份路由器将成为新的主路由器,接替它的工作.
VRRP中只定义了一种报文——VRRP报文,这是一种组播报文,封装在IP报文上,由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举.
VRRP还定义了三种状态模型:初始状态Initialize, 活动状态Master, 备份状态Backup .其中只有活动状态可以为到虚拟IP地址的转发请求服务.
VRRP协议仅仅适用于IPv4版本的路由器.对于IPv6版本的路由器将会有新的规范来规定相关内容.
-----------------------
VRRP工作原理
VRRP将局域网的一组路由器(RouterA和RouterB )组织成一个虚拟的路由器.这个虚拟的路由器拥有自己的IP地址10.100.10.1(这个IP地址可以和某个路由器的接口地址相同被称为IP地址拥有者) 当然物理路由器RouterA, RouterB也有自己的IP地址(RouterA的IP地址为10.100.10.2,
RouterB的IP地址为10.100.10.3). 局域网内的主机仅仅知道这个虚拟路由器的IP地址10.100.10.1,而并不知道具体的RouterA的IP地址以及RouterB的IP地址,他们将自己的缺省路由设置为该虚拟路由器的IP地址10.100.10.1. 于是网络内的主机就通过这个虚拟的路由器来与其他网络进行通信.而对于这个虚拟路由器则需要进行如下工作:
1 根据优先级的大小挑选主路由器.优先级最大的成为主路由器,状态为Master, 若优先级相同,则比较接口的主IP地址,主IP地址大的就成为主路由器,由它提供实际的路由服务.
2 其它路由器作为备份路由器,随时监测主路由器的状态.当主路由器正常工作时,它会每隔一段时间发送一个VRRP组播报文,以通知组内的备份路由器,主路由器处于正常工作状态.如果组内的备份路由器长时间没有接收到来自主路由器的报文,则将自己状态转为Master .当组内有多台备份路由器时,将有可能产生多个主路由器.这时每一个主路由器就会比较VRRP报文中的优先级和自己本地的优先级,如果本地的优先级小于VRRP报文中的优先级,则将自己的状态转为Backup ,否则保持自己的状态不变.通过这样一个过程,就会将优先级最大的路由器选成新的主路由器,完成VRRP的备份功能.
-------------------------
VRRP状态转换
组成虚拟路由器的路由器会有三种状态,分别是Initialize Master和Backup 下面对这三种状态进行说明:
Initialize
系统启动后进入此状态,当收到接口startup的消息,将转入Backup (优先级不为255时)或Master状态(优先级为255时).在此状态时,路由器不会对VRRP报文做任何处理.
Master
当路由器处于Master状态时,它将会做下列工作.
x 定期发送VRRP组播报文;
x 发送免费(gratuitous) ARP报文,以使网络内各主机知道虚拟IP地址所对应的虚拟MAC地址;
x 响应对虚拟IP地址的ARP请求,并且响应的是虚拟MAC地址,而不是接口的真实MAC地址;
x转发目的MAC地址为虚拟MAC地址的IP报文;
x 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文,否则,丢弃这个IP报文.需要注意的是,由于有这一点要求,所以除非主路由器是IP地址拥有者,否则主机ping虚拟IP地址不能ping通;
   在Master状态中只有接收到比自己的优先级大的VRRP报文时,才会转为Backup ,只有当接收到接口的Shutdown事件时才会转为Initialize.
Backup
只有当Backup接收到MASTER_DOWN这个定时器到时的事件时才会转为Master 而当接收到比自己的优先级小的VRRP报文时它只是做丢弃这个报文的处理从而就不对定时器做重置处理这样定时器就会在若干次这样的处理之后到时于是就转为Master 只有当接收到接口的Shutdown事件时才会转为Initialize


------------------------
VRRP安全性
对于安全程度不同的网络环境可以在报头上设定不同的认证方式和认证字,任何没有通过认证的报文将做丢弃处理, VRRP定义了三种认证方式:无认证(no authentication),简单字符认证(simple clear text passwords)和MD5认证(MD5)
------------------------
HSRP原理

备份组内的路由器处于各自的状态,根据相互间发送 HSRP 报文来调整新的状态。
HSRP 状态:
(1)INIT:初始状态
所有备份组内组员的初始状态为 INIT,当组员配置属性或端口 UP 时,进入 INIT 状态。
(2)LEARN:未设定虚拟IP地址
该组员未设定虚拟 IP 地址,并等待从本组活动路由器发出的认证的 Hello 报文中学习得到自己的虚拟 IP 地址。
(3)LISTEN:监视活动/备份路由器
该组员已得知或设置了虚拟 IP 地址,通过监听 Hello 报文监视活动/备份路由器,一旦发现活动/备份路由器长时间未发送 Hello 报文,则进入 SPEAK 状态,开始竞选。
(4)SPEAK:参加竞选活动/备份路由器
参加竞选活动/备份路由器的组员所处的状态,通过发送 Hello 报文使竞选者间相互比较、竞争。
(5)STANDBY:备份路由器所处的状态(只有一个)
组内备份路由器所处的状态,备份组员监视活动路由器,准备随时在活动路由器坏掉时接替活动路由器。备份路由器也周期性发送 Hello 报文告诉其他组员自己没有坏掉。
(6)ACTIVE:活动路由器所处的状态(只有一个)
组内活动路由器即负责虚拟路由器实际路由工作的组员所处的状态。活动路由器周期性发送 Hello 报文告诉其他组员自己没有坏掉。
----------------------------
HSRP 状态转换

----------------------------
报文类型 Hello, Coup, Resign
Hello 类型报文说明发送者处在运行状态,有能力成为活动/备份路由器。
COUP 类型报文说明发送者希望成为活动路由器。
RESIGN 类型报文说明发送者不再是活动路由器。
------------------------
HSRP和VRRP区别

1.在功能上,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有三种报文,而且有三种状态可以发送报文呼叫(Hello)报文告辞(Resign)报文 突变(Coup)报文
   VRRP有一种报文,VRRP广播报文:由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举。
4. HSRP将报文承载在UDP报文上,而VRRP承载在TCP报文上(HSRP 使用UDP 1985端口,向组播地址224.0.0.2 发送hello消息。)
5.VRRP的安全:VRRP协议包括三种主要的认证方式:无认证,简单的明文密码和使用 MD5 HMAC ip认证的强认证.
强认证方法使用IP认证头(AH)协议.AH是与用在IPSEC中相同的协议,AH为认证VRRP分组中的内容和分组头提供了一个方法. MD5 HMAC 的使用表明使用一个共享的密钥用于产生hash值.路由器发送一个VRRP分组产生MD5 hash值,并将它置于要发送的通告中,在接收时,接受方使用相同的密钥和MD5值,重新计算分组内容和分组头的hash值,如果结果相同,这个消息就是真正来自于一个可信赖的主机,如果不相同,它必须丢弃,这可以防止攻击者通过访问LAN而发出能影响选择过程的通告消息或者其他一些方法中断网络.
   另外,VRRP包括一个保护VRRP分组不会被另外一个远程网络添加内容的机制(设置TTL值=255,并在接受时检查),这限制了可以进行本地攻击的大部分缺陷.而另一方面,HSRP在它的消息中使用的TTL值是1.
6.VRRP的崩溃间隔时间:3*通告间隔+时滞时间(skew-time)

转自:https://blog.csdn.net/weiyuefei/article/details/52235961

Vrrp和Hsrp的区别的更多相关文章

  1. 搭建Keepalived+LVS-DR集群

    (1).Keepalived概述 keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 5层交换. Keepalived ...

  2. keepalived+LVS-DR集群

    一.Keepalived介绍 keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 5层交换. Keepalived 的 ...

  3. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  4. Linux 4.10中两个新特性与我的一段故事

    今早5点半起来没有開始写文章,而是去西湾红树林连跑带走折腾了将近20公里.回来后就8点多了...洗了个澡之后坐稳当.開始写一段关于我的故事.        在2014年到2015年期间,我在负责研发一 ...

  5. Float IP设置

    浮动IP: 在做双机的时候,设定的一个IP,通过访问这个IP,具体到后台哪台机器,由系统指定. 浮动IP是随资源一起走的. 就是由软件根据具体情况把该IP设置在某一台机器上,对外提供服务 为了避免因为 ...

  6. FHRP - 网关冗余协议

    通常情况下,在终端设备进入网络前,都会有一个 Router 充当网络,作为第一跳的网络地址.但假设路由器发生故障,此时终端设备就无法再接入互联网. 为了防止这样的问题,一般会再加入一台路由器充当备份. ...

  7. Cisco交换机堆叠与HSRP之间的区别

    随着Internet的日益普及,人们对网络的依赖性也越来越强.这同时对网络的稳定性提出了更高的要求,人们自然想到了基于设备的备份结构,就像在服务器中为提高数据的安全性而采用双硬盘结构一样.核心交换机是 ...

  8. VRRP&HSRP

    HSRP 活跃路由器和备用路由器都会向组播地址 224.0.0.2  UDP 1985  端口发送hello消息. VRRP组中有一台主用路由器(Master),以及一台或多台备用路由器(Backup ...

  9. HSRP vs VRRP

    HSRP:(Hot Standby Router Protocol)-热备份路由协议 是cisco平台一种特有的技术,是cisco的私有协议. VRRP:(Virtual Router Redunda ...

随机推荐

  1. 0基础学安卓--初识安卓Activity

    知识储备:windows+ Android Studio 等环境安装. 安卓中Activity代表页的意思,也就是☞我们手机上当前的整个界面显示,点击按钮等操作可以跳转到另外一个Activity中. ...

  2. 查找第K大的数

    类快排 第一种方法 o(n) #include <bits/stdc++.h> using namespace std; const int N = 1000; int s[N]; int ...

  3. hihoCoder week8 状态压缩·一

    状态压缩  写了两个半小时  太菜了 题目链接 https://hihocoder.com/contest/hiho8/problem/1 #include <bits/stdc++.h> ...

  4. slot是标签的内容扩展,也就是说你用slot就可以在自定义组件时传递给组件内容,组件接收内容并输出

    html 父页面<div id="app"> <register> <span slot="name">{{message. ...

  5. 4-Four-Seeing hands

      ①Several cases have been reported in Russia recently of people who can read and detect colours wit ...

  6. Linux 命令之split(将一个大文件根据行数平均分成若干个小文件)

    把一个 txt 文件导入到 excel 中,但是 excel 单列支持的行数为 1048576,而我需要导入的 txt 文件总共有 7945674 ,我们无法一次性将整个 txt 文件里面的内容导入到 ...

  7. <aop:aspect>与<aop:advisor>的区别

    在开发过程中,不少有Spring Aop的使用,在面向切面编程时,我们会使用< aop:aspect>:在进行事务管理时,我们会使用< aop:advisor>.那么,对于&l ...

  8. List<Model>转String 、String 转List<string>

    var ltCode = from item in psw.VehicleInsuranceItem select item.Code; string code = string.Join(" ...

  9. P1948 [USACO08JAN]电话线Telephone Lines

    传送门 思路: 二分+最短路径:可以将长度小于等于 mid 的边视为长度为 0 的边,大于 mid 的边视为长度为 1 的边,最后用 dijkstra 检查 d [ n ] 是否小于等于 k 即可. ...

  10. eclipse创建web项目web.xml配置文件笔记

    1.使用eclipse创建web项目时,如果直接finish的话就没有默认生成web.xml配置文件,此时在你的项目下是看不到web.xml配置文件的,如果要查看的话可以如下操作: 右键你的项目,然后 ...