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)
上一篇 2016-11-01 23:02
下一篇 2016-11-02 15:23

相关推荐

  • shell脚本编程入门

    什么是shell脚本,其实,shell脚本就是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与命令(包含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能等这些命令的组合起来,以达到我们所想要的目的。 程序编程风格有两种: 过程式:以指令为中心,数据服务于指令。 对象式:以数据为中心,指令服务于数据。 过程…

    Linux干货 2016-08-18
  • N23-第四周博客作业

    1、复制 /etc/skel 目录为 /home/tuser1,要求 /home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 && chmod -R g-r,o-r /home/tuser1 (1)使用cp命令的-r选项,将/e…

    Linux干货 2016-12-05
  • 集中管理利器-puppet快速入门-上

    带着问题来学习 Ø  从如下内容来看,如何自定义安装用户想要的东西呢?                                        …

    Linux干货 2015-04-22
  • 文件查找(find)

                                  …

    2017-04-11
  • linux终端类型

    终端分为:             ∟  物理终端         定义:可将显示器,键盘,鼠标直接接入主机接口的终端;     &nbsp…

    Linux干货 2016-10-18
  • CentOS 7源码安装httpd服务

    httpd的简介     httpd是一个开源软件,且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd,httpd还有一个俗称叫apache,Apache是一个软件基金会,httpd也是这个软件基金会的一个项目。在早期的http server就叫做apache,到了http server 2.0以…

    Linux干货 2016-08-24