HCNP Routing&Switching之VRRP基础
前文我们了解了链路高可用技术链路聚合相关话题,回顾请参考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基础的更多相关文章
- HCNP Routing&Switching之BGP基础
前文我们了解了路由注入带来的问题以及解决方案相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15362604.html:今天我们来学习下新的路由协议BG ...
- HCNP Routing&Switching之动态路由协议IS-IS基础
前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html:今天我们来聊一聊另一动态路由协议IS-IS相 ...
- HCNP Routing&Switching之组播技术-组播基础
组播技术背景 随着internet网络的不断发展,网络中交互的各种数据.语音.视频信息数量突增:新型的在线直播.网络电视.视频会议等应用也在逐渐兴起:这些业务大多符合点到多点的模式,对信息安全性.传播 ...
- HCNP Routing&Switching之IS-IS报文结构和类型
前文我们了解了IS-IS动态路由协议基础相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15249328.html:今天我们来聊一聊IS-IS动态路由协 ...
- HCNP Routing&Switching之组播技术-组播协议IGMP
前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...
- HCNP Routing&Switching之ARP安全
前文我们了解了IP安全相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16652367.html:今天我们来聊一聊ARP安全相关话题: 什么是ARP? ...
- HCNA Routing&Switching之路由基础
在开始聊路由之前,我们首先要明白在网络通讯里,什么是路由?什么是路由表.路由器以及网关的相关术语:路由简单讲就是指网络数据包从源头到目标的路径,主要用来为不同网络间通讯提供数据包转发依据:路由表就是多 ...
- HCNP Routing&Switching之OSPF LSA类型(二)
前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...
- HCNP Routing&Switching之BGP邻居建立条件、优化和认证
前文我们了解了BGP相关概念.AS相关概念以及BGP邻居类型.基础配置等,相关回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15370838.html:今天我们 ...
随机推荐
- Node的重要性
一. 为什么要学Node 1. 是自己更全面, 有大局观 2. 提升话语权 3. 升职加薪的筹码 二. Node的作用和应用 1. 脱离浏览器运行 js 2. 后台API编写 3. webpack, ...
- 静态变量和成员变量的区别、final修饰特点、创建对象的内存图、静态内存图
静态变量和成员变量的区别* 静态变量也叫类变量 成员变量也叫对象变量* A:所属不同 * 静态变量属于类,所以也称为为类变量 * 成员变量属于对象,所以也称为实例变量(对象变量)* B:内存中位置不 ...
- 微信小程序插件组件-Taro UI
微信小程序组件使用以下官网查看 ↓ ↓ ↓ https://taro-ui.jd.com/#/docs/fab
- int bool str
一. python的基本数据类型 1. int 整数 2. bool 布尔. 判断. if while 3. str 字符串 ,一般存放小量的数据 4. list 列表. 可以存放大量的数据 ...
- 制作Unity中的单位血条
本文章用于记录Unity的学习过程,如有疑问,欢迎交流. 1.血条的显示 在Unity场景中创建空物体,然后新建两个Image(图片),当然只用一个也行,一个作为填充来显示血量,一个作为血条的外框. ...
- C++ 限定符Const和指针
指向常量的指针 指向常量的指针不能用于其所指对象的值.若想存放常量对象的地址,只能使用指向常量的指针. const int a = 3; //a是个常量,其值不能改变 int *b = &a; ...
- VMware及win10虚拟机的安装及环境配置
一.安装VMware 1.1.下载VMware安装包 在此给大家一个迅雷的链接:点击下载 提取码:sp84 1.2.点击下一步 1.3.点击我接受,点击下一步 1.4.更换安装位置,点击下一步 1.5 ...
- Codeforces Round #677 (Div. 3) D. Districts Connection思维1200
题目链接 Problem - 1433D - Codeforces 题目 美好的一天,从看不懂题目开始~~ Example input 4 5 1 2 2 1 3 3 1 1 1 4 1 1000 1 ...
- redis在物理机部署模式下如何进行资源[cpu、网卡]隔离
上周末晚上运营做直播,业务代码不规范,访问1个redis竟然把1台服务器的网卡打满了,这台服务器上的其他redis服务都受到了影响.之前没有做这方面的预案,当时又没有空闲的机器可以迁移,在当时一点办法 ...
- 判断是否微信,qq等登陆。进去不同的页面下载
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>安 ...