• VRRP原理及配置


     

    前言

    普通网络存在的问题:在如下局域网络中,终端用户存在被孤立的可能。一旦交换机的三层虚接口故障,局域网用户就被孤立,不能实现与外部网络的通信。VRRP(Virtual Router Redundancy Protocol)正是为了解决此问题而诞生。

    一、VRRP概述

    • Virtual Router Redundancy Protocol,也即虚拟路由器冗余协议
    • 利用VRRP,一组路由器(同一个LAN中的接口)协同工作,但只有一个处于Master 状态,处于该状态的路由器(的接口)承担实际的数据流量转发任务。在一个VRRP 组内的多个路由器接口共用一个虚拟IP地址,该地址被作为局域网内所有主机的缺 省网关地址。 
    • VRRP决定哪个路由器是Master,Master路由器负责接收发送至用户网关的数据包 并进行转发,以及响应PC对于其网关IP地址的ARP请求。
    • Backup路由器侦听Master路由器的状态,并在Master路由器发生故障时,接替其工 作,从而保证业务流量的平滑切换。

    两种工作模式的VRRP:

    • 标准协议模式:基于RFC 实现的VRRP。
    • 负载均衡模式:在标准协议模式的基础上进行了扩展,实现了负载均衡功能。

    RFC:Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。RFC文件是由Internet Society(ISOC)赞助发行。基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入许多在标准内的论题,例如对于互联网新开发的协议及发展中所有的记录。因此几乎所有的互联网标准都有收录在RFC文件之中。(源自百度百科

    二、VRRP术语

    VRRP路由器: 

    • 运行VRRP的路由器。一台VRRP路由器(的接口)可以同时参与到多个VRRP 组中,在不同的组中,一台VRRP路由器可以充当不同的角色。 

    VRRP组: 

    • 一个VRRP组由多个VRRP路由器组成,使用相同的VRID(Virtual Router ID, 虚拟路由器ID)进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每 一个VRRP组中只能有一个Master。 

    虚拟路由器: 

    • 对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的 网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的 IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、 Master故障后谁来接替,这是VRRP的工作。

    虚拟IP地址、MAC地址: 

    • 虚拟IP地址就是虚拟路由器的IP地址,该地址实际上就是用户的网关地址。 
    • 虚拟MAC地址是虚拟路由器根据VRID生成的MAC地址。一个虚拟路由器拥有 一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。 

    Master、Backup路由器: 

    • Master路由器:在VRRP组中实际转发数据包的路由器,在每一个VRRP组中, 仅有Master响应对虚拟IP地址的ARP请求。Master路由器同时以一定的时间间 隔发送VRRP消息,以便通知Backup路由器自己的存活情况。 
    • Backup路由器:处于监听状态的路由器,一旦Master路由器出现故障, Backup路由器就开始接替工作。 
    • 选举依据:先比较接口VRRP优先级(比大),如果相等,则比较接口IP地址 (比大)。

    三、虚拟MAC地址

    通过VRRP形成的虚拟路由器使用虚拟IP地址和虚拟MAC与网络中的PC进行通信。 虚拟MAC的格式如下:最后1个字节的VRID表示虚拟路由器ID的16进制,例如VRID 是1,虚拟MAC地址为00-00-5E-00-01-01。

    四、VRRP状态机

    VRRP协议的状态共有三种,分别是Initialize,Master,Backup,初始状态都是 Initialize,通过比较优先级产生Master和Backup,在规定时间内,Backup若没有收 到Master发来的心跳报文,将切换为Master。

     五、Master / Backup 路由器

    • VRRP通过协议报文选举Master,除Master外,其它路由器作为Backup对Master进行备份。
    • Master 充当Virtual Router完成网关的所有功能。
    • Virtual Router由LAN上唯一的Virtual Router ID标识。并具有如下的MAC地址:00-00-5E-00-01-{vrid}.

    Master路由器:

    • 定时(Advertisement Interval)发送VRRP通告报文,以便向Backup路由器告 知自己的存活情况。 
    • 以虚拟MAC地址响应其他设备对虚拟IP地址的ARP请求。
    •  转发目的MAC地址为虚拟MAC地址的IP报文。 
    • 如果它是这个虚拟IP地址的拥有者(接口实际IP地址为虚拟IP地址),则接收 目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。 
    • 如果收到比自己优先级大的报文,立即成为Backup。
    • 如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP, 立即成为Backup。

    Backup路由器: 

    • 接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。 
    • 对虚拟IP地址的ARP请求,不做响应。 
    • 丢弃目的IP地址为虚拟IP地址的IP报文。 
    • 如果收到优先级和自己相同或者比自己大的报文,则重置 Master_Down_Interval定时器,不进一步比较IP地址。
    • 如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为 Skew_time(偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为 Master。

    Master_Down_Interval定时器:Backup设备在该定时器超时后仍未收到通告报文,则 会转换为Master状态。计算公式如下:Master_Down_Interval=(3* Advertisement_Interval) + Skew_time。其中,Skew_Time=(256–Priority)/256。

    六、VRRP报文

    • VRRP使用IP报文作为传输协议进行协议报文的传送。其协议号为112。
    • VRRP协议报文使用固定的组播地址224.0.0.18进行发送。

    VRRP目前只有Advertisement报文,其格式如下:

    七、VRRP的工作过程

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

    八、抢占(Preempt)

    • R2加入到网络后,接口的VRRP状态首先过渡到Backup,在收到R1发送的 VRRP报文后,由于本地接口的VRRP优先级大于报文中的优先级,因此如 果设备激活Preempt(缺省启用)则可立即抢占Master的角色,过渡到 Master状态,R2开始发送VRRP消息。
    • 可修改抢占延迟时间,缺省该时间为0s。

    九、VRRP配置

    设定虚拟IP地址是否可以使用ping命令ping通

    vrrp ping-enable

    注意:请在备份组建立之前进行设定,否则系统不允许再使用此命令来设定虚拟IP地址是否可以使用ping命令ping通。

    设置虚拟IP地址和MAC地址的对应形式

    vrrp method { real-mac| virtual-mac} 

    • Real-mac表示使用以太网交换机接口的实际MAC地址和虚拟IP地址映射
    • Virtual-mac表示使用虚拟MAC地址和虚拟IP地址映射

    注意:备份组的IP地址和MAC地址的对应形式需要在配置备份组之前就设定。如果在交换机上已经创建了备份组,系统将不允许在设置备份组的IP地址MAC地址的对应关系。

    添加或删除虚拟IP地址

    vrrp vrid virtual-router-ID virtual-ip virtual-address

    undo vrrp vrid virtual-router-ID [ virtual-ip virtual-address ]

    设置备份组的优先级

    vrrp vrid vrid priority priority

    • 优先级取值范围为0~255,供用户配置使用的为1~254,0保留给特殊用途使用,255保留给虚拟IP地址拥有者使用。缺省优先级为100
    • IP地址拥有者的优先级不可配置

    设置备份组的抢占方式和延迟时间

    vrrp vrid virtual-router-ID preempt-mode [delay delay-value]

    • 缺省方式是抢占模式,延迟时间为0

    设置备份组的认证方式和认证字

    vrrp authentication-mode authentication-type authentication-key

    VRRP提供三种认证方式:

    • NONE:不进行认证,仅用于安全的网络
    • SIMPLE:简单字符认证,用于可能收到安全威胁的网络,认证字符长度不超过8字符
    • MD5:利用Authentication Header提供的认证方式和MD5算法来认证,通常用于安全要求较高,但网络本身存在安全隐患的网络

    设置备份组的定时器

    vrrp vrid virtual-router-ID timer advertise adver-interval

    • Master-down-interval为3倍advertise-interval

    设置监视指定接口

    vrrp vrid virtual-router-ID track vlan-interface interface-num [ reduced value-reduced ]

    • H3C系列交换机还可以通过监听接口状况实现备份功能,当监视接口出现故障时,自动降低交换机所在备份组的优先级,从而实现备份

    十、VRRP显示和调试

    • 显示VRRP的状态信息

    display vrrp verbose

    display vrrp [ interface vlan-interface interface-num ] [ virtual-router-ID]

     

    • 打开/关闭VRRP调试开关

    debugging vrrp{ state | packet }

    undo debugging vrrp{ state | packet }

    十一、VRRP配置举例

    网络结构图

    两个三层交换机运行VRRP协议

    十二、单备份组的实现 

    在上述网络结构中,配置一个备份组,虚拟路由器ID为1,虚拟IP地址为10.0.0.1

    • 配置Switch_A:

    [Switch_A-vlan-interface2] vrrp vrid 1 virtual-ip 10.0.0.1

    [Switch_A-vlan-interface2] vrrp vrid 1 priority 100

    • 配置Switch B:

    [Switch_B-vlan-interface2] vrrp vrid 1 virtual-ip 10.0.0.1

    其它配置如路由,虚接口等配置请参见相关部分

    十三、多备份组实现负载分担

    同一网络结构图,配置两个备份组,其ID为1和2,虚拟网关分别为10.0.0.1和10.0.0.4正常情况下,Switch_A为1组的Master,Switch_B为2组的Master。局域网内部分用户以10.0.0.1为缺省网关,部分用户以10.0.0.4为缺省网关。

    • 配置Switch_A:

    [Switch_A-vlan-interface2] vrrp vrid 1 virtual-ip 10.0.0.1
    [Switch_A-vlan-interface2] vrrp vrid 1 priority 120
    [Switch_A-vlan-interface2] vrrp vrid 2 virtual-ip 10.0.0.4

    • 配置Switch_B:

    [Switch_B-vlan-interface2] vrrp vrid 1 virtual-ip 10.0.0.1
    [Switch_B-vlan-interface2] vrrp vrid 2 virtual-ip 10.0.0.4
    [Switch_B-vlan-interface2] vrrp vrid 2 priority 120

    十四、VRRP故障诊断与排错

    VRRP配置比较简单,通常通过查看配置文件和调试信息即可完成故障排除

    • 故障之一:控制台上频频给出配置错误的提示

    这表明交换机收到了错误的VRRP报文

    • 故障之二:同一个备份组出现多个Master交换机

    多个Master并存时间较短,属于正常情况

    多个Master长时间共存,有可能是Master之间收不到VRRP报文,或者收到的报文不合法

    • 故障之三:VRRP的状态频繁转换

    备份组的定时器时间间隔设置太小

    加大定时器时间间隔

    设置抢占延迟时间

  • 相关阅读:
    TCP/IP 基础知识
    30 岁的码农人生 ——人生至暗时,你依然能窥见光明
    巨经典论文!推荐系统经典模型Wide & Deep
    带你领略拼多多2020校招笔试题,这样的难度你可以搞定吗?
    做业务、做技术和打杂,你的职场现状是哪种?
    内卷预警,本科生真的很不适合算法岗位吗?
    codeforces 1424J,为了过这题,我把祖传的C++都用上了!
    有了Git这个操作,我再也不怕代码混乱了!
    学会了这一招,距离Git大神不远了!
    好端端的数据结构,为什么叫它SB树呢?
  • 原文地址:https://www.cnblogs.com/ananing/p/12803961.html
Copyright © 2020-2023  润新知