VRRP协议简介

VRRP协议是什么

VRRP是一种容错协议,它通过把几台路由设备联合组成一台虚拟的路由设备,并通过一定的机制来保证当主机的下一跳设备出现故障时,可以及时将业务切换到其它设备,从而保持通讯的连续性和可靠性。

VRRP将局域网内的一组路由器划分在一起,称为一个备份组。备份组由一个Master路由器和多个Backup路由器组成,功能上相当于一台虚拟路由器。局域网内的主机只需要知道这个虚拟路由器的IP地址,并不需知道具体某台设备的IP地址,将网络内主机的缺省网关设置为该虚拟路由器的IP地址,主机就可以利用该虚拟网关与外部网络进行通信。

VRRP将该虚拟路由器动态关联到承担传输业务的物理路由器上,当该物理路由器出现故障时,再次选择新路由器来接替业务传输工作,整个过程对用户完全透明,实现了内部网络和外部网络不间断通信。

VRRP基本概念


概念


解释

VRRP路由器(VRRP Router) 运行VRRP的设备,它可能属于一个或多个虚拟路由器。
虚拟路由器(Virtual Router) 由VRRP管理的抽象设备,又称为VRRP备份组,被当作一个共享局域网内主机的缺省网关。 
它包括了一个虚拟路由器标识符和一组虚拟IP地址。
虚拟IP地址(Virtual IP Address) 虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
IP地址拥有者(IP Address Owner) 如果一个VRRP路由器将虚拟路由器的IP地址作为真实的接口地址,则该设备是IP地址拥有者。 
当这台设备正常工作时,它会响应目的地址是虚拟IP地址的报文,如ping、TCP连接等。
虚拟MAC地址 是虚拟路由器根据虚拟路由器ID生成的MAC地址。 
一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。 
当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。
主IP地址(Primary IP Address) 从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。 
VRRP广播报文使用主IP地址作为IP报文的源地址。
Master路由器(Virtual Router Master) 是承担转发报文或者应答ARP请求的VRRP路由器,转发报文都是发送到虚拟IP地址的。 
如果IP地址拥有者是可用的,通常它将成为Master。
Backup路由器(Virtual Router Backup) 一组没有承担转发任务的VRRP路由器,当Master设备出现故障时,它们将通过竞选成为新的Master。
抢占模式
在抢占模式下,如果Backup的优先级比当前Master的优先级高,将主动将自己升级成Master。

VRRP报文

VRRP控制报文只有一种:VRRP通告(advertisement)。它使用IP多播数据包进行封装,组地址为224.0.0.18,发布范围只限于同一局域网内。这保证了VRID在不同网络中可以重复使用。
因为这份笔记的主要目的是理解keepalived的原理,所以只介绍部分相关字段。

Virtual Rtr ID(VRID):虚拟路由器ID,取值范围是1~255。

Priority:发送报文的VRRP路由器在虚拟路由器中的优先级。取值范围是0~255,其中可用的范围是1~254。0表示设备停止参与VRRP,用来使备份路由器尽快成为主路由器,而不必等到计时器超时;255则保留给IP地址拥有者。缺省值是100。

Count IP Addrs:VRRP广播中包含的虚拟IP地址个数。

IP Address(es):虚拟路由器IP地址,地址个数是Count IP Addrs的值。

Master路由的选举

备份组中路由器的优先级:

  • VRRP根据优先级来确定备份组中每台路由器的角色(Master路由器或Backup路由器)。优先级越高,则越有可能成为Master路由器。
  • 当两台优先级相同的路由器同时竞争Master时,比较接口IP地址大小。接口地址大者当选为Master。

VRRP优先级的取值范围为0到255(数值越大表明优先级越高),可配置的范围是1到254,优先级0为系统保留给路由器主动放弃Master位置时候使用,255则是系统保留给IP地址拥有者使用。若VRRP路由器的IP地址和虚拟路由器的接口IP地址相同,则该VRRP路由器被称为该IP地址的所有者;IP地址所有者自动具有最高优先级:255。因此,当备份组内存在IP地址拥有者时,只要其工作正常,则为Master路由器。

