理解VRRP协议

VRRP即虚拟路由冗余协议(Virtual Router Redundancy Protocol),它是为了避免路由器出现单点故障的一种容错协议。

图1-虚拟路由器

如图1所示,我们把多个运行着VRRP协议的路由器抽象成一个虚拟路由器(从外边来看,就像只有一个真实的路由器在工作),组成虚拟路由器的一组路由器会有一个会成为Master路由器,其余的会成为Backup路由器
正常情况下,会由Master完成该虚拟路由器的工作。Master一旦出现故障,从Backup中选出一个成为Master继续工作,从而避免路由器单点问题。

在详细介绍VRRP协议之前,先弄清楚几个概念。

1. 相关术语

1.1 VIP

VIP(Virtual IP)即虚拟IP,是一个不与特定计算机或网络接口卡(NIC)相连的IP地址。

1.2 VRRP路由器

运行VRRP协议的路由器(或设备)。它可能属于一个或多个虚拟路由器

1.3 虚拟路由器

由一组VRRP路由器组成,抽象成一个虚拟的路由器。它拥有一个虚拟路由器标识符(VRID)和一个VIP

1.4 虚拟MAC地址

即虚拟路由器根据VRID生成的MAC地址。
一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}。
当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。

1.5 IP地址拥有者(IP Address Owner)

如果一个VRRP路由器将VIP作为 真实的接口地址,则该设备是IP地址拥有者。
当这台设备正常工作时,它会响应目的地址是VIP的报文,如ping、TCP连接等。

1.6 优先级(Priority)

用来标识虚拟路由器中各成员路由器的优先级。
虚拟路由器根据优先级选举出Master和Backup。

2. VRRP是如何工作的

当路由器配置了VRRP(VRID、VIP、优先级等信息)后,它就成了一台VRRP路由器,即组成某个虚拟路由器的一个成员路由器。

2.1 VRRP的工作流程
  1. Master选举:从VRRP组中选举一个Master,其余为Backup
  2. 各设备协调工作:Master负责虚拟路由器的工作,Backup负责监听Master的状态
  3. 故障转移:Master出现故障,回到步骤1
2.2 VRRP协议定义了3种状态机:

分别为初始状态(Initialize)活动状态(Master)备份状态(Backup)

3种状态相互之间的转换

  1. 初始状态(Initialize)
  • 为VRRP不可用状态,在此状态下设备不会对VRRP报文做任何处理。通常刚配置VRRP时或设备检测到故障时会进入该状态。
  • 收到接口startup(启动)的状态,如果设备的优先级为255(表示该设备为虚拟路由器IP地址拥有者),则直接成为Master设备。如果设备的优先级小于255,则会先切换到Backup状态。
  1. 活动状态(Master)
    处于该状态下的设备为Master设备,Master设备会做如下工作:
  • 定时发送VRRP通告报文(时间间隔为Advertisement_Interval)
  • 以虚拟MAC地址相应对虚拟IP地址的ARP请求
  • 转发目的MAC地址为虚拟MAC地址的IP报文
  • 抢占模式下,如果收到比自己优先级大的VRRP报文,或者跟自己优先级相等,且本地接口IP地址小于源端接口IP地址时,则转变为Backup状态。
  • 收到Shutdown(关闭)消息后,则立即转变为Initialize状态。
  1. 备份状态(Backup)
    处于该状态下的设备接收Master发送的VRRP通告报文,判断Master是否正常。如果一定时间间隔没有收到VRRP通告报文,即Master_Down_Interval(Master_Down_Interval = 3* Advertisement_Interval + Skew_time)超时,则判断为Master故障。
  • 接收Master发送的VRRP通告报文,判断Master是否正常
  • 对虚拟IP的ARP请求不做响应
  • 丢弃目的MAC地址为虚拟路由器MAC地址的IP报文
  • 丢弃目的IP地址为虚拟路由器IP地址的IP报文
  • 如果收到优先级比自己高,或与自己相等的VRRP报文,则重置Master_Down_Interval定时器(不进一步比较IP地址)。
  • 如果收到优先级比自己小的VPPR报文,且优先级为0时,(表示原Master设备声明不参与该VRRP组了),定时器时间设置为Skew_time(偏移时间,Skew_time= (256 - priority)/256)。
  • 如果收到优先级比自己小的VPPR报文,且优先级不为0时,丢弃该报文,立即转变为Master状态。
  • Master_Down_Interval定时器超时,立即转变为Master状态。
  • 收到Shutdown(关闭)消息后,则立即转变为Initialize状态。
2.3 Master选举

VRRP根据优先级来确定虚拟路由器中每台设备的角色,Master设备或Backup设备。优先级越高,则越有可能成为Master设备。

Master选举过程如下:
  1. 初始创建的VRRP设备都工作在Initialize状态,当VRRP设备在收到VRRP接口Startup的消息后,如果此设备的优先级等于255(也就是所配置的虚拟路由器IP地址是本设备VRRP接口的真实IP地址),将会直接切换至Master状态,并且无需进行下面的Master选举。否则,会先切换到Backup状态,待Master_Down_Interval定时器超时后再切换至Master状态。(开始的时候并没有Master设备,则这个Master_Down_Interval定时器一定会超时)

  2. 首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级,然后根据以下规则进行Master的选举。
    1).如果收到的VRRP报文中的优先级高于或等于自己的优先级,则当前Backup设备保持Backup状态。
    2).如果VRRP报文中Master设备的优先级低于自己的优先级,当采用抢占方式下(缺省为抢占方式),则当前Backup设备将切换至Master状态;当采用非抢占方式时,当前Backup设备仍保持Backup状态。

  3. 当有多个VRRP设备同时切换至Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换至Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,再根据VRRP设备上VRRP备份组所在接口主IP地址大小进行比较,IP地址较大的成为Master设备。

2.4 Master与Backup协调工作

Master设备会周期性的发送VRRP通告报文,在VRRP备份组中公布其配置信息(优先级等)和工作状态。Backup设备通过接收到Master设备发来的VRRP报文的情况来判断Master设备是否工作正常。

  1. 当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的VRRP通告报文,使Backup设备快速切换成Master设备(当有多台Backup设备时也要进行Master选举),而不用等到Master_Dwon_Interval定时器超时。这个切换的时间称为Skew_time,计算方式为:(256 -Backup设备的优先级)/256,单位为秒。

  2. 当Master设备发生网络故障而不能发送VRRP通告报文的时候,Backup设备并不能立即知道其工作状况,要等到Master_Down_Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master(同样,当有多台Backup设备时也要进行Master选举)。

在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval定时器超时后仍没有收到Master设备的报文后,使得Backup设备主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup。如此会出现VRRP设备组成员状态频繁切换的现象。为缓解这种现象,可以配置抢占时延,使得Backup设备在等待了Master_Down_Interval定时器后再等待抢占时延时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容