VRRP工作原理及作用

目录

一、VRRP的作用

二、VRRP的好处

三、工作原理

四、配置步骤及命令


一、VRRP的作用


        出口网关的备份,保证出口网关的高可用性。

二、VRRP的好处


1. 主路由器失效后,备份路由器立即顶替主路由器的工作,保证数据的不丢失。

2.两个不同的路由器成为不同组的主路由器,相互备份。

3.跟踪上行链路接口状态,当上行链路接口失效时,自动将备份路由份提升为主路

由器,保证数据的不丢失。

三、工作原理


        通过在冗余网关间共享虚拟MAC和IP地址,保证数据转发时并不是转给某一个具体网关的IP,而是把数据转发给虚拟网关的IP,因此,不论哪一个路由器成为主路由,都不会影响数据通信。通过组播协议对数据端口进行监控,一旦检测数据转发的端口坏掉,主路由器会停发HELLO包,备路由器提升为主路由,实现数据的稳定高效转发。

     在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。VRRP路由器是指运行VRRP的路由器,是物理实体;虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定的IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器VRRP协议从路由器组中选出一台作为主控路由器,负责ARP解析和转发IP数据包,组中的其他路由器作为备份的角色并处于待命状态,当由于某种原因主控路由器发生故障时,其中的一台备份路由器能在瞬间的时延后升级为主控路由器,由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。

四、配置步骤及命令

 L2-SW1

[L2-SW1]vlan ba    
[L2-SW1]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[L2-SW1]int e0/0/1
[L2-SW1-Ethernet0/0/1]po    
[L2-SW1-Ethernet0/0/1]port lin    
[L2-SW1-Ethernet0/0/1]port link-t    
[L2-SW1-Ethernet0/0/1]port link-type acc    
[L2-SW1-Ethernet0/0/1]port link-type access 
[L2-SW1-Ethernet0/0/1]po    
[L2-SW1-Ethernet0/0/1]port de    
[L2-SW1-Ethernet0/0/1]port default v    
[L2-SW1-Ethernet0/0/1]port default vlan 10
[L2-SW1-Ethernet0/0/1]int e0/0/2
[L2-SW1-Ethernet0/0/2]po    
[L2-SW1-Ethernet0/0/2]port li    
[L2-SW1-Ethernet0/0/2]port link-t    
[L2-SW1-Ethernet0/0/2]port link-type ac    
[L2-SW1-Ethernet0/0/2]port link-type access 
[L2-SW1-Ethernet0/0/2]po    
[L2-SW1-Ethernet0/0/2]port de    
[L2-SW1-Ethernet0/0/2]port default v    
[L2-SW1-Ethernet0/0/2]port default vlan 20
[L2-SW1-Ethernet0/0/2]int g0/0/1
[L2-SW1-GigabitEthernet0/0/1]po    
[L2-SW1-GigabitEthernet0/0/1]port lin    
[L2-SW1-GigabitEthernet0/0/1]port link-t    
[L2-SW1-GigabitEthernet0/0/1]port link-type tr    
[L2-SW1-GigabitEthernet0/0/1]port link-type trunk 
[L2-SW1-GigabitEthernet0/0/1]po    
[L2-SW1-GigabitEthernet0/0/1]port tr    
[L2-SW1-GigabitEthernet0/0/1]port trunk al    
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass all
                                                   ^
