VRRP虚IP漂移

简介

VRRP 是 Virtual Router Redundancy Protocol 的简称,即 虚拟路由冗余协议 。html

原文地址:linux-network-programming.readthedocs.io
QQ交流群:Linux网络编程,群号:183196643
欢迎关注咱们的公众号:小菜学编程 (coding-fan)linux

VRRP 最先被设计来解决网关的高可用问题:编程

咱们知道,计算机进行网络通信时,须要网关来传输网络报文。 每台机器只能配置一个网关地址,这时网关的可靠性就很是重要了。 若是网关不幸故障了,那么使用该网关的全部机器都将受影响——断网了!微信

解决网关单点问题的思路很是直观——部署一个备用网关,在主网关故障时切换过去。网络

然而,因为机器只能配置一个网关地址,所以每次切换网关都须要修改该配置。 这个解决方案没能作到自动化,并不优雅。负载均衡

这时, VRRP 应运而生!接下来,以一个简单的例子介绍 VRRP 是如何工做的:学习

VRRP最先用于网关高可用

事情是这样的。设计

这个网络部署了两台 路由 进行互备,本网络内其余机器以这两台路由为网关进行网络通信。 两台路由的 IP 地址分别是: 192.168.1.1 以及 192.168.1.2 。 但路由并不直接经过这些地址提供转发服务,而是使用一个 虚拟地址 192.168.1.253 。 其余计算机,如 192.168.1.3 将网关地址配置为 192.168.1.253 。code

经过 VRRP ,两台路由互相进行 健康检查 。 当两台路由都是健康的状况下,只有主路由对外提供虚拟地址的 ARP 响应。 这时,发往虚拟地址 192.168.1.253 的流量都由主路由处理。cdn

当主路由故障时,备用路由将检测到。 这时,备用路由开始经过 ARP 协议对外通告:虚拟地址 192.168.1.253 对应的 MAC 地址是我, 被我接管了!

接下来,发往虚拟地址 192.168.1.253 的流量就开始由备用路由处理了。 这时,虚拟地址 192.168.1.253 看上去就像是 漂移 到备用路由上同样。 换句话讲,网关成功进行切换,并且无需修改其余机器的网关配置!

主路由恢复后,将经过相似的手段,从新拿回流量的处理权。 这部分将再也不赘述。

完整流程以下:

  1. 两台路由互相进行健康检查;
  2. 主路由对外响应虚拟地址的 ARP 请求,通告其 MAC 地址;
  3. 虚拟地址网络流量被主路由处理;
  4. 备用路由发现主路由故障,开始响应虚拟地址的 ARP 请求,通告其 MAC 地址;
  5. 虚拟地址网络流量被备用路由处理;
  6. 主路由恢复,从新响应 ARP 请求,夺回流量;
  7. 备用路由发现主路由恢复,中止响应 ARP 请求,释放流量处理权;

总结起来, VRRP 主要作两件事情:

  1. 经过 ARP 响应 MAC 地址实现虚 IP 漂移;
  2. 经过健康检查决定何时进行虚 IP 漂移;

应用场景

本质上, VRRP 是用来实现高可用的,与网关无关。

咱们能够将其应用于一些网络服务的高可用,如 Web 服务:

Web服务高可用

服务高可用方案有不少, VRRP 特别适用于如下场景:

  1. 服务对外只能呈现为单个 IP ;
  2. 同一时刻只容许一个实例对外服务;

此外, VRRP 也可用于实现负载均衡设施的高可用。 应用的高可用经过负载均衡设施解决,那么负载均衡设施如何实现高可用呢? 答案是—— VRRP !

下面是一个很是典型的例子:

负载均衡设施高可用

局限性

因为 VRRP 依赖 ARP 实现 IP 漂移,所以相关机器必须在同个网络内, 不能跨网段 。

订阅更新,获取更多学习资料,请关注咱们的 微信公众号 :

小菜学编程
相关文章
相关标签/搜索