• 网络协议学习:虚拟路由冗余协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(超详细)

  • 相关阅读:
    python中如何打印日志信息
    【国庆活动】关于Spring Beans 的理解
    六、react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参
    10:00面试,10:08就出来了,技术官问我K8s的核心概念!
    FMC123--高速数据采集FMC子卡模块
    QGIS编译(跨平台编译)之五十五:Qt Creator环境下libdxfrw库的pro文件
    国内项目管理中级证书CSPM-3正在报名!
    如何有效地报告性能测试结果?一文告诉你
    QGIS提取两条线元素的交点
    day02_运算符_if
  • 原文地址:https://blog.csdn.net/mxb1234567/article/details/126305521