前文我们了解了链路高可用技术链路聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16279078.html;今天我们来聊一聊另一种高可用技术,网关高可用vrrp相关话题;

  技术背景

  提示:通常一个网段内只有一个网关,当然一旦网关出现故障,对应网段内的主机将无法正常和其他网段主机通信,这也意味着该网段就被孤立了;那该怎么办呢?我们可以不可以提供多台网关呢?

  提示:我们知道一个网关就对应一个ip地址,多台网关就意味着有多个ip地址且彼此都是不同的ip地址;虽然多台网关可以有冗余备份的效果,但是如果默认网关宕机,谁来通知用户,或者谁来更改用户侧主机的网关地址呢?很显然需要某种协同机制,比如网关1是默认网关,当默认网关宕机以后,对应备份网关能够知道,并且能够接管默认网关的工作的同时,让用户无所感知;

  VRRP:Virtual Router Redundancy Protocol,虚拟路由器冗余协议,一般路由器在网络中就是充当网关的作用,所以该协议也叫虚拟网关冗余协议;

  提示:vrrp它能够将多台物理网关加入到一个设备组中,形成一台虚拟网关,承担物理网关的功能;只要设备组中有任意一台物理网关能够正常工作,虚拟网关就能正常工作;该协议有两个版本,v2和v3;v2基于IPV4,v3基于IPV6;

  提示:当链路或设备发生故障,对应备份网关将充当虚拟网关,持续为用户提供网关服务;这也提高了整网段的可靠性;

  VRRP备份组:VRRP Group

  所谓备份组就是将局域网内的一组网关划分在一起;该备份组里的设备由一个主设备(master)和多个备份设备(backup)组成,功能上相当于一台虚拟网关;虚拟网关有一个虚拟ip地址,作为该虚拟网关的ip地址,也是用户端指定的ip地址;

  提示:有了虚拟网关,对应用户侧就不能设置物理网关地址,因为虚拟ip是可以在两个物理设备间相互移动,也就是说谁是master,对应谁就拥有虚拟ip的身份(能响应对应虚拟ip的arp请求和数据转发的能力);

  提示:正常情况下,如果一个设备组中有master存活,对应backup会一直监听master的心跳,如果在一定时间段里,backup没有收到master的心跳,对应backup就会认为master不存在,它就会主动承担起master的角色,向外发送心跳,表示它是master,同时也告诉别人master还活着;正因为是这样的属性,当master宕机以后,对应backup就能通过监听心跳来判断对应master是否存活,一旦master宕机,backup就会立刻转变为master角色,为用户提供网关服务;

  VRRP选举规则

  VRRP选举规则是根据各网关发送到vrrp报文中的优先级确定,优先级最大者称为master,其他网关称为backup:master主要负责应答对虚拟ip地址的ARP请求,转发发往虚拟网关的数据包;backup主要负责监听master的心跳,在master故障以后,接替master的工作;vrrp的优先级范围是0-255,默认是100,数字越大越优先;其中优先级255保留给ip地址拥有者使用,所谓ip地址拥有者是指物理网关的ip地址和虚拟网关的ip地址相同,此时我们手动设置的优先级就不生效了,它会自动将对应ip地址拥有者的优先级改成255;优先级0用于触发backup立即成为master,如主动退出VRRP组,对应发送的优先级就是0;如果优先级一样,就比较ip地址,ip地址越大越优先;抢占规则,默认是开启;这里需要注意抢占只会比较优先级,如果优先级一样,对应不会触发vrrp master重新选举;只有在设备组中收到了更高优先级的设备发送的vrrp报文后,对应才会触发master的重新选举;

  提示:默认先比较优先级,优先级大者成为master,其他设备成为backup;如果优先级一样,则比较ip地址,ip地址大者成为master;

  提示:如果物理网关的ip地址和虚拟网关的ip地址一样,这对应物理网关就是ip地址拥有者,成为master;同时对应设备的优先级会自动变为255;

  虚拟MAC规则

  提示:虚拟mac规则我们只需要知道后面两个16位数字表示的是vrrp的组编号,范围是0-255;前面的00-00-5e是IANA分配的,00-01表示vrrp协议;

  VRRP工作流程

  提示:默认设备组里的设备都会是backup的状态发送vrrp报文,选举master;如果设备组里只有一台设备,那么等待计时器超时以后,对应状态会从backup转变为master;如果有多台设备,首先会根据优先级选举出master,如果优先级一样则比较ip地址,ip地址大者成为master;

  提示:根据优先级比较,如果对应设备优先级高,对应设备就会立刻成为master,其他设备将成为backup,成为master的设备会周期性发送vrrp报文,意思就是告诉backup master还活着;

  提示:成为master的设备首先会发送一个免费ARP,告诉交换机虚拟mac地址;对应交换机收到免费ARP以后,对应就会在mac地址表项中记录对应虚拟mac对应的端口;后续交换机收到虚拟mac封装的包,会自动转发到对应的接口,发送给master;

  提示:当pc请求虚拟网关的mac时,首先pc会发送arp广播,交换机收到arp广播以后,会泛洪所有端口,但是只有master会应答该arp请求;

  提示:当pc收到虚拟网关mac以后,就会封装目标mac为虚拟网关mac进行数据包发送,当交换机收到对应报文以后,会根据自己记录的mac地址表项,从对应接口转发出去给master;后续master收到对应数据报文后,就会进行处理(因为master拥有虚拟mac和虚拟ip的使用权,即它可以解封装虚拟mac的包和虚拟ip的包,同时重新封装,简单讲用户的报文到达master后会进行解封装、和再次封装的过程,当然回来的包也会经历这个过程);

  提示:当master发生故障以后,对应backup会等待一段时间,如果在这个等待的时间里没有收到master的心跳,此时backup就会认为对应master应该是故障了,backup就会切换成master,接替master继续工作;

  提示:当然当backup成为master以后,对应也会向交换机发送免费arp告诉交换机更新自己的mac地址表项;对应交换机收到免费ARP报文以后,就会记录虚拟mac地址和收到免费ARP的接口做对应;

  提示:当pc再次向交换机发送虚拟mac地址封装的包后,对应交换机就会根据自己的mac地址表项记录的接口,转发pc的数据包;

  提示:如果master恢复以后,对应没有配置抢占,即便自己的优先级高,对应master角色也不会恢复;只有开启了抢占模式以后,对应vrrp设备组中有更高优先级的设备发送vrrp报文,才会触发master的重新选举;

  VRRP定时器

  VRRP定时器有两种,一种是通告间隔定时器,一种是抢占延时定时器;所谓通告间隔定时器就是指master每隔多久发送一次心跳;默认是1秒一次;正常情况下master会定时发送VRRP通告报文,告诉backup自己还活着;如果backup在等待3个间隔时间后,依然没有收到master的通告报文,则认为master故障,此时backup会将状态切换成master,并对外发送vrrp通告报文,重新进行master的选举;

  抢占延时定时器是指开启了抢占模式,对应master故障后,又恢复了,是隔多久将状态切换成master;默认是0秒,即只要master恢复就立刻抢占;为了避免频繁的主备切换,让backup有足够的时间收集必要的信息,backup接收到优先级更低的vrrp通告报文后,不会立即抢占成为master,而是等待一定时间才会对外发送vrrp通告报文取代原来的master;

  VRRP报文格式

  提示:version表示版本,有v2和v3,v2基于ipv4,v3基于ipv6;其中type表示对应的类型;virtual Rtr ID表示vrrp 组的编号;priority表示对应设备的优先级;count ip addrs表示虚拟ip地址的数量;auth type表示认证类型;adver Int表示通告间隔时长;后面的就是校验和,ip地址,认证等信息;vrrp是属于网络称协议,其协议号为112,组播地址为224.0.0.18;各网络协议层次划分可以参考https://images.cnblogs.com/cnblogs_com/qiuhom-1874/1989985/o_220529161814_Layer%20division%20of%20network%20protocols.jpg

  VRRP状态机制

  提示:VRRP的状态有三种,分别是backup、master、Initialize;其中默认最开始时都会是backup的状态,当收到优先级大于本地优先级的设备发送的vrrp报文后,或者收到优先级和本地优先级一样,且ip地址大于本地接口ip地址的报文后,对应设备会处于backup状态;当在3个周期没有收到master发送的心跳,或者收到优先级小于本地优先级的报文,且开启了抢占的情况下,对应设备会从backup状态切换至master状态;如果是ip地址拥有者,最开始它不是backup状态而是Initialize状态,然后直接转变为master状态;如果master/backup对应接口down掉以后都会回到Initialize状态;当然如果原来是backup,由于接口down掉变为Initialize状态,在接口恢复后还是会恢复成backup(master存活的情况下,如果master down,会触发新的master选举,会从backup转变为master)

  VRRP设计方案注意事项

  提示:我们知道在二层网络里,如果开启了STP,那么所有流量都会先到根桥,然后从根桥网其他地方转发;如果master和stp根桥不再同一设备,则很容易造成持有路径;所以为了避免持有路径,对应vrrp里的master和stp里的root应该保持一致,即都在同一设备;

  VRRP应用

  提示:主备备份是最常见的VRRP易用,即在一个设备组里,一个master工作多个backup看着master工作,监听master的心跳;很显然这种是浪费设备,同时master的压力比较大;

  提示:负载分担是合理的做法,将多个设备组在同一台设备上设置不同的角色,比如组1里R1为master,R2和R3为backup;在组2里R2为master,R1和R3为backup;在组3里R3为master,R1和R2为backup;这样一来使得每各路由器都得到了应用,同时多个路由器两两备份,其中一台或两台宕机都不会影响业务的访问;

  VRRP跟踪

  提示:所谓vrrp跟踪是指非vrrp接口宕掉以后,对应vrrp接口能够感知;如上图所示如E0口是master接口,如果G1口down掉以后,对应vrrp并不会感知,对应pc的数据还是会转发至RA的E0口;这样一来对应pc的数据就会绕路;所以为了避免因非vrrp接口down造成次优路径;我们可以在master上vrrp接口上绑定一个上游口,如果一旦上游口down掉,对应vrrp的优先级自动降低至能够触发master选举,让backup成为master;

  提示:如上,master上游链路故障后,自动将优先级降低30,使得master的优先级小于backup即可,对应backup 收到小于自己本地优先级的vrrp报文,它会自动切换成master,从而避免次优路径的发生;这里需要master 降低后的优先级要小于backup才行,如果降低后的优先级大于backup,对应不会触发master选举,没有意义;

  提示:除了master优先级降低后要小于backup的优先级之外,对应backup要开启抢占才行,如果backup没有开启抢占,对应即便收到优先级小于自己本地优先级的vrrp报文,对应backup也不会成为master;所以使用vrrp追踪必须满足两点,master降低后的优先级要小于backup,其次是backup上必须开启抢占;