Error: Unrecognized command found at '^' position.
[L2-SW1-GigabitEthernet0/0/1]po    
[L2-SW1-GigabitEthernet0/0/1]port tr    
[L2-SW1-GigabitEthernet0/0/1]port trunk al    
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vl    
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[L2-SW1-GigabitEthernet0/0/1]int g0/0/2
[L2-SW1-GigabitEthernet0/0/2]po    
[L2-SW1-GigabitEthernet0/0/2]port li    
[L2-SW1-GigabitEthernet0/0/2]port link-t    
[L2-SW1-GigabitEthernet0/0/2]port link-type tr    
[L2-SW1-GigabitEthernet0/0/2]port link-type trunk 
[L2-SW1-GigabitEthernet0/0/2]po    
[L2-SW1-GigabitEthernet0/0/2]port tr    
[L2-SW1-GigabitEthernet0/0/2]port trunk a    
[L2-SW1-GigabitEthernet0/0/2]port trunk allow-pass v    
[L2-SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan a    
[L2-SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all 
[L2-SW1-GigabitEthernet0/0/2]q
[L2-SW1]

L3-SW1

[L3-SW1]int g0/0/1
[L3-SW1-GigabitEthernet0/0/1]po    
[L3-SW1-GigabitEthernet0/0/1]port li    
[L3-SW1-GigabitEthernet0/0/1]port link-t    
[L3-SW1-GigabitEthernet0/0/1]port link-type tr    
[L3-SW1-GigabitEthernet0/0/1]port link-type trunk 
[L3-SW1-GigabitEthernet0/0/1]po    
[L3-SW1-GigabitEthernet0/0/1]port tr    
[L3-SW1-GigabitEthernet0/0/1]port trunk a    
[L3-SW1-GigabitEthernet0/0/1]port trunk allow-pass v    
[L3-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan a    
[L3-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all 
[L3-SW1-GigabitEthernet0/0/1]q
[L3-SW1]vlan ba    
[L3-SW1]vlan batch 10 20  100
Info: This operation may take a few seconds. Please wait for a moment...done.
[L3-SW1]int vlan  10
[L3-SW1-Vlanif10]ip add    
[L3-SW1-Vlanif10]ip address 192.168.10.10 24
[L3-SW1-Vlanif10]vrr    
[L3-SW1-Vlanif10]vrrp vri    
[L3-SW1-Vlanif10]vrrp vrid 1virt    
[L3-SW1-Vlanif10]vrrp vrid virt    
[L3-SW1-Vlanif10]vrrp vrid virtua    
[L3-SW1-Vlanif10]vrrp vrid virtual-i    
[L3-SW1-Vlanif10]vrrp vrid virtual-ip 192.168.10.1
                           ^
Error: Wrong parameter found at '^' position.
[L3-SW1-Vlanif10]vrr    
[L3-SW1-Vlanif10]vrrp vr    
[L3-SW1-Vlanif10]vrrp vrid 1 vi    
[L3-SW1-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1
[L3-SW1-Vlanif10]vrr    
[L3-SW1-Vlanif10]vrrp vr    
[L3-SW1-Vlanif10]vrrp vrid 1 prio    
[L3-SW1-Vlanif10]vrrp vrid 1 priority 105
[L3-SW1-Vlanif10]vrr    
[L3-SW1-Vlanif10]vrrp vr    
[L3-SW1-Vlanif10]vrrp vrid 1tra    
[L3-SW1-Vlanif10]vrrp vrid 1 tr    
[L3-SW1-Vlanif10]vrrp vrid 1 track in    
[L3-SW1-Vlanif10]vrrp vrid 1 track interface g0/0/2
[L3-SW1-Vlanif10]int vlan 20
[L3-SW1-Vlanif20]ip ad    
[L3-SW1-Vlanif20]ip address 192.168.20.10 24
[L3-SW1-Vlanif20]vrr    
[L3-SW1-Vlanif20]vrrp v    
[L3-SW1-Vlanif20]vrrp vrid 2 vi    
[L3-SW1-Vlanif20]vrrp vrid 2 virtual-ip 192.168.20.1
[L3-SW1-Vlanif20]v    
[L3-SW1-Vlanif20]vrrp v    
[L3-SW1-Vlanif20]vrrp vrid 2 tr    
[L3-SW1-Vlanif20]vrrp vrid 2 track in    
[L3-SW1-Vlanif20]vrrp vrid 2 track interface g0/0/2
[L3-SW1-Vlanif20]q
[L3-SW1]int g0/0/2
[L3-SW1-GigabitEthernet0/0/2]po    
[L3-SW1-GigabitEthernet0/0/2]port li    
[L3-SW1-GigabitEthernet0/0/2]port link-t    
[L3-SW1-GigabitEthernet0/0/2]port link-type ac    
[L3-SW1-GigabitEthernet0/0/2]port link-type access 
[L3-SW1-GigabitEthernet0/0/2]po    
[L3-SW1-GigabitEthernet0/0/2]port de    
[L3-SW1-GigabitEthernet0/0/2]port default v    
[L3-SW1-GigabitEthernet0/0/2]port default vlan 100
[L3-SW1-GigabitEthernet0/0/2]q
[L3-SW1]int vlan 100
[L3-SW1-Vlanif100]ip add    
[L3-SW1-Vlanif100]ip address 10.10.10.1 24
[L3-SW1-Vlanif100]q
[L3-SW1]ip rou    
[L3-SW1]ip route-st    
[L3-SW1]ip route-static 1.1.1.1 32  10.10.10.11
 

L3-SW2

[L3-SW2]int g0/0/1
[L3-SW2-GigabitEthernet0/0/1]po    
[L3-SW2-GigabitEthernet0/0/1]port lin    
[L3-SW2-GigabitEthernet0/0/1]port link-t    
[L3-SW2-GigabitEthernet0/0/1]port link-type tr    
[L3-SW2-GigabitEthernet0/0/1]port link-type trunk 
[L3-SW2-GigabitEthernet0/0/1]po    
[L3-SW2-GigabitEthernet0/0/1]port tr    
[L3-SW2-GigabitEthernet0/0/1]port trunk a    
[L3-SW2-GigabitEthernet0/0/1]port trunk allow-pass v    
[L3-SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan a    
[L3-SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all 
[L3-SW2-GigabitEthernet0/0/1]q
[L3-SW2]vla    
[L3-SW2]vlan ba    
[L3-SW2]vlan batch 10 20  200
Info: This operation may take a few seconds. Please wait for a moment...done.
[L3-SW2]int vlan  10
[L3-SW2-Vlanif10]ip add    
[L3-SW2-Vlanif10]ip address 192.168.10.11 24
[L3-SW2-Vlanif10]v    
[L3-SW2-Vlanif10]vrrp v    
[L3-SW2-Vlanif10]vrrp vrid 1 v    
[L3-SW2-Vlanif10]vrrp vrid 1 virtual-ip 192.168.10.1
[L3-SW2-Vlanif10]v    
[L3-SW2-Vlanif10]vrrp v    
[L3-SW2-Vlanif10]vrrp vrid 1 tr    
[L3-SW2-Vlanif10]vrrp vrid 1 track in    
[L3-SW2-Vlanif10]vrrp vrid 1 track interface g0/0/2
[L3-SW2-Vlanif10]int vlan 20
[L3-SW2-Vlanif20]ip add    
[L3-SW2-Vlanif20]ip address 192.168.20.11  24
[L3-SW2-Vlanif20]v    
[L3-SW2-Vlanif20]vrrp v    
[L3-SW2-Vlanif20]vrrp vrid 2 v    
[L3-SW2-Vlanif20]vrrp vrid 2 virtual-ip 192.168.20.1
[L3-SW2-Vlanif20]v    
[L3-SW2-Vlanif20]vrrp v    
[L3-SW2-Vlanif20]vrrp vrid 2 pr    
[L3-SW2-Vlanif20]vrrp vrid 2 priority 105
[L3-SW2-Vlanif20]v    
[L3-SW2-Vlanif20]vrrp v    
[L3-SW2-Vlanif20]vrrp vrid 2 t    
[L3-SW2-Vlanif20]vrrp vrid 2 tr    
[L3-SW2-Vlanif20]vrrp vrid 2 track in    
[L3-SW2-Vlanif20]vrrp vrid 2 track interface g0/0/2
[L3-SW2-Vlanif20]q
[L3-SW2]int g0/0/2
[L3-SW2-GigabitEthernet0/0/2]po    
[L3-SW2-GigabitEthernet0/0/2]port li    
[L3-SW2-GigabitEthernet0/0/2]port link-t    
[L3-SW2-GigabitEthernet0/0/2]port link-type ac    
[L3-SW2-GigabitEthernet0/0/2]port link-type access 
[L3-SW2-GigabitEthernet0/0/2]po    
[L3-SW2-GigabitEthernet0/0/2]port de    
[L3-SW2-GigabitEthernet0/0/2]port default v    
[L3-SW2-GigabitEthernet0/0/2]port default vlan 200
[L3-SW2-GigabitEthernet0/0/2]q
[L3-SW2]int vlan  200
[L3-SW2-Vlanif200]ip add    
[L3-SW2-Vlanif200]ip address 20.20.20.2 24
[L3-SW2-Vlanif200]q
[L3-SW2]ip rou    
[L3-SW2]ip route-s    
[L3-SW2]ip route-static 1.1.1.1 32 20.20.20.11
[L3-SW2]

R1

[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]undo shu    
[R1-GigabitEthernet0/0/1]undo shutdown 
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[R1-GigabitEthernet0/0/1]ip add    
[R1-GigabitEthernet0/0/1]ip address 10.10.10.11 24
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]undo shu    
[R1-GigabitEthernet0/0/2]undo shutdown 
Info: Interface GigabitEthernet0/0/2 is not shutdown.
[R1-GigabitEthernet0/0/2]ip add    
[R1-GigabitEthernet0/0/2]ip address 20.20.20.11 24
[R1-GigabitEthernet0/0/2]q  
[R1]int LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1  32
[R1-LoopBack0]q  
[R1]ip route-static 192.168.10.0  24  10.10.10.1
[R1]ip route-static 192.168.10.0 24  20.20.20.2  preference 65 
[R1]ip route-static 192.168.20.0 24  20.20.20.2  
[R1]ip route-static 192.168.20.0 24 10.10.10.1  preference 65

PC1

 PC2

 检测是否配置成功:

 

 从检测结果来看是按照正确路由去传输的

### VRRP协议的工作机制和实现原理 #### 1. VRRP简介 VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)提供了一种局域网设备的备份机制。通过该协议,可以在网络中设置一台或多台备用路由器,以便在网络中的主路由器发生故障时快速接管其功能,从而保证通信的连续性和可靠性[^2]。 #### 2. 工作机制 VRRP的核心工作机制基于虚拟路由器的概念。一组物理路由器组成一个VRRP备份组,并对外表现为一个虚拟路由器。这个虚拟路由器拥有一个虚拟IP地址和一个虚拟MAC地址。在正常情况下,只有一台路由器担任Master角色,负责处理所有发往虚拟IP地址的数据包,其余路由器则作为Backup角色待命。如果Master路由器失效,则Backup路由器会根据优先级选举新的Master继续工作[^3]。 #### 3. 实现原理 以下是VRRP的具体实现细节: - **虚拟路由器概念** 在VRRP中,多台实际存在的物理路由器共同构成一个逻辑上的虚拟路由器。此虚拟路由器具有唯一的虚拟IP地址和虚拟MAC地址。客户端仅需知道虚拟路由器的存在即可完成数据传输,而不必关心具体哪台物理路由器正在承担服务职责[^1]。 - **角色分配** 每个VRRP备份组内的成员分为两种角色:Master和Backup。其中,Master路由器负责响应ARP请求并转发流量;而Backup路由器处于监听状态,随时准备接替Master的角色。每台路由器都有一个优先级值(范围0~255,默认为100),用于决定谁成为Master。优先级最高的路由器将成为Master[^2]。 - **心跳检测机制** Master路由器定期向同一备份组内的其他成员发送Advertisement消息(通常称为“心跳报文”)。这些报文中包含了当前Master的状态信息以及优先级参数。一旦Backup路由器收不到来自现有Master的心跳信号超过一定时间阈值(即超时事件触发),就会启动重新选举流程以选出新任Master[^1]。 - **主备切换过程** 当前Master因故无法继续运行时(例如硬件故障或者接口down等情况),剩余的Backup路由器依据各自设定好的优先级别依次竞争晋升为主控者。整个过程中涉及到了抢占模式下的动态调整行为——更高优先权的一方能够强行取代较低权限对手的地位,进而恢复正常的业务操作流。 - **负载均衡支持** 此外,在某些场景下还可以利用扩展特性启用负载分担方式运作。此时不再单纯依赖单一实例来执行全部任务量,而是允许同时存在多个活动节点共享总负荷压力。这种方式不仅提高了系统的整体性能表现水平,同时也充分利用了现有的软硬件资源配置情况。 ```python # 示例Python伪代码展示如何模拟简单的VRRP主备切换逻辑 class VRRouter: def __init__(self, priority): self.priority = priority self.is_master = False def send_advertisement(self): if self.is_master: print(f"Sending advertisement from master with priority {self.priority}") def check_timeout_and_elect(self, timeout_occurred): if timeout_occurred and not self.is_master: # Simulate election based on priority print(f"Election triggered; this router has priority {self.priority}") router_a = VRRouter(150) router_b = VRRouter(100) router_a.is_master = True router_a.send_advertisement() timeout_event = True # Assume a timeout event occurred router_b.check_timeout_and_elect(timeout_event) ``` #### 4. 总结 综上所述,VRRP通过构建虚拟路由器的方式实现了网络环境下的高可用性解决方案。它的主要特点包括但不限于简单易部署、无需更改原有拓扑结构便可增强容错能力等方面优势明显。与此同时,借助灵活可调的优先级策略配合高效可靠的心跳监测手段保障了系统平稳过渡期间的服务质量不受影响[^1]^。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值