备份组中路由器的工作方式:

  • 非抢占方式:如果备份组中的路由器工作在非抢占方式下,则只要Master路由器没有出现故障,Backup路由器即使随后被配置了更高的优先级也不会成为Master路由器。
  • 抢占方式:如果备份组中的路由器工作在抢占方式下,它一旦发现自己的优先级比当前的Master路由器的优先级高,就会对外发送VRRP通告报文。导致备份组内路由器重新选举Master路由器,并最终取代原有的Master路由器。相应地,原来的Master路由器将会变成Backup路由器。Backup路由器接收到VRRP通告报文后,只会将自己的优先级与通告报文中的优先级进行比较,不会比较IP地址,只有自己的优先级大于通告报文中的优先级时,才会抢占成为Master。

初始创建的路由器工作在Backup状态,通过VRRP报文的交互获知虚拟路由器中其他成员的优先级:

  • 如果VRRP报文中Master路由器的优先级高于自己的优先级,则路由器保持在Backup状态;
  • 如果VRRP报文中Master路由器的优先级低于自己的优先级,采用抢占工作方式的路由器将抢占成为Master状态,周期性地发送VRRP报文,采用非抢占工作方式的路由器仍保持Backup状态;
  • 如果在一定时间内没有收到VRRP报文,则路由器切换为Master状态。

由于路由器上备份组的配置不一致、网络故障等原因造成备份组中存在多个Master路由器时,这些Master路由器会根据优先级和IP地址选举出一个Master:优先级高的路由器成为Master;优先级低的成为Backup;如果优先级相同,则IP地址大的成为Master。

VRRP定时器
VRRP定时器分为两种:VRRP通告报文间隔时间定时器和VRRP抢占延迟时间定时器。
1)VRRP通告报文时间间隔定时器
VRRP备份组中的Master路由器会定时发送VRRP通告报文,通知备份组内的路由器自己工作正常。
用户可以通过设置VRRP定时器来调整Master路由器发送VRRP通告报文的时间间隔。如果Backup路由器在等待了3个间隔时间后,依然没有收到VRRP通告报文,则认为自己是Master路由器,并对外发送VRRP通告报文,重新进行Master路由器的选举。

2)VRRP抢占延迟时间定时器
为了避免备份组内的成员频繁进行主备状态转换,让Backup路由器有足够的时间搜集必要的信息(如路由信息),Backup路由器接收到优先级低于本地优先级的通告报文后,不会立即抢占成为Master,而是等待一定时间——抢占延迟时间后,才会对外发送VRRP通告报文取代原来的Master路由器。

Master路由器状态的通告
Master路由器周期性地发送VRRP报文,在虚拟路由器中公布其配置信息(优先级等)和工作状况。Backup路由器通过接收到VRRP报文的情况来判断Master路由器是否工作正常。
     Master路由器主动放弃Master地位(如Master路由器退出虚拟路由器)时,会发送优先级为0的VRRP报文,致使Backup路由器快速切换变成Master路由器。这个切换的时间称为Skew time,计算方式为:(256-Backup路由器的优先级)/256,单位为秒。
     当Master路由器发生网络故障而不能发送VRRP报文的时候,Backup路由器并不能立即知道其工作状况。Backup路由器等待一段时间之后,如果还没有接收到VRRP报文,那么会认为Master路由器无法正常工作,而把自己升级为Master路由器,周期性发送VRRP报文。如果此时多个Backup路由器竞争Master路由器的位置,将通过优先级来选举Master路由器。Backup路由器默认等待的时间称为Master_Down_Interval,取值为:(3×VRRP报文的发送时间间隔)+Skew time,单位为秒。
     在性能不够稳定的网络中,Backup路由器可能因为网络堵塞而在Master_Down_Interval期间没有收到Master路由器的报文,而主动抢占为Master位置,如果此时原Master路由器的报文又到达了,就会出现虚拟路由器的成员频繁的进行Master抢占现象。为了缓解这种现象的发生,特制定了延迟等待定时器。它可以使得Backup路由器在等待了Master_Down_Interval后,再等待延迟等待时间。如在此期间仍然没有收到VRRP报文,则此Backup路由器才会切换为Master路由器,对外发送VRRP报文。

如果Backup路由器监视Master路由器采用的是具有快速检测功能的BFD技术。在Backup设备上使用该技术监视Master路由器的状态,一旦Master路由器发生故障,Backup就可以自动切换成为新的Master路由器,将切换时间缩短到毫秒级。

VRRP工作原理
参与虚拟路由器的每一台VRRP路由器,都只有3种VRRP状态:初始状态(Initialize)、主控状态(Master)、备份状态(Backup)。

VRRP的工作过程为:

