• 网络协议学习:虚拟路由冗余协VRRP


    背景

    一个网络中的主机如果想向其他网络上的主机发送数据,必须经过主机所在网络的默认网关。随着网络的发展,网络中越来越多的机器需要和外界进行通信的时候,如果网关出现单点故障,那么整个网络都和外界断开的联系。
    在分布式网络中,Master-Slave架构常用于解决单点故障,VRRP也是类似的思想。

    VRRP

    虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,是一种用于提高网络可靠性的容错协议。通过VRRP,可以在主机的下一跳设备出现故障时,及时将业务切换到备份设备,从而保障网络通信的连续性和可靠性。

    拓扑结构

    在这里插入图片描述
    使用VRRP的网络拓扑如下图所示。其中,选择RTA作为Master,RTB作为Slave,图中圆形代表两个路由器组成了一个逻辑路由器,共同作为一个逻辑的网关,提供服务。

    实现

    在这里插入图片描述

    举个例子,在这个网络中,RTA和RTB共同组成逻辑网关,对外提供服务。椭圆区域作为逻辑网关,会有一个共同的vip(此处为1.1.1.1)和vmac。网络中的主机的网关都设置为1.1.1.1。
    当IP数据包到达交换机Switch A的时候,Switch A需要知道应该把这个数据包转发到哪条链路去,Switch A会广播一个ARP请求,看看哪条链路会响应这个ARP请求。
    此时,Master相应这个ARP请求,从而Switch A就知道了应该把数据包从自己的eth0对应的这条链路转发出去。此时,Master是真正负责整个网络对外通信的路由器。
    在Master刚选举出来的时候,也会发送一个免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。

    故障感知和切换

    采用类似心跳的形式进行主的故障感知与切换。
    当VRRP设备处于Master状态时,会承担虚拟路由设备的所有转发工作,并定期向其他backup的设备发送VRRP通告报文,报文主要包括其配置信息(优先级等)和工作状况等。
    多个VRRP会根据配置的优先级选举Master设备。如果backup的优先级高于Master了,也可以选择抢占模式(开启preempt)或非抢占模式,决定是否重新选举。

    负载均衡

    除了利用VRRP屏蔽单点故障之外,还可以实现负载均衡。
    在上面的例子中,backup路由器是空转的,并不负责路由工作。如果让backup的路由器也跟着进行转发任务,可以降低一定的成本。
    在配置过程中,可以将两台路由器互配为主备的模式,形成两台虚拟路由器,网络中的主机可以选择任意一个虚拟路由器作为默认网关。
    比如由3台路由器,分别是R1,R2和R3,用这3台路由器可以组成3台虚拟路由器:
    一台以R1为Master,R2和R3为Backup路由器
    一台以R2为Master,R1和R3为Backup路由器
    一台以R3为Master,R1和R2为Backup路由器
    选择任意一台作为网关,进行负载均衡即可。

    参考

    VRRP详解
    VRRP(超详细)

  • 相关阅读:
    机器学习-数值特征
    Stylegan3卡在Setting up PyTorch plugin “upfirdn2d_plugin“...怎么办?一招教你解决!
    【算法】搜索大法
    快速搭建一个简单的SpringBoot项目-详细步骤
    量子密钥分配实际安全性思考
    基于NXP iMX8测试Secure Boot功能部署
    性能测试 —— JMeter分布式测试及其详细步骤
    LED制造企业元亨光电牵手盘古信息,开启数字化转型新篇章
    Hazelcast系列(三):hazelcast集成(服务器/客户端)
    通用接口开放平台设计与实现——番外篇2 打包与引用遇到的问题及解决过程
  • 原文地址:https://blog.csdn.net/mxb1234567/article/details/126305521