目录
终端设备访问不同网段设备的时候,必须经过网关。如果只有1个网关,那么网络就存在 单点故障,所以为了避免单点故障导致网络的通信中断, 所以,我们建议在一个网段中,可以同时添加多个网关,从而增加网关的冗余性和网络的可靠性; 但是,多网关的部署会带来其他的问题:
一是网关IP地址冲突,二是终端用户需要频繁的切换网关IP地址 。
针对上述两个问题,我们提出:在同网段的多个网关之间运行VRRP,形成1个虚拟网关,终端用户都配置和使用虚拟网关就可以了
注:VRRP主备路由器切换的情况
①主(master)路由器:
通过比较VRRP优先级,优先级大的是master路由器; 周期性的发送VRRP报文,维护master路由器和备份路由器的身份; 周期时间默认是1s; 备份网关,通过比较 VRRP 优先级,优先级小的是备份路由器
②备份(backup)路由器:
通过不断的接收master路由器发送的 VRRP 报文来判断master路由器的状态; 如果在一定的时间内,收不到 VRRP 报文,则认为master路由器出现故障,自己升级为master路由器; 这个“一定的时间”,默认是“master路由器发送VRRP的周期”的3倍,所以默认是 3s?
③虚拟网关:
通过VRRP虚拟出来的网关IP地址,这个网关IP地址,是配置在终端设备上的; 终端设备访问其他网段时,直接将数据发送给虚拟网关IP地址, 此时只有master路由器会回应针对虚拟网关IP地址的ARP请求,所以最终终端设备发送的数据 发送到了master路由器设备上
④VRID:
相同在同一个组中 只有在同一个组中 才会 共享 虚拟ip 虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器VRRP报文格式VRRP只使用到advertisement这一种报文,VRRP使用ip报文作为传输协议报文,协议号为112,使用固定的组播地址224.0.0.18进行发送
⑤VRRP状态机:
VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于活动状态的设备才可以转发那些发那些发送到虚拟IP地址的报文
⑥Initialize:
设备启动时进入此状态,当收到接口Startup的消息,将转入Backup或Master状态(IP地址拥有者的接口优先级为255,直接转为Master)。在此状态时,不会对VRRP报文做任何处理
优先级:
VRRP设备的工作方式有如下两种:
VRRP根据优先级来确定虚拟路由器中每台设备的角色(Master设备或Backup设备)。优先级越高,则越有可能成为Master设备。
初始创建的VRRP设备工作在Initialize状态,收到接口Up的消息后,如果设备的优先级为255,则直接成为Master设备;如果设备的优先级小于255,则会先切换至Backup状态,等待Master_Down_Interval定时器超时后再切换至Master状态。首先切换至Master状态的VRRP设备通过VRRP通告报文的交互获知虚拟设备中其他成员的优先级,进行Master的选举。
① 如果VRRP报文中Master设备的优先级高于或等于自己的优先级,则Backup设备保持Backup状态
② 如果VRRP报文中Master设备的优先级低于自己的优先级,采用抢占方式的Backup设备将切换至Master状态,采用非抢占方式的Backup设备仍保持Backup状态
③ 如果多个VRRP设备同时切换到Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换成Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备
④ 如果创建的VRRP设备为IP地址拥有者,收到接口Up的消息后,将会直接切换至Master状态
①虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送免费ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务
②Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况
③如果Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master
④虚拟路由器状态切换时,Master路由器由一台设备切换为另外一台设备,新的Master路由器只是简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的免费ARP报文,这样就可以更新与它连接的主机或设备中的ARP相关信息。网络中的主机感知不到Master路由器已经切换为另外一台设备
⑤Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占方式和非抢占方式)决定是否重新选举Master
当路由器处于Master状态时,它将会做下列工作:
定期发送VRRP报文
以虚拟MAC地址响应对虚拟IP地址的ARP请求。 虚拟路由器 封装的时候 都封装 虚拟路由器的 mac地址
转发目的MAC地址为虚拟MAC地址的IP报文
如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文
如果收到比自己优先级大的报文则转为Backup状态
如果收到优先级和自己相同的报文,并且发送端的主机IP地址比自己的主IP地址大,则转为Backup状态
当接收到接口的Shutdown事件时,转为Initialize
当路由器处于Backup状态时,它将会做下列工作:
接收Master发送的VRRP报文,判断Master的状态是否正常
对虚拟IP地址的ARP请求,不做响应
丢弃目的MAC地址为虚拟MAC地址的IP报文
丢弃目的IP地址为虚拟IP地址的IP报文
Backup状态下如果收到比自己优先级小的报文时,丢弃报文,不重置定时器;如果收到优先级和自己相同的报文,则重置定时器,不进一步比较IP地址
当Backup接收到MASTER_DOWN_TIMER定时器超时的事件时,才会转为Master
当接收到接口的Shutdown事件时,转为Initialize
3.1.1新建拓扑,添加一个二层交换机、三个路由器、两个PC机,再连接它们对应的接口,最后开启这些设备
3.1.2设置PC1、PC2不同网络区域的IP地址和网关以及子网掩码
3.1.3配置路由器AR1与路由器AR2两个接口的IP地址与子网掩码
3.1.4配置AR1为主路由器、AR2为备用路由器
先配置主路由器AR1的虚拟网关,然后设置其优先级为120,再设置延迟抢占5s,最后设置监听主路由器AR1的上行端口g2
配置AR2的虚拟网关,默认其优先级为100,低于AR1的优先级120,成为备用路由器
3.1.5PC1能够ping通虚拟网关,才能证明上述步骤正确
在主路由器AR1上,输入“display vrrp”,查看前面我们配置的相应信息
在主路由器AR2上,输入“display vrrp”,查看前面我们配置的相应信息
3.1.6删除路由器AR1端口g1的线,查看主备路由器AR1和AR2是否发生变化
PC1依旧能ping通虚拟网关
当主路由器AR1线路故障后,变为初始化状态
当主路由器AR1线路故障后,备用路由器AR2启用成为主路由器
3.1.7删除路由器AR1端口g2的线,主备路由器AR1的上行端口g2故障,即查看主路由器的优先级是否减30,是否被关闭
3.2.1设置路由器AR3各个端口的IP地址和子网掩码
3.2.2配置AR1、AR2、AR3的静态路由
配置静态路由的通用格式:ip route-static 目的网段 子网掩码 下一跳地址
配置AR3的两条静态路由,第二条作为备用
3.2.3检测PC1与PC2能否ping通,能则说明配置成功