资讯专栏INFORMATION COLUMN

VRRP高可用

不知名网友 / 3048人阅读
VRRP高可用
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

VRRP简介

1.1 定义

虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。

1.2 目的

随着网络的快速普及和相关应用的日益深入,各种增值业务(如IPTV、视频会议等)已经开始广泛部署,基础网络的可靠性日益成为用户关注的焦点,能够保证网络传输不中断对于终端用户非常重要。
通常,同一网段内的所有主机上都设置一条相同的、以网关为下一跳的缺省路由。主机发往其他网段的报文将通过缺省路由发往网关,再由网关进行转发,从而实现主机与外部网络的通信。当网关发生故障时,本网段内所有以网关为缺省路由的主机将无法与外部网络通信。增加出口网关是提高系统可靠性的常见方法,此时如何在多个出口之间进行选路就成为需要解决的问题。
VRRP的出现很好的解决了这个问题。VRRP能够在不改变组网的情况下,将多台路由设备组成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现默认网关的备份。

1.3 优点

1)冗余备份
VRRP可以将多台路由设备配置为缺省网关路由器,当出现单点故障的时候通过备份链路进行业务传输,从而降低网络故障的可能性,保证用户的各种业务不中断传输。
2)负载分担
VRRP可以实现多台设备同时承担业务流量,从而减轻主用设备上数据流量的承载压力,在路由设备之间更均衡地分担流量。

3)联动功能

  • VRRP联动可以监视上行链路的故障。当上行接口或链路故障时,VRRP备份组的Master设备降低优先级,重新进行选举,确保Master路由器为最佳的VRRP路由设备,保证流量的正常转发。
  • VRRP与BFD联动可以提高VRRP备份组中主备设备的切换速度。利用BFD检测速度快的特点,在Master设备和Backup设备之间建立BFD会话并与VRRP备份组进行绑定,实现Master设备和Backup设备之间的链路出现故障时,Backup设备迅速切换为Master,承担网络流量。


VRRP基本概念

如下图图1所示,HostA通过Switch1双归到SwitchA和SwitchB。在SwitchA和SwitchB上配置VRRP备份组,对外体现为一台虚拟路由器,实现冗余备份。VRRP协议报文封装在IP报文中,拥有专门的VRRP组播地址。在IP报文头中,源地址为发送报文接口的主IP地址(不是虚拟IP地址),目的地址是224.0.0.18,TTL是255,协议号是112。
主IP地址(Primary IP Address):从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。

目前,VRRP协议包括两个版本:VRRPv2和VRRPv3

  • VRRPv2仅适用于IPv4网络;
  • VRRPv3适用于IPv4和IPv6两种网络。

基于不同的网络类型,VRRP可以分为VRRP for IPv4和VRRP for IPv6(简称VRRP6)。

图1 VRRP备份组示意图

在如图1所示的网络中部署VRRP协议,下面结合该图介绍VRRP协议的基本概念

  • VRRP路由器(VRRP Router)
    运行VRRP协议的设备。
  • 虚拟路由器(Virtual Router)
    又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。如SwitchA和SwitchB共同组成了一个虚拟路由器。
  • Master路由器(Virtual Router Master)
    承担转发报文任务的VRRP设备,如SwitchA。
  • Backup路由器(Virtual Router Backup)
    一组没有承担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备,如SwitchB。
  • VRID
    虚拟路由器的标识。如SwitchA和SwitchB组成的虚拟路由器的VRID为1。
  • 虚拟IP地址(Virtual IP Address)
    虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。如SwitchA和SwitchB组成的虚拟路由器的虚拟IP地址为10.1.1.10/24。
  • IP地址拥有者(IP Address Owner)
    如果一个VRRP设备将虚拟路由器IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,通常它将成为Master。如SwitchA,其接口的IP地址与虚拟路由器的IP地址相同,均为10.1.1.10/24,因此它是这个VRRP备份组的IP地址拥有者。
  • 虚拟MAC地址(Virtual MAC Address)
    虚拟路由器根据VRID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}(VRRP for IPv4)或00-00-5E-00-02-{VRID}(VRRP for IPv6)。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。如SwitchA和SwitchB组成的虚拟路由器的VRID为1,因此这个VRRP备份组的MAC地址为00-00-5E-00-01-01。

VRRP工作原理

3.1 VRRP的状态机

VRRP协议中定义了三种状态机:

  • 初始状态(Initialize)
  • 活动状态(Master)
  • 备份状态(Backup)
其中,只有处于活动状态的设备才可以转发那些发送到虚拟IP地址的报文。VRRP状态的转换如图2所示。

