VRRP协议

VRRP协议

Virtual Router Redundancy Protocol 虚拟路由器冗余协议。

Vrrp协议在linux上的实现(软件实现)是keepalived

VRRP协议VRRP协议

VRRP简单的讲,就是心跳信息。

主节点不断的向备用节点广播信息,信息包含自己的心跳和优先级。

不光如此,还可以在主节点上安装一个监控,来监控其他资源,如果这些资源运行正常,就可以给其他客户端发送心跳信息(包含优先级),一旦监控的资源出现问题了,就降低自己的优先级(降低后的优先级要低于备用节点的优先级,自己设置)。

这时候,备用节点可以在主节点未出现故障的时候,就抢占主节点的资源(工作在抢占模式的备用节点)。备用节点发现自己的优先级比主节点的优先级高,就触发一次选举。将主节点变为备用节点,备用节点变为主节点。

VIP

     VIPVirtual IP

VIP和接口相关,和路由器无关

两个路由节点上,不是只可以做一个虚拟路由器。

我们可以把两个内部接口作为一个虚拟路由器,把他们的外部接口做成一个虚拟路由器。

VRRP协议

免费ARP广播:Grescious arp

每一台主机上,都会有网关的MAC是有缓存的。当主节点故障,备用节点开始使用的时候,客户机并不知道网关改变了。所以,备用节点开始使用的时候,就需要进行广播,告知所有的主机。就是Grescious arp广播。

这个广播自问自答,目的就是让全网都知道。

VRRP工作过程

KeepalivedVMAC有固定的:00-00-5e-00-01-VRID,每一个虚拟路由器都有一个虚拟MACVMAC)。

(1) 虚拟路由器中的路由器根据优先级选举出MasterMaster路由器通过发送免费 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需要实现以下功能:

vMaster 路由器的选举;

vMaster 路由器状态的通告;

v同时,为了提高安全性,VRRP 还提供了认证功能;

抢占式和非抢占式

选举

认证方式

VRRP提供了三种认证方式:

1.无认证:不进行任何 VRRP 报文的合法性认证,不提供安全性保障。一般不要用这种。

2.简单字符认证:在一个有可能受到安全威胁的网络中,可以将认证方式设置为简单字符认证。发送 VRRP 报文的路由器将认证字填入到
VRRP
报文中,而收到 VRRP 报文的路由器会将收到的 VRRP 报文中的认证字和本地配置的认证字进行比较。如果认证字相同,则认为接收到的报文是合法的 VRRP 报文;否则认为接收到的报文是一个非法报文。

一般用的就是这种。

3.    MD5 认证:在一个非常不安全的网络中,可以将认证方式设置为 MD5 认证。发送 VRRP 报文的路由器利用认证字和 MD5 算法对 VRRP 报文进行加密,加密后的报文保存在 Authentication Header(认证头)中。收到 VRRP报文的路由器会利用认证字解密报文,检查该报文的合法性。MD5比较麻烦,有一些路由设备不支持。

VRRPIPVS

VRRP设计的目的是为了高可用IPVS服务,主要表现在:

1、VRRP协议完成地址流动(IP转移)

2、VIP地址所在的节点生成IPVS规则(在KeepAlived的配置文件中预先定义)

3、IPVS集群的各RS做健康状态检查

4、基于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事务(比如降低或提升优先级);

所以,VRRP主要用于高可用DirectorIPVS

原创文章,作者:m20-吴清玲,如若转载,请注明出处:http://www.178linux.com/56850

(4)
m20-吴清玲m20-吴清玲
上一篇 2016-11-01
下一篇 2016-11-02

相关推荐

  • sed命令的入门与进阶

    sed:Stream EDitor     什么是sed呢?sed被称为linux文本处理三剑客之一,另外两个就是大名鼎鼎的grep和awk。sed是非交互性的流编辑器,在处理文本时一次只读取一行文本,然后基于所给定的编辑脚本对模式空间中的内容做编辑处理并把处理后的结果输出至标准输出。接着处理下一行文本,这样不断重复,直到文件的末尾。se…

    2017-03-16
  • Linux下vim编辑器的使用

    vim编辑器 概括 vim,是vi的升级版本,它不仅兼容vi的所有指令,还有一些新的特性在里面。 使用vi和vim的三种主要模式 vim在工作过程当中有三种模式,编辑模式(命令模式)、输入模式、末行模式     1、编辑模式:也叫命令模式,键盘操作常被理解为编辑命令;     2…

    Linux干货 2016-08-10
  • Python基础语法习题

    1、~12为什么是-13?解1:12 二进制:0000 1100补码: 0000 1100按位取反 :1111 0011求这个原码,即负数求补码的逆过程:先减1,再取反 (符号位不变)-1 1111 0010取反 1111 1101 还原成十进制-13 2、10^9等于?10^-9等于?解:(1)10^910的二进制:0000 10109的二进制: 0000…

    Linux干货 2018-03-24
  • 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

    1.概述 类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。 集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集…

    Linux干货 2015-07-19
  • 学习Linux的第一周 之screen

         1.来到马哥的感想:      已经接触Linux已经一周,在紧张的而又条理的学习当中,我学到了很多东西单说量我就很佩服自己,在大学的两年当中已经快把自己学习新知识的渴望忘记了!来到马哥这短短一周我感觉我真的长大了很多,我把手机王者荣耀卸载了。只想对自己说加油坚持下去。…

    Linux干货 2017-07-16
  • linux命令 kill命令详则

    kill命令 kill用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息(默认)为SIGTERM(15),可经指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。 语法 kill(选项)(参数) 选项 -a:当处理当前进程时,不限制命令名和进程号的对应关系; &…

    2017-08-21