理论讲解:
VRRP全称(Virtual Router Redundancy Protocol)虚拟路由器冗余协议。
简单来说,VRRP是一种容错协议,它保证当主机的下一跳设备出现故障时,
可以及时的由另一台设备来替换,从而保持通讯的连续性和可靠性。默认情况是指针对IPV4的VRRP,在IPV6中使用VRRP3.
VRRP实现了对设备IP地址的冗余功能,防止了单点故障造成的网络失效,VRRP本身是热备形式,但是可以通过互相热备实现路由器的均衡处理。
虚拟路由器的IP Address:
虚拟路由器使用IP地址,可以用其接口上的真实地址作为虚拟路由器的IP地址,也可以单独配置一个IP地址。
虚拟路由器的MAC地址:
00-00-5e-00-01-XX, 00 00 5e由IANA分配。00 01为分配给VRRP协议的地址块,
XX为VRRP的虚拟路由器标识,该映射在一个网络中提供最多255个VRRP路由器组。
VRRP报文结构:
VRRP协议只有一种报文,即主路由器定时向其他成员发送的组播报文,VRRP协议报文封装在IP报文中,通过组播方式进行发送。
VRRP报文的二层封装:
VRRP报文的源MAC:00-00-5e-00-01-XX
VRRP报文的目的MAC:01-00-5e-00-00-12
VRRP报文的三层封装:
源地址:报文被发出的接口的主IP地址
目的地址:IANA给VRRP分配的IP组播地址为224.0.0.18。这是一个本地范围的组播地址,不论TTL的值是多少,路由器都被禁止转发以此地址为目标地址的报文。
TTL: TTL必须为255,当VRRP路由器收到TTL 不等于255的VRRP协议报文后,必须丢弃。
原因:
VRRP组播报文是用来在备份组中路由器之间维护Master/Backup关系的,只在本网段进行传播,不能被路由器转发。根据这些条件,VRRP组播报文的TTL设成1就可以了。但是,RFC2338规定VRRP组播报文的TTL必须是255,TTL不等于255的报文将被丢弃。这种设计主要是从安全方面考虑的。VRRP可以通过明文或MD5认证采保证安全,但是无论哪种认证方式都会消耗一些资源。在本网段的安全可以得到保证的情况下,攻击主要来自其它的网段,将TTL设定为255而不必使用认证就可以轻松应对这样的攻击。因为来自其它网段的报文要经过路由器转发,TTL必然小于255。
VRRP只能在三层接口下做(三层口 VLAN接口 三层聚合口(加入聚合口的不能加入VRRP))
VRRP分为标准模式和负载均衡模式
VRRP 优先级的取值范围为 0 到 255(数值越大表明优先级越高),可配置的范围是 1 到 254,优先级 0 为系统保留给特殊用途来使用,255 则是系统保留给 IP 地址拥有者
协议号:
IANA分配给VRRP的IP协议号为112(十进制),一般抓包时显示0X70(十六进制)
实验部分:
(1)Device A:
sysname master
#
vlan batch 2
#
interface Vlanif1
#
interface Vlanif2
ip address 10.1.1.1 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.111 //终端的网关
vrrp vrid 1 priority 110 //优先级高的为master
vrrp vrid 1 preempt-mode timer delay 5
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 2
(2)Device B
vlan batch 2
interface Vlanif2
ip address 10.1.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 10.1.1.111
vrrp vrid 1 preempt-mode timer delay 5
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 2
至此,H3C VRRP配置完毕,欢迎各位留言。
——————————————-
——————————————-
最后针对前两次分享的H3C IRF配置案例中的一点小问题做以分析说明;
当配置完IRF后,通过dis irf命令我们可以看到IRF处于正常状态,但是用命令dis mad verbose查看MAD BFD状态的时候却显示Faulty
[master]dis mad verbose
Multi-active recovery state: No
Excluded ports (user-configured):
Excluded ports (system-configured):
Ten-GigabitEthernet1/0/49
Ten-GigabitEthernet2/0/49
MAD ARP disabled.
MAD ND disabled.
MAD LACP disabled.
MAD BFD enabled interface: Vlan-interface999
MAD status : Faulty
Member ID MAD IP address Neighbor MAD status
1 11.11.11.1/30 2 Faulty
2 11.11.11.2/30 1 Faulty
首先看下对MAD Status的解释:
MAD status |
显示MAD工作状态: · Normal:MAD工作状态正常 · Faulty:MAD工作状态不正常,需要检查对应接口连通状态以及相关配置是否正确 |
后来做了很多验证,均没有在HCL模拟器看到Normal的状态,改天用真机再次验证。