图2 VRRP状态的转换

  • Initialize
    该状态为VRRP不可用状态,在此状态时设备不会对VRRP报文做任何处理。
    通常刚配置VRRP时或设备检测到故障时会进入Initialize状态。
  • Master
    当VRRP设备处于Master状态时处理发送VRRP通告报文,响应对虚拟IP地址的ARP请求。
    转发目的MAC地址为虚拟MAC地址的IP报文,当接收到接口的Shutdown事件时,转为Initialize状态。
  • Backup
    当VRRP设备处于Backup状态时接收Master发送的VRRP通告报文,判断Master的状态是否正常。
    对虚拟IP地址的ARP请求,不做响应,目的IP地址为虚拟IP地址的IP报文时按照正常二层转发流程进行处理。当接收到MASTER_DOWN_TIMER定时器超时的消息时,Backup状态才会转为Master状态。当接收到接口的Shutdown消息时,转为Initialize状态。

3.2 VRRP工作过程

VRRP的工作过程如下:

  • VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
  • Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
  • 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
  • VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
  • 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。


VRRP心跳线

如下图图3所示,在VRRP+STP场景中,SwitchA和SwitchB上配置VRRP备份组。若与用户相连的Switch1不能转发VRRP协议报文(如配置了未知组播丢弃),或者为了防止VRRP协议报文(心跳报文)所经过的链路不通或不稳定,可以在SwitchA和SwitchB之间部署一条心跳线,用于传递VRRP协议报文。
由于配置了心跳线之后,需要将Interface1和Interface2加入与VRRP备份组相对应的VLAN(例如,VRRP备份组配置在VLANIF100接口下,则需要配置Interface1和Interface2加入VLAN100),SwitchA、SwitchB和Switch1之间会存在环路,因此还需要配置破环协议来破除环路(例如,可以配置STP协议来破除环路)。

图3 VRRP心跳线示意图


配置VRRP主备备份示例

5.1 组网需求

如下图图4所示,HostA通过Switch双归属到SwitchA和SwitchB。为保证用户的各种业务在网络传输中不中断,需在SwitchA和SwitchB上配置VRRP主备备份功能。
正常情况下,主机以SwitchA为默认网关接入Internet,当SwitchA故障时,SwitchB接替SwitchA作为网关继续进行工作,实现网关的冗余备份。

SwitchA故障恢复后,其延时20秒通过抢占的方式重新成为Master,承担数据传输。

图4 配置VRRP主备备份组网图
配置AR3:
[Huawei]sysn
[Huawei]sysname AR3
[AR3]interface g0/0/0
[AR3-GigabitEthernet0/0/0]ip add
[AR3-GigabitEthernet0/0/0]ip address 10.1.1.2 24
[AR3]interface g0/0/1
[AR3-GigabitEthernet0/0/1]ip add 172.16.2.1 24
[AR3-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 10.1.1.111
[AR3-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode
[AR3-GigabitEthernet0/0/0]vrrp vrid 1 priority 120
[AR3-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode timer delay 60
配置AR4:
sys
[Huawei]sysname AR4
[AR4]interface g0/0/0
[AR4-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[AR4-GigabitEthernet0/0/0]int g0/0/1
[AR4-GigabitEthernet0/0/1]ip add 172.16.1.1 24
[AR4-GigabitEthernet0/0/1]int g0/0/0
[AR4-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 10.1.1.111
配置AR2:
sys
[Huawei]sysname AR2
[AR2]interface g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 172.16.2.2 24
[AR2-GigabitEthernet0/0/0]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 172.16.1.2 24
[AR2]interface g0/0/2
[AR2-GigabitEthernet0/0/2]ip add 192.168.237.135 24
配置OSPF使网络互通:
AR2
[AR2]ospf 1
[AR2-ospf-1]area 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]network 192.168.237.0 0.0.0.255
AR3
[AR3]ospf 1
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]network 10.1.1.
AR4
[AR4]ospf 1
[AR4-ospf-1]area 0
[AR4-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[AR4-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.
测试结果:
从PC段ping192.168.237.131。
Master节点:
Backup节点:
断掉交换机到master的接口:
Master状态:master切换到备。
测试丢包率:因为测试的是外部服务器,加上设备性能问题,显示丢包有点多。
在生产环境丢包最多不超过2个,或者误丢包,全程用户是无感知的。
切回到正常状态:


本文作者:彭 杰(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129092.html

相关文章

  • Nginx+Keepalived实现站点可用

    摘要:在协议实现里,虚拟路由器使用作为虚拟地址,就是唯一的,这个地址同一时间只有一个物理路由器占用。在虚拟路由器里面的物理路由器组里面通过多播地址来定时发送通告消息。负责健康检查,包括常见的各种检查方式。 公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台虚拟机通过 Keepalived 工具来实现 nginx 的高可用(High Avaiability),达到一台nginx...

    Songlcy 评论0 收藏0
  • Keepalive可用 漂移

    摘要:基于协议来实现的服务高可用方案,可以利用其来避免单点故障。这样的话就可以保证路由器的高可用了。于安全性考虑,包使用了加密协议进行加密。是需要同步漂移的。 博文参考 http://lanlian.blog.51cto.com/6790106/1303195/ http://blog.csdn.net/tantexian/article/details/50056229 http://ww...

    galois 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<