一、VRRP的作用
提供了局域网上的设备备份机制。VRRP是一种容错协议,它保证当主机的下一跳路由器坏掉时,可以及时由另一台路由器来代替,从而保证通讯的连续性和可靠性。
VRRP工作时会在网络中加入一个含有虚拟IP和虚拟MAC地址的虚拟路由器,该路由器充当网络用户的网关,使得网络E的主机与虚拟路由器通信无需
了解这个网络上物理路由器的任何信息。
Master报文的发送:当Master正常 工作时,它会每隔一段时间( 缺省为1秒)向组内Backup设备发送vrrp通告报文,通告自己工作正常。(注: 只有Master发送VRRP报文)
VRRP通告报文被封装在IP报文里,通过组播地址224.0.0.18发送, TTL为255, 协议号为112
二、VRRP报文
VRRP报文是一种多播报文,由Master路由器发出来通告它的存在,使用VRRP报文可以检测虚拟路由器的各种参数,用于主路由器的选择。VRRP报文号是封装在IP报文中,通过组播的方式传送。也就是说VRRP协议跟ICMP协议一样,工作在第三层(路由层),它是不具有端口的说法的。
(1) Version: VRRP协议版本号, RFC3768定义了版本号2
(2) Type:
指明VRRP报文类型,RFC3768只定义了一种VRRP报文,即VRRP通告报文,所以该字段总为1 (若收到的VPPR通告报文的该字段的类型为非1则会被丢弃)
(3) Virtual Rtr ID:
即上面讲的大VRID.一个VRID唯一标识了 一个虚拟路由器,取值范围为[1,255]。 (所以一台路由器的接口最多可以运行255个VRP组)
(4) Priority:
优先级。虚不受影响。若此字段为0表示这
是Master路由器出现故障发送的VRRP通告报文,当Backup路 由器收到此通告报文后,会等待(Skew time (256- Backup路拟路由器中用该字段来决定Master路由器和Backup路由器,值越大表明优先级越高,取值为[1,255],缺省值为100。假设虚拟路由器的IP
地址跟VRRP组中某台路由器IP地址相同,那么该路由器的发出的VRRP报文的该字段总为255,即使人为指定为其他值也由器的优先级) /256)秒时间
,然后将自己切换为Master路由器。
(5)CountIPAddrs:VRRP通告报文中包含的IP数目,即被一个VRRP虚拟路由器所分配的IP地址的数量。
(6) Auth Type:
认证类型字段,一个虚拟路由器只能使用一种认证类型,若Backup路由器收到的通告报文段中认证类型字段是未知或者和本地配置不匹配,则将该数据包丢弃。
认证类型字段的定义:
0表示无认证
1表示保留,向前一个版本的RFC2338提供兼容性
2表示保留,向前一个版本的RFC2338提供兼容性
(7) Adver Int: Mater路由器向外发送VRRP通告报文的时间间隔,以秒为单位,取值范围是[1,255], 缺省为1
(8) Checksum: 整个VRRP报文的校验和
(9) IP Address: VRRP虚拟路由器的虚拟IP地址(可配置多个)
(10) Authentication Data: 验证字。为了向RFC2338兼容, 在实际的封装时,全置为0,接收方会忽略此字段
三、VRRP实验
如图所示,vlan有两个,网关需求也是两个。所以需要配置两组vrrp。
sw1
sys
u in en
v b 10 20
int e0/0/1
p l a
p d v 10
int e0/0/2
p l a
p d v 20
int g0/0/1
p l t
p t a v a
int g0/0/2
p l t
p t a v a
q
sw2
sys
u in en
v b 10 20 100
int v 10
ip add 192.168.10.10 24
vr vr 1 v 192.168.10.1 --配置虚拟网关
vrrp vr 1 p 120 --设置优先级,数值越大越优先
vrrp vr 1 p t d 5 --配置Master设备的抢占时延为5秒
vrrp vr 1 t int g0/0/2 r 30 --上行接口G0/0/2的状态,如端口故障则Master优先级降低30
int v20
ip add 192.168.20.10 24
vr v 2 v 192.168.20.1
int v100
ip add 11.0.0.2 30
int g0/0/1
p l t
p t a v a
int g0/0/2
p l a
p d v 100
ip route-static 1.1.1.1 32 11.0.0.1
sw3
sys
u in en
v b 10 20 100
int v 10
ip add 192.168.10.20 24
vr v 1 v 192.168.10.1
int v 20
ip add 192.168.20.20 24
vr v 2 v 192.168.20.1
vrrp v 2 p 120
vrrp v 2 p t d 5
vrrp v 2 t int g0/0/2 r 30
int v 100
ip add 12.0.0.2 30
int g0/0/1
p l t
p t a v a
int g0/0/2
p l a
p d v 100
ip route-static 1.1.1.1 32 12.0.0.1
r1
sys
u in en
int g0/0/0
ip add 11.0.0.1 30
int g0/0/1
ip add 12.0.0.1 30
int loop 0
ip add 1.1.1.1 32
ip route-static 192.168.10.0 24 11.0.0.2
ip route-static 192.168.10.0 24 12.0.0.2 preference 70
ip route-static 192.168.20.0 24 11.0.0.2
ip route-static 192.168.20.0 24 12.0.0.2 preference 70
运行结果
sw2
可以看出此时vlan10为主,vlan20为备。也就是说.10的网段优先通过sw2。(tracert命令)
sw3
可以看出此时vlan20为主,vlan10为备。也就是说.20的网段优先通过sw3。
断开sw2上行接口
可以看到,sw3抢占成为主机,此时.10网段走sw3
断开sw3上行接口
可以看到,sw3抢占成为主机,此时.20网段走sw2