HCNP Routing&Switching之VRRP基础的更多相关文章

  1. HCNP Routing&Switching之BGP基础

    前文我们了解了路由注入带来的问题以及解决方案相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15362604.html:今天我们来学习下新的路由协议BG ...

  2. HCNP Routing&Switching之动态路由协议IS-IS基础

    前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html:今天我们来聊一聊另一动态路由协议IS-IS相 ...

  3. HCNP Routing&Switching之组播技术-组播基础

    组播技术背景 随着internet网络的不断发展,网络中交互的各种数据.语音.视频信息数量突增:新型的在线直播.网络电视.视频会议等应用也在逐渐兴起:这些业务大多符合点到多点的模式,对信息安全性.传播 ...

  4. HCNP Routing&Switching之IS-IS报文结构和类型

    前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...

  5. HCNP Routing&Switching之组播技术-组播协议IGMP

    前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...

  6. HCNP Routing&Switching之ARP安全

    前文我们了解了IP安全相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16652367.html:今天我们来聊一聊ARP安全相关话题: 什么是ARP? ...

  7. HCNA Routing&Switching之路由基础

    在开始聊路由之前,我们首先要明白在网络通讯里,什么是路由?什么是路由表.路由器以及网关的相关术语:路由简单讲就是指网络数据包从源头到目标的路径,主要用来为不同网络间通讯提供数据包转发依据:路由表就是多 ...

  8. HCNP Routing&Switching之OSPF LSA类型(二)

    前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...

  9. HCNP Routing&Switching之BGP邻居建立条件、优化和认证

    前文我们了解了BGP相关概念.AS相关概念以及BGP邻居类型.基础配置等,相关回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15370838.html:今天我们 ...

