欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

协议学习-VRRP协议

程序员文章站 2024-02-23 22:52:28
...

本文就VRRP协议进行了简单介绍,并使用eNSP虚拟实验环境进行了VRRP路由故障转移测试和负载均衡的实验

背景知识

VRRP,Virtual Router Redundancy Protocol,是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准

基本概念
  • VRRP Router:VRRP路由器是指运行VRRP协议的路由器。
  • Virtual Router:虚拟路由器的逻辑概念,一个VRRP虚拟路由器包含一个Master路由器和一系列的Backup路由器。
  • Virtual MAC:虚拟MAC地址,定义为00-00-5E-00-01-{VRID}
  • Virtual IP:虚拟IP地址,该地址要求未被任何主机绑定。
  • VRID:虚拟路由器ID,VRRP路由器通过VRID区分所属的虚拟路由器组。
  • ADVERTISEMENT报文:Master路由器通过定时组播该报文通告自己的状态,Backup通过周期性接收该报文判断Master的状态。
工作过程:
参数

Advertisement_Interval:组播ADVERTISEMENT报文的周期,单位秒,默认值为1秒。
Skew_Time:滞后时间,该值是为了应对网络拥塞导致报文滞后的情况,值为(256 - Priority) / 256
Master_Down_Interval:表示如果Backup路由器在这段时间内没有接收到ADVERTISEMENT报文,则认为Master出现故障,值为:(3 * Advertisement_Interval) + Skew_time

VRRP路由器启动

当路由器的Priority=255时:

1、组播ADVERTISEMENT报文;
2、广播免费ARP报文(源IP地址:虚拟IP地址;源Mac地址:虚拟Mac地址;目的Ip地址:虚拟Ip地址);
3、启动ADVERTISEMENT定时任务;
4、切换路由器的状态为Master;

Master路由器
  • 接收到ADVERTISEMENT报文

1、ADVERTISEMENT报文中Priority=0时:a)立即发送ADVERTISEMENT报文;b)重置ADVERTISEMENT定时任务,周期为Advertisement_Interval;
2、如果ADVERTISEMENT报文中的Priority大于本机的Priority:a)取消ADVERTISEMENT定时任务;b) 设置Master ADVERTISEMENT超时定时器,周期为Master_Down_Interval;c)切换状态为Backup;
3、如果ADVERTISEMENT报文中的Priority和本机的Priority相等,但是报文中的Ip地址大于本机Ip地址:行为与情形2一致;
4、其他情况,丢弃报文;

Backup路由器
  • 如果Master ADVERTISEMENT超时定时器超时
    1、组播ADVERTISEMENT报文;
    2、广播免费ARP报文;
    3、取消Master ADVERTISEMENT超时定时器,启动ADVERTISEMENT定时任务,周期为Advertisement_Interval;
    4、切换路由器的状态为Master;

  • 如果收到来自Master的ADVERTISEMENT报文
    1、如果ADVERTISEMENT报文中Priority=0时:设置Master ADVERTISEMENT超时定时器,周期为Skew_Time(滞后时间);
    2、如果当前模式不是抢占模式,重置Master ADVERTISEMENT超时定时器,周期为Master_Down_Interval;
    3、如果当前模式是抢占模式,而且ADVERTISEMENT超时定时器报文中为Priority大于或者等于本机Priority,行为与情形2一致;
    4、其他情况,丢弃报文

总结
  • 当Master路由器出现故障时,接收ADVERTISEMENT超时的Backup路由器会切换状态为Master,这时候可能会同时有多个路由器同时切换至Master,通过ADVERTISEMENT报文交换会最终迭代至最大Priority、最大IP地址的路由器。

  • 当一台路由器升级至Master时,会接管虚拟MAC地址和虚拟IP地址,如果包的目的MAC地址和目的P地址如果符合虚拟MAC地址和虚拟IP地址,都可以被Master接收

实验

实验环境

操作系统:Windows10
虚拟实验环境:eNSP 1.2.5100
虚拟路由器:AR3260
虚拟交换机:S3700

Note:eNSP百度网盘链接见于文末

拓扑结构

协议学习-VRRP协议

Note:拓扑文件百度网盘链接见于文末

各PC配置
IP地址 子网掩码 网关地址
PC-1 192.168.1.1 255.255.255.0 192.168.1.250
PC-2 192.168.1.2 255.255.255.0 192.168.1.249
PC-3 2.2.1.1 255.255.255.0 2.2.1.254
实验一:测试VRRP故障转移

AR1配置命令

return
system-view
sysname AR1
interface GigabitEthernet 0/0/1
undo shutdown
ip address 192.168.1.253 24
vrrp vrid 1 virtual-ip 192.168.1.250
vrrp vrid 1 priority 150
return
terminal monitor
terminal debugging
debugging ip icmp
system-view 
info-center console channel monitor 

