一、VRRP简介
定义
虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
目的
随着网络的快速普及和相关应用的日益深入,各种增值业务(如IPTV、视频会议等)已经开始广泛部署,基础网络的可靠性日益成为用户关注的焦点,能够保证网络传输不中断对于终端用户非常重要。
通常,同一网段内的所有主机上都设置一条相同的、以网关为下一跳的缺省路由。主机发往其他网段的报文将通过缺省路由发往网关,再由网关进行转发,从而实现主机与外部网络的通信。当网关发生故障时,本网段内所有以网关为缺省路由的主机将无法与外部网络通信。增加出口网关是提高系统可靠性的常见方法,此时如何在多个出口之间进行选路就成为需要解决的问题。
VRRP的出现很好的解决了这个问题。VRRP能够在不改变组网的情况下,将多台路由设备组成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现默认网关的备份。
优点
冗余备份
VRRP可以将多台路由设备配置为缺省网关路由器,当出现单点故障的时候通过备份链路进行业务传输,从而降低网络故障的可能性,保证用户的各种业务不中断传输。
负载分担
VRRP可以实现多台设备同时承担业务流量,从而减轻主用设备上数据流量的承载压力,在路由设备之间更均衡地分担流量。
联动功能
VRRP联动可以监视上行链路的故障。当上行接口或链路故障时,VRRP备份组的Master设备降低优先级,重新进行选举,确保Master路由器为最佳的VRRP路由设备,保证流量的正常转发。
VRRP与BFD联动可以提高VRRP备份组中主备设备的切换速度。利用BFD检测速度快的特点,在Master设备和Backup设备之间建立BFD会话并与VRRP备份组进行绑定,实现Master设备和Backup设备之间的链路出现故障时,Backup设备迅速切换为Master,承担网络流量。
二、VRRP术语
VRPP路由器
运行VRRP的路由器,一台VRRP路由器(的接口)可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的的角色
VRRP组
一个VRRP组由多个VRRP路由器组成,使用group ID进行标识,属于同一VRRP组的VRRP路由器互相交换信息,每一个VRRP组中只能有一个Master
虚拟路由器
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关,该路由器并非真实存在,事实上对于用户而言,只需知道虚拟路由器的IP,至于具体的虚拟路由器的角色由谁来承担、数据转发任务由谁来承担、Master挂掉之后谁来接替,这是VRRP的工作
虚拟IP地址、MAC地址:
虚拟IP地址用于表示虚拟路由器,该地址实际上就是用户的网关地址
与虚拟地址对应的MAC也是虚拟的,该MAC地址由固定位加上VRRP组ID构成,当PC发ARP请求虚拟IP地址对应的MAC地址,Master路由器响应这个ARP请求并告知虚拟MAC地址
Master、Backup路由器:
Master路由器:就是在VRRP组实际转发数据包的路由器,在每一个VRRP组中,仅有Master响应对应虚拟IP地址的ARP请求
Master路由器同时以一定的时间间隔发送VRRP消息,以便通知Backup路由器自己的存活
Backup路由器:就是在VRRP组中处于监听状态的路由器,一旦Master路由器出现故障,Backup路由器就开始接替工作
选举依据:先比较接口优先级,如果相等则比较接口IP地址(注:这里是比值大)
三、VRRP状态机
VRRP协议的状态共有三种,分别是Initalize , Master , Backup ,初始状态都是Initialize ,通过比较优先级产生Master和Backup ,在规定时间内, Backup若没有收到Master发来的心跳报文,将切换为Master.
协议对VRRP规定了3种状态:INITIALIZE,MASTER和BACKUP。简单地说,INITIALIZE即初始态,MASTER即主用状态,也就是在VRRP备份组中真正起作用的路由器BACKUP即备用状态,是MASTER的备份
四、华为eNSP仿真实验
1、拓扑图
拓扑图中,PC1及PC2都有两条路径访问Server1,一般情况下,PC1和PC2只能找自己的网关,通过确定的一条路由访问Server1,当路由发生故障时将无法访问。
通过对LSW2和LSW3配置VRRP,可以实现路由冗余备份,当路由发生故障时,可自动切换到备份路由,有效提高通信的可靠性。
2、实验详细配置
2.1、配置PC1和PC2IP地址:
PC1、PC2的网关为VRRP的virtual-ip(虚拟ip)
2.2、配置LSW1:
sys[Huawei]sys LSW1[LSW1]u in e[LSW1]vlan batch 1020[LSW1]q[LSW1]int E0/0/1[LSW1-Ethernet0/0/1]p l a[LSW1-Ethernet0/0/1]p d v 10[LSW1-Ethernet0/0/1]in e0/0/2[LSW1-Ethernet0/0/2]p l a[LSW1-Ethernet0/0/2]p d v 20[LSW1-Ethernet0/0/2]int g0/0/1[LSW1-GigabitEthernet0/0/1]p l t[LSW1-GigabitEthernet0/0/1]p t a v a[LSW1-GigabitEthernet0/0/1]int g0/0/2[LSW1-GigabitEthernet0/0/2]p l t[LSW1-GigabitEthernet0/0/2]p t a v a[LSW1-GigabitEthernet0/0/2]returnsave
2.3、配置LSW2:
sys[Huawei]sys LSW2[LSW2]u in e[LSW2]vlan batch 1020100[LSW2]int vlanif 10[LSW2-Vlanif10]ip address 192.168.10.10255.255.255.0[LSW2-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.1 //vlanif10创建VRRP虚拟路由的标识vrid为10,配置vrid 10的虚拟IP地址[LSW2-Vlanif10]vrrp vrid 10 priority 120 //【默认Master】设置设备SW2优先级为120(默认为100),数值越大越优先(不要和路由优先级搞混了,路由优先级越小越优先)[LSW2-Vlanif10]vrrp vrid 10 preempt-mode timer delay 3 配置Master设备的抢占时延为3(默认为0,立即抢占),以防频繁进行状态切换[LSW2-Vlanif10]vrrp vrid 10 track interface g0/0/2 reduced 30 //跟踪上行接口g0/0/2,若端口故障则优先级降低30,换掉主设备(去掉这一行命令也可以,加上是为了熟悉vrrp原理)[LSW2-Vlanif10]q[LSW2]int vlanif 20[LSW2-Vlanif20]ip address 192.168.20.10255.255.255.0[LSW2-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.1 //vlanif20创建VRRP虚拟路由的标识vrid为20,配置vrid 20的虚拟IP地址[LSW2-Vlanif20]vrrp vrid 20 track interface GigabitEthernet0/0/2 reduced 30 //跟踪上行接口g0/0/2,若端口故障则优先级降低30,换掉主设备[LSW2-Vlanif10]q[LSW2]int Vlanif100[LSW2-Vlanif100]ip address 10.10.10.1255.255.255.252[LSW2-Vlanif100]q[LSW2]int g0/0/1[LSW2-GigabitEthernet0/0/1]p l t[LSW2-GigabitEthernet0/0/1]p t a v a[LSW2-GigabitEthernet0/0/1]int g0/0/2[LSW2-GigabitEthernet0/0/2]p l a[LSW2-GigabitEthernet0/0/2]p d v 100[LSW2-GigabitEthernet0/0/2]q[LSW2]ospf 1 //配置OSPF,连接AR1和LSW2、LSW3[LSW2-ospf-1]area 0 //建立area 0,发布直连网段[LSW2-ospf-1-area-0.0.0.0]network 192.168.10.00.0.0.255[LSW2-ospf-1-area-0.0.0.0]network 192.168.20.00.0.0.255[LSW2-ospf-1-area-0.0.0.0]network 10.10.10.00.0.0.3[LSW2-ospf-1-area-0.0.0.0]returnsave
2.4、配置LSW3:
sys[Huawei]sys LSW3[LSW3]u in e[LSW3]vlan batch 10 20 200[LSW3]int vlanif 10[LSW3-Vlanif10]ip address 192.168.10.11 255.255.255.0[LSW3-Vlanif10]vrrp vrid 10 virtual-ip 192.168.10.1 //vlanif10创建VRRP虚拟路由的标识vrid为10,配置vrid 10的虚拟IP地址[LSW3-Vlanif10]vrrp vrid 10 track interface g0/0/2 reduced 30 //跟踪上行接口g0/0/2,若端口故障则优先级降低30,换掉主设备[LSW3-Vlanif10]q[LSW3]int vlanif 20[LSW3-Vlanif20]ip address 192.168.20.10 255.255.255.0[LSW3-Vlanif20]vrrp vrid 20 virtual-ip 192.168.20.1 //vlanif20创建VRRP虚拟路由的标识vrid为20,配置vrid 20的虚拟IP地址[LSW3-Vlanif20]vrrp vrid 20 priority 120 //【默认Master】设置设备SW2优先级为120(默认为100)[LSW3-Vlanif20]vrrp vrid 20 preempt-mode timer delay 3 配置Master设备的抢占时延为3(默认为0,立即抢占),以防频繁进行状态切换[LSW3-Vlanif20]vrrp vrid 20 track interface GigabitEthernet0/0/2 reduced 30 //跟踪上行接口g0/0/2,若端口故障则优先级降低30,换掉主设备[LSW3-Vlanif10]q[LSW3]int Vlanif200[LSW3-Vlanif200]ip address 10.10.20.1 255.255.255.252[LSW3-Vlanif200]q[LSW3]int g0/0/1[LSW3-GigabitEthernet0/0/1]p l t[LSW3-GigabitEthernet0/0/1]p t a v a[LSW3-GigabitEthernet0/0/1]int g0/0/2[LSW3-GigabitEthernet0/0/2]p l a[LSW3-GigabitEthernet0/0/2]p d v 100[LSW3-GigabitEthernet0/0/2]q[LSW3]ospf 1[LSW3-ospf-1]area 0[LSW3-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255[LSW3-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255[LSW3-ospf-1-area-0.0.0.0]network 10.10.20.0 0.0.0.3[LSW3-ospf-1-area-0.0.0.0]returnsave
2.5、配置AR1:
sys[Huawei]sys AR1[AR1]u in e[AR1]vlan batch 300[AR1]int vlanif 300[AR1-Vlanif300]ip address 1.1.1.1255.255.255.252[AR1-Vlanif300]int g0/0/0[AR1-GigabitEthernet0/0/0]ip address 10.10.10.2255.255.255.252[AR1-GigabitEthernet0/0/0]int g0/0/1[AR1-GigabitEthernet0/0/1]ip address 10.10.20.2255.255.255.252[AR1-GigabitEthernet0/0/1]q[AR1]ospf 1[AR1-ospf-1]area 0[AR1-ospf-1-area-0.0.0.0]network 1.1.1.00.0.0.3[AR1-ospf-1-area-0.0.0.0]network 10.10.10.00.0.0.3[AR1-ospf-1-area-0.0.0.0]network 10.10.20.00.0.0.3[AR1-ospf-1-area-0.0.0.0]returnsave
3、实验验证
验证连通性,PC1命令行ping 1.1.1.2 -t,PC2命令行 ping 1.1.1.2 -t
结果显示PC1和PC2到Server1的连通性均没有问题。
按照设计思路,默认没有故障的情况下,PC1通过红色路由线路访问Server1,PC2通过蓝色路由线路访问Server1,如下图所示
PC1和PC2命令行tracert 1.1.1.2 跟踪路由,结果显示,PC1通过左侧红色线路访问Server1,PC2通过右侧线路访问Server1,与设计一致。
LSW2使用dis vrrp命令查看vrrp信息,
Virtual Router 10状态是Master,优先级120
Virtual Router 20状态是Backup,优先级是默认的100
当任何一条路由出现故障,PC1和PC2将通过同一条路由访问Service1,如下图所示
现在shutdown掉LSW2的GE 0/0/2口模拟故障,再进行一次路由跟踪,结果显示PC1到Server1的路由已经变更到右边线路。如果右边路由故障,同理PC1和PC2都会切换到左边线路。
LSW2使用dis vrrp命令查看vrrp信息,
Virtual Router 10状态变为Backup,优先级降为90
Virtual Router 20状态仍然是Backup,优先级是默认的100
此时,LSW3使用dis vrrp命令查看vrrp信息,
Virtual Router 20状态是Master,优先级是120
Virtual Router 10状态也变为Master,优先级是默认的100
通过实验,首先运用OSPF协议实现了网络路由可达;其次配置设备VRRP验证了VRRP协议工作原理;通过提高虚拟路由Priority优先级,可以选择默认路由;通过跟踪端口状态,可以改变虚拟路由的优先级;通过配置2个VRRP组,实现了路由冗余备份,同时也实现了负载分担。