1)路由器使能VRRP功能后,会根据优先级确定自己在备份组中的角色。优先级高的路由器成为Master路由器,优先级低的成为Backup路由器。Master路由器定期发送VRRP通告报文,通知备份组内的其他路由器自己工作正常;Backup路由器则启动定时器等待通告报文的到来。
2)在抢占方式下,当Backup路由器收到VRRP通告报文后,会将自己的优先级与通告报文中的优先级进行比较。如果大于通告报文中的优先级,则成为Master路由器;否则将保持Backup状态。
3)在非抢占方式下,只要Master路由器没有出现故障,备份组中的路由器始终保持Master或Backup状态,Backup路由器即使随后被配置了更高的优先级也不会成为Master路由器。
4)如果Backup路由器的定时器超时后仍未收到Master路由器发送来的VRRP通告报文,则认为Master路由器已经无法正常工作,此时Backup路由器会认为自己是Master路由器,并对外发送VRRP通告报文。备份组内的路由器根据优先级选举出Master路由器,承担报文的转发功能。

VRRP协议状态机-初始状态(Initialize)

如果本地优先级为255,也就是说自己是IP拥有者路由器,那么接下来它会:
1)发送VRRP通告报文
2)广播免费ARP请求报文,内部封装是虚拟MAC和虚拟IP的对应,有几个虚拟IP地址,那么就发送几个免费ARP请求报文。
3)启动一个Adver_Timer计时器,初始值为Advertisement_Interval(缺省是1秒),当该计时器超时后,会发送下一个VRRP通告报文
4)本地VRRP进程将自己切换为Master路由器

如果本地优先级不是255,,那么接下来它会:

1)设置Master_Down_Timer计时器等于Master_Down_Interval,也就是主路由器死亡时间间隔,如果此计时器超时,那么Backup路由器就会宣布主路由器死亡。其中Master_Down_Interval = (3*Advertisement_Interval)+ Skew_time举例来说,一个VRRP实例(也就是一个VRRP虚拟器)的优先级是100,报文发送间隔是1秒,那么Master_Down_Interval = 3*1s + (256-100)/256s = 3.609秒。

2)本地VRRP进程将自己切换为Backup路由器。

VRRP协议状态机-备份状态(Backup)
备份路由器是为了监控Master路由器的状态,如果一个VRRP路由器处于此状态,那么它会:
1)不响应对虚拟IP地址的ARP请求报文。
2)丢弃帧头目的MAC地址是虚拟MAC的帧。
3)丢弃IP头中目的IP地址是虚拟IP的IP包。

如果此时该VRRP路由器收到了一个shutdown事件,那么它会:
1)取消Master_Down_Timer。
2)转换为初始状态(Initialize state)。

如果Master_Down_Timer超时,那么该VRRP路由器会执行:
1)发送一个VRRP通告报文。
2)广播免费ARP请求报文,内部封装是虚拟MAC和虚拟IP的对应,有几个虚拟IP地址,那么就发送几个免费ARP请求报文。
3)设置Adver_Timer计时器为Advertisement_Interval(缺省为1秒)。
4)切换到Master状态。

如果该Backup状态的VRRP路由器收到了一个VRRP通告报文:

  • 当该VRRP通告报文的优先级字段为0时,那么路由器会将当前的Master_Down_Timer 设置为Skew_Time。
  • 如果优先级不为0,并且大于或等于本地优先级,那么本地路由器会重置Master_Down_Timer计时器并保持Backup状态。
  • 如果优先级不为0,并且小于本地优先级,如果开启了抢占模式(Preempt mode),那么该Backup路由器等待指定的抢占延迟时间后将自己切换为Master路由器;并执行Master路由器的所有动作;例如:vrrp 1 preempt delay minimum 10,表示等待10秒后切换自己为Master。
  • 如果优先级不为0,并且小于本地优先级,如果没有开启抢占模式(Preempt mode),那么本地路由器保持Backup状态。

VRRP协议状态机-主控状态(Master)

当路由器处于Master状态时,会进行下面的动作:

  • 响应对虚拟IP地址的ARP请求。
  • 转发目的MAC地址是虚拟MAC的数据帧。
  • 拒绝目的IP地址是虚拟IP的数据包,除非它是IP地址拥有者(也就是优先级是255的那个路由器)。