AR2配置命令

return
system-view
sysname AR2
interface GigabitEthernet 0/0/1
undo shutdown
ip address 192.168.1.254 24
vrrp vrid 1 virtual-ip 192.168.1.250
vrrp vrid 1 priority 50
return
terminal monitor
terminal debugging
debugging ip icmp
system-view 
info-center console channel monitor 

查看接口配置:

return
system-view
display interface GigabitEthernet 0/0/1

AR1接口配置信息
协议学习-VRRP协议
AR2接口配置信息

协议学习-VRRP协议
Note:注意查看Ip是否绑定成功,以及接口状态是否为UP

查看VRRP配置:

return
system-view
interface GigabitEthernet 0/0/1
display vrrp

AR1 VRRP配置信息
协议学习-VRRP协议
AR2 VRRP配置信息
协议学习-VRRP协议
从VRRP的配置信息中可以看出,高优先级的AR1目前处于Master状态,低优先级的AR2处于Backup状态。使用PC1 ping 192.168.1.250
协议学习-VRRP协议
处于Master的AR1可以接收到包,而Backup状态的AR2未有日志输出。如果在实验过程中,ping有REPLY,但是路由器没有debug日志输出,在路由器命令行重新复制执行下面命令:

return
terminal monitor
terminal debugging
debugging ip icmp
system-view 
info-center console channel monitor

故障转移模拟
关闭Master路由器的GigabitEthernet 0/0/1接口,模拟设备故障:

return
system-view
interface GigabitEthernet 0/0/1
shutdown

shutdown后的接口状态:
协议学习-VRRP协议
查看AR2的日志输出
协议学习-VRRP协议
显然,AR2因为Master超时定时器超时而自动切换至Master,查看VRRP配置:

return
system-view
interface GigabitEthernet 0/0/1
display vrrp

协议学习-VRRP协议
使用PC1 ping 192.168.1.250
协议学习-VRRP协议

实验二:配置路由负载均衡

配置AR1

return
system-view
sysname AR1
interface GigabitEthernet 0/0/0    
ip address 1.1.1.2 24 
interface GigabitEthernet 0/0/1
undo shutdown
vrrp vrid 2 virtual-ip 192.168.1.249
vrrp vrid 2 priority 50
return
terminal monitor
terminal debugging
debugging ip icmp
system-view 
info-center console channel monitor 
interface GigabitEthernet 0/0/1
return
system-view   
ip route-static 2.2.1.0 24 1.1.1.1

配置AR2

return
system-view
sysname AR2
interface GigabitEthernet 0/0/0    
ip address 1.1.2.2 24    
interface GigabitEthernet 0/0/1
undo shutdown
vrrp vrid 2 virtual-ip 192.168.1.249
vrrp vrid 2 priority 150
return
terminal monitor
terminal debugging
debugging ip icmp
system-view 
info-center console channel monitor 
interface GigabitEthernet 0/0/1
return
system-view
ip route-static 2.2.1.0 24  1.1.2.1

配置AR3

return
system-view   
sysname AR3
interface GigabitEthernet 0/0/0    
ip address 1.1.2.1 24    
undo shutdown
interface GigabitEthernet 0/0/1   
ip address 1.1.1.1 24    
undo shutdown
interface GigabitEthernet 0/0/2
ip address 2.2.1.254 24    
undo shutdown
return
system-view  
ip route-static 192.168.1.0 24 1.1.2.2
ip route-static 192.168.1.0 24 1.1.1.2

查看VRRP配置信息

return
system-view
interface GigabitEthernet 0/0/1
display vrrp

AR1 VRRP配置信息
协议学习-VRRP协议
AR2 VRRP配置信息
协议学习-VRRP协议
查看路由表

display ip routing-table

AR1的路由表:
协议学习-VRRP协议
AR2的路由表:
协议学习-VRRP协议
AR3的路由表:
协议学习-VRRP协议
测试路由路径

使用PC-3命令行执行下面命令:

Tracert 192.168.1.1
Tracert 192.168.1.2

协议学习-VRRP协议
总结:通过不同主机配置不同网关地址已实现负载均衡

资源下载

eNSP百度网盘下载:

链接:https://pan.baidu.com/s/1jzvPu3yaBUmCY6hs2l-5wg
提取码:990r

网络拓扑文件下载

链接:https://pan.baidu.com/s/1w_oGVPAVaTEJ8T51d6IICQ
提取码:luq6

拓展学习

  • KeepAlived–通过VRRP实现高可用负载均衡

参考文章

https://forum.huawei.com/enterprise/zh/thread-290587-1-1.html
https://blog.51cto.com/13445059/2062255

相关标签: 协议学习