随机推荐

  1. 一行代码,让 VS Code 内置 PDF 阅读器变成深色模式

    使用 CSS/JS 简单实现 PDF 深色模式.

  2. 简易table form梳理

    <!--      A:表格-table    <双标签,day3上午第一次接触>         作用:显示信息     一:table简易案例:         <tabl ...

  3. 生成二维码,并且保存,指定位置的view成图片,并且保存到本地相册

    效果图: 保存的图片效果是: 保存到本地的,是整个视图,不只是单单的二维码的图片, 在了解的一番过程之后,我知道了, 1.首先要去获取保存图片的写入权限:(使用 https://github.com/ ...

  4. Elasticsearch上手指南

    目录 ElasticStack及Elasticsearch介绍 Elasticsearch安装 Elasticsearch入门 Elasticsearch配置 Elasticsearch REST A ...

  5. Java语言学习day09--7月08日

    今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例      ###01方法的概述     * A: 为什么要有方法         * 提高代码的复用性      * B: 什么是方法 ...

  6. 【面试普通人VS高手系列】HashMap是怎么解决哈希冲突的?

    常用数据结构基本上是面试必问的问题,比如HashMap.LinkList.ConcurrentHashMap等. 关于HashMap,有个学员私信了我一个面试题说: "HashMap是怎么解 ...

  7. 基于 POI 封装 ExcelUtil 精简的 Excel 导入导出

    注 本文是使用 org.apache.poi 进行一次简单的封装,适用于大部分 excel 导入导出功能.过程中可能会用到反射,如若有对于性能有极致强迫症的同学,看看就好. 序 由于 poi 本身只是 ...

  8. 使用etcd选举sdk实践master/slave故障转移

    本次将记录[利用etcd选主sdk实践master/slave高可用], 并利用etcdctl原生脚本验证选主sdk的工作原理. master/slave高可用集群 本文目标 在异地多机房部署节点,s ...

  9. v74.01 鸿蒙内核源码分析(编码方式篇) | 机器指令是如何编码的 | 百篇博客分析OpenHarmony源码

    本篇关键词:指令格式.条件域.类型域.操作域.数据指令.访存指令.跳转指令.SVC(软件中断) 内核汇编相关篇为: v74.01 鸿蒙内核源码分析(编码方式) | 机器指令是如何编码的 v75.03 ...

  10. XCTF练习题---MISC---适合作为桌面

    XCTF练习题---适合作为桌面 flag:flag{38a57032085441e7} 解题步骤: 1.观察题目,下载附件 2.拿到题目以后是一张图片,切换一下通道,发现一张二维码,使用QR进行翻译 ...