如果处于Master状态的VRRP进程收到了一个shutdown事件,那么它会:
1)取消Adver_Timer计时器。
2)发送一个优先级字段置零的VRRP通告报文。
3)切换为初始状态(Intialize state)。

如果Adver_Timer计时器超时,那么:
1)发送一个VRRP通告报文。
2)重置Adver_Timer计时器。

如果收到了一个VRRP报文且其优先级为0,那么:
1)发送一个VRRP通告报文。
2)重置Adver_Timer计时器。

如果收到了一个VRRP报文且其优先级高于本地优先级,或者收到的VRRP报文优先级等于本地优先级但是主IP地址高于本地的主IP地址,那么:
1)取消Adver_Timer计时器。
2)设置Master_Down_Timer计时器为Master_Down_Interval。
3)切换为Backup状态。

原文地址:http://blog.51cto.com/billy98/2064252

时间: 2024-11-06 03:41:05

VRRP协议简介的相关文章

VRRP协议详解

1  概述 1.1  产生背景 随着Internet的发展,人们对网络可靠性的要求越来越高.特别是对于终端用户来说,能够实时与网络其他部分保持联系是非常重要的.一般来说,主机通过设置默认网关来与外部网络联系,如图1所示: 图1 常用局域网组网方案 主机将发送给外部网络的报文发送给网关,由网关传递给外部网络,从而实现主机与外部网络的通信.正常的情况下,主机可以完全信赖网关的工作,但是当网关坏掉时,主机与外部的通信就会中断.要解决网络中断的问题,可以依靠再添加网关的方式解决,不过由于大多数主机只允许

Http协议简介

Http协议简介 HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.HTTP目前协议的版本是1.1.HTTP是一种无状态的协议. 无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息. 1. Http协议通信过程 HTTP遵循请求(Request)/应答(Response)模型.Web浏览器向Web服务器

VRRP 协议

VRRP VRRP(Virtual Router Redundancy Protocol):虚拟路由冗余协议 通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信.当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信.(网关双备份) 注:一台交换机或路由器可以运行多个VRRP进程. VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,如SwitchA和Swit

VRRP协议具体解释

转帖:http://blog.chinaunix.net/space.php?uid=11654074&do=blog&id=2857384 Contents                                                                                                                                   Page 文件夹 入木三分学网络第一篇--VRRP协议具体解释... 1

JavaWeb:01——Web与HTTP协议简介

JavaWeb:01--Web与HTTP协议简介 Web的概念 什么是Web: Web是网络上使用最广泛的分布式应用架构. 旨在共享分布在网络上的各个Web服务器中的所有互相连接的信息. 三个特征: 用HTML来表达信息,以及建立信息与信息之间的链接. 用统一资源定位技术URL来实现网络上信息的准确定位. 用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程. WEB的发展历程:略. HTTP协议简介 什么是HTTP协议: HTTP(Hypertext Transfer Protoc

HTTP 协议简介

HTTP 协议简介 博客分类: acl开发--HTTP协议篇 网络协议http协议 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下: 其中,对于TCP传输协议,客户端在于服务器建立连接前需要经过TCP三层握手,过程如下: 二.HTTP协议 2.

入木三分学网络第一篇--VRRP协议详解第一篇(转)

因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静态网关出现单点失效现象的路由协议. VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器(位于一个虚拟路由器组中, 在该组中,只有一台路由器--master路由器工作,转发数据包,其它路由器是backup路由器,不参与转发数据包),以及在实

TCP/IP篇--各协议简介

--百家菜 在学习网络方面的知识过程中,不可避免地要接触到各种协议,对于一开始接触协议的我们来说对于协议实在没有太多的概念和接触,如果你也是这样,那么博主的这一篇博文可能给你一些关于协议的概念.其中的部分介绍为博主自己总结而出,如有欠缺不当的地方,欢迎通过发表评论或线下交流的方式斧正. 关于协议数据的具体格式和数字表示可上网(百度等网站)或者抓包(抓包方式详细见博主的相关博文-<抓包篇--wireshark使用!>,链接http://powersource.blog.51cto.com/113

dhcp协议简介

协议分析 - DHCP协议解码详解 DHCP协议简介 DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取它们的配置信息的自举协议. DHCP使用客户端/服务器模式,请求配置信息的计算机叫做DHCP客户端,而提供信息的叫做DHCP的服务器.DHCP为客户端分配地址的方法有三种:手工配置.自动配置.动态配置. DHCP最重要的功能就是动态分配.除