【网络技术】VRRP报文交互

VRRP概念

VRRP 的协议状态有三种:初始状态(Initialize)主状态(Master)备份状态(Backup)

Initialize 状态

所有 VRRP 路由器以 Initialize 状态开始,当端口 DOWN(包括人工 shut 或者物理

down)后,回归到 Initialize 状态;

Backup 状态

− 不履行网关的职责;

− 不响应目的 IP 为 Virtual IP 的 ARP 请求;

− 丢弃目的 MAC 为 Virtual MAC 的数据包;

− 丢弃目的 IP 为 Virtual IP 的数据包;

Master 状态

− 履行网关的职责

− 响应目的 IP 为 Virtual IP 的 ARP 请求;

− 转发目的 MAC 为 Virtual MAC 的数据包;

VRRP实例

这个实验拓扑,一般来说VRRP的路由器都要接在交换机上,因为路由器一个端口就是一个广播域,所以需要通过交换机使三台路由器在同一广播域下

R1:

R1(config)#track 1 interface g1/0 line-protocol  ->设置监视的上游端口

R1(config)#int g0/0

R1(config-if)#ip add 172.16.1.1 255.255.255.0

R1(config-if)#no sh

R1(config-if)#vrrp 1 ip 172.16.1.254  ->设置虚拟的IP

R1(config-if)#vrrp 1 priority 120  ->设置优先级,默认为100

R1(config-if)#vrrp 1 track 1 decrement 30  ->当接口关闭时减少优先值

R1(config-if)#vrrp 1 preempt delay minimum 5  ->设置抢占延时为5s


R1(config)#int g1/0

R1(config-if)#ip add 10.1.123.1 255.255.255.0

R1(config-if)#no sh

R1(config-if)#vrrp 2 ip 10.1.123.254

R1(config-if)#vrrp 2 track 2 decrement 30

R1(config-if)#vrrp 2 preempt delay minimum 5

R2:

R2(config)#int g0/0

R2(config-if)#ip add 172.16.1.2 255.255.255.0

R2(config-if)#no sh

R2(config-if)#vrrp 1 ip 172.16.1.254

R2(config-if)#vrrp 1 track 1 decrement 30

R2(config-if)#vrrp  1 preempt delay minimum 5


R2(config)#track 2 interface g1/0 line-protocol

R2(config-if)#int g1/0

R2(config-if)#ip add 10.1.123.2 255.255.255.0

R2(config-if)#no sh

R2(config-if)#vrrp 2 ip 10.1.123.254

R2(config-if)#vrrp 2 priority 120

R2(config-if)#vrrp 2 track 2 decrement 30

R2(config-if)#vrrp 2 preempt delay minimum 5

R3:

R3(config)#int g0/0

R3(config-if)#ip add 10.1.123.3 255.255.255.0

R3(config-if)#no sh

R3(config)#int loopback 0  ->配置环回口测试

R3(config-if)#ip add 3.3.3.3 255.255.255.255

R3(config)#ip route 172.16.1.0 255.255.255.0 10.1.123.254  ->回程路由

下面是一些可选命令:

vrrp 1 preempt    #支持抢占性,默认值

vrrp 1 timers advertise1  # 配置advertisement时间为1秒,默认值

vrrp 1 authentication md5 key-string Cisco  #配置md5认证密码为Cisco

设置成功就可以从R1上看到日志了

*Dec 12 11:30:32.631: %VRRP-6-STATECHANGE: Gi0/0 Grp 1 state Init -> Backup

*Dec 12 11:30:36.243: %VRRP-6-STATECHANGE: Gi0/0 Grp 1 state Backup -> Master

*Dec 12 11:50:39.395: %VRRP-6-STATECHANGE: Gi1/0 Grp 2 state Master -> Backup

VRRP报文交互

配置了VRRP后,VRRP会广播一个免费ARP包,用来检测是否IP地址存在冲突

一个虚拟路由器拥有一个虚拟 MAC 地址,根据 RFC2338 的规定,虚拟 MAC 地址 的格式为: 00-00-5E-00-01-{VRID}。当虚拟路由器回应 ARP 请求时,回应的是虚 拟 MAC 地址,而不是接口的真实 MAC 地址。

master会周期性的发送advertisement报文,其实也就是一秒发送一次,如果backup每隔3秒没收到master发来的advertisement报文,则认为master down,就会进行新一轮的选举。从中还可以看出使用组播地址是224.0.0.18

这个时候去pingR3的环回接口可以看到先是经过了R1然后到R3,如果R1的G0/0接口Down掉之后会怎么样呢?

R1(config)#int g0/0

R1(config-if)#shutdown

*Dec 12 12:36:36.691: %VRRP-6-STATECHANGE: Gi0/0 Grp 1 state Master -> Init

但R2在3秒之内没有收到R1的VRRP的交互数据包,R2由Backup切换到了Master,从报文和R2的日志可以看出来

R2日志:

*Dec 12 12:28:17.375: %VRRP-6-STATECHANGE: Gi0/0 Grp 1 state Backup -> Master

我们设置监视上游接口,当上游接口Down了之后我们可以看一下会发生什么?

R1(config)#int g1/0

R1(config-if)#shutdown

从日志可以看出来由于接口Down了,VRRP2状态变成了Init,检测到上游的G1/0接口Down了之后,VRRP1的状态也由Master变成了Backup

*Dec 12 12:51:10.723: %VRRP-6-STATECHANGE: Gi1/0 Grp 2 state Backup -> Init

*Dec 12 12:51:10.727: %TRACKING-5-STATE: 1 interface Gi1/0 line-protocol Up->Down

*Dec 12 12:51:16.183: %VRRP-6-STATECHANGE: Gi0/0 Grp 1 state Master -> Backup

这是因为当我们设置了当G1/0接口Down之后,VRRP的优先值减了30,导致了R2的优先值大于R1

这个时候从PC1上追踪路由路径可以看到VRRP自动从R1切换到了R2

VRRP排错思路

未完待续,喜欢的话不妨关注收藏一下!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值