VRRP路由协议介绍及配置
2013-04-02王轶群
王轶群
(赤峰学院网路与信息管理处,内蒙古赤峰024000)
VRRP路由协议介绍及配置
王轶群
(赤峰学院网路与信息管理处,内蒙古赤峰024000)
作为信息化应用的载体——计算机网络的可靠性受到越来越多的重视.VRRP(虚拟路由器冗余协议)是一种选择协议,它的优势在于不需要在终端进行动态路由和路由发现协议的配置,即可获得一个高可靠性的缺省路由通道.通过以S9300系列交换机为载体,分析和研究VRRP虚拟路由器冗余性协议的原理和配置,实现园区网络的路由冗余.
VRRP;IPAddressOwner;VRRP跟踪;虚拟路由器;动态路由协议;路由发现协议;协议交互;VirtualRouterMaster;
1 VRRP介绍
VRRP(VirtualRouterRedundancyProtocol)是虚拟路由器冗余协议的简称,是一个重要的三层可靠性协议,用于缺省网关的冗余备份,它可以把一个虚拟路由器的责任动态分配到局域网上的VRRP路由器中的一台.控制虚拟路由器IP地址的VRRP路由器称为主路由器,它负责转发数据包到这些虚拟IP地址.一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的IP地址可以作为终端主机的默认第一跳路由器.使用VRRP的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议.
2 VRRP概述
举一个典型的内部网组网方案的例子.交换机的一个接口与外部网络相连,一个接口与内部网络相连,与内部网相连的接口的IP地址是10.5.10.1,主机1,2,3都配置了IP地址,都在网段10.5.10.0/24内.主机1,2,3上都配置了一个默认网关,下一跳指向交换机,下一跳的IP地址是10.5.10.1.这样,主机发送一个目的IP地址不在本网段内的报文会匹配缺省路由而发送到交换机,交换机再把报文转发出去,交换机也把外部网络发来的报文转发给相应的主机,这样主机就实现了与外部网络的通信.
在上面这种组网方案中,主机与外部网络之间的通信只能通过这个唯一的交换机,当交换机出现故障时,所有的主机都与外部中断.为了解决这个问题,有一种解决方案就是把一台交换机扩展为两台或多台交换机,在主机和交换机之间都运行动态路由协议OSPF或RIP.
当主机运行了动态路由协议后,主机上能够学习到外部网络所有的路由,主机在与外部网络的通信时,根据报文的目的IP地址查找路由得到下一跳来决定报文是发送给switch1还是switch2.当其中的一台交换机出现故障时,主机中的路由在很短的时间内能够重新学习,路由的下一跳会指向没有故障的路由器,这样,主机与外部网络的通信不会中断.
但是,在主机上实现动态路由协议是不现实的.对于主机来说,运行动态路由协议负载太大,对于网络来说,主机上运行动态路由协议会造成网络上过多的不必要的数据流量,况且有些主机根本就不支持动态路由协议.
为了根本解决这个单点故障的问题,VRRP协议是最好的选择.VRRP协议是专门针对这个问题而提出来的.使用VRRP协议,主机只需要设置默认网关,而不需要在主机上运行别的协议,主机的负载小,而网络上只需要增加很少的VRRP协议流.
3 VRRP术语
下面介绍几个经常要用到的术语:
3.1 VirtualRouter
虚拟路由器,一个抽象对象,基于子网接口,包括一个虚拟路由器标识符(VRID)和一个或多个IP地址,这个(些)IP地址又称为虚拟IP地址,虚拟IP地址作为主机的默认网关.
3.2 VRRPRouter
VRRP路由器,即运行VRRP协议的路由器,一个VRRP路由器可以加入到一个或多个虚拟路由器中.
3.3 IPAddressOwner
IP地址拥有者,虚拟路由器的虚拟IP地址与接口的真实IP地址相同的VRRP路由器.
3.4 VirtualRouterMaster
虚拟主路由器,负责转发通过虚拟路由器的三层数据包,对虚拟路由器的IP地址的ARP请求进行回应.如果某个VRRP路由器是IP地址拥有者,则它总是虚拟主路由器.
3.5 VirtualRouterBackup
虚拟备份路由器,不转发三层数据包,不应答虚拟IP地址的ARP请求,当虚拟主路由器出现故障时接替虚拟主路由器的工作.
4 虚拟主路由器的选举
在一个虚拟路由器中虚拟主路由器的选择由以下因素来决定:
4.1 VRRP优先级
一个虚拟路由器中的每一个VRRP路由器都需要配置一个优先级priority.优先级的范围从0到255,其中0和255有特殊的用途,可配置的优先级范围从1到254,缺省为100.
优先级的值越大,优先级越高,越有可能成为虚拟主路由器[1].
在一个虚拟路由器中当某个VRRP路由器是IP地址拥有者时,它的优先级是255.
当虚拟主路由器需要通告给其它备份路由器它不再是主时,发送优先级为0的VRRP包给其它备份路由器,这样可以快速触发其它备份路由器成为虚拟主路由器.
4.2 VRRP包交互
VRRP协议只有一种类型的包,ADVERTISEMENT通告包.在一个虚拟路由器中,虚拟主路由器每隔AdvertisementInterval时间(缺省为1秒)发送一个通告包.虚拟备份路由器根据收到的VRRP通告包来决定是否需要状态迁移.
5 VRRP跟踪
VRRP协议本身只能检测虚拟路由器内部的故障,如虚拟路由器所在的接口LINKDOWN或VRRP路由器死机等,而检测不到虚拟路由器外部的故障.当虚拟路由器外部出现故障时,虚拟路由器不能根据这些故障进行虚拟主路由器的选择,这样会造成网络数据的中断[2].VRRP跟踪可以解决此问题,VRRP路由器对指定的外部事件进行跟踪,当出现外部故障时VRRP路由器改变自己的运行优先级,重新选择虚拟主路由器,保证网络数据不中断.
当虚拟主路由器Switch1的外部接口LINK DOWN时,如果没有启用VRRP跟踪功能,Switch1不能检测到此外部故障,Swith1继续是虚拟主路由器,主机不能访问外部网络.如果启用了VRRP跟踪功能,Switch1能够发现外部故障,并且修改自己的运行优先级,重新进行虚拟主路由器的选择,Switch1改变为虚拟备份路由器,Switch2改变为虚拟主路由器,这样主机可以继续访问外部网络.
6 VRRP配置
6.1 创建和删除虚拟路由器
虚拟路由器是建立在子网接口上的,并且需要指定一个VRID.在同一个接口下,不能有两个相同VRID的虚拟路由器存在,而不同的接口下可以存在两个相同的VRID的虚拟路由器.理论上一个接口下最多可以创建255个虚拟路由器,而目前交换机只实现了一个接口下最多创建4个虚拟路由器[3].系统缺省情况下没有创建虚拟路由器.
当一个虚拟路由器不再需要使用时,可以删除此虚拟路由器,如果虚拟路由器已经启动了,则会先关闭虚拟路由器,再把虚拟路由器删除.
在创建虚拟路由器之前,必须先保证接口已经存在并且在接口上已经配置了IP地址.
在删除VLAN接口、删除VLAN接口上的IP地址或修改VLAN接口的IP地址时,该接口上的所有虚拟路由器都会被删除.
6.2 配置虚拟路由器的虚拟IP地址
虚拟路由器上必须配置虚拟IP地址,理论上一个虚拟路由器可以存在一个或多个虚拟IP地址,但交换机在实现时一个虚拟路由器只支持一个虚拟IP地址.在配置时,一个虚拟路由器中的多个VRRP路由器必须配置相同的虚拟IP地址.缺省情况下交换机没有配置虚拟IP地址.
配置虚拟路由器的虚拟IP地址必须在虚拟路由器已经关闭的情况下才能成功,当虚拟路由器启动时不能配置成功.
设置的虚拟IP地址必须与接口的主IP地址在同一个网段,否则配置不成功.
主机PING不通虚拟IP地址,当对交换机进行网管时,使用交换机的真实的IP地址,不要用虚拟IP地址.
6.3 配置虚拟路由器的参数
虚拟路由器的参数包括优先级,抢占模式,通告时间间隔,认证方法和认证数据.
在配置时,对于虚拟路由器的多个VRRP路由器,通告时间间隔,认证方法和认证数据必须配置一样,而优先级和抢占模式参数可以配置一样,也可以配置不一样.
对于优先级,分为配置优先级和运行优先级,大部分情况下,运行优先级使用的是配置优先级,但当VRRP路由器是IP地址拥有者时,运行优先级为255,不使用配置优先级.对于认证方法,交换机目前只实现了不做认证和简单口令认证两种方式,而对于IP认证头方式没有实现.
6.4 配置VRRP跟踪
目前交换机只实现了VRRP接口跟踪功能. VRRP路由器可以同时跟踪一个或多个接口,接口可以是三层VLAN接口,也可以是二层接口.交换机缺省没有配置被跟踪的接口.
如果VRRP路由器是IP地址拥有者时[4],管理员可以配置VRRP跟踪,但实际上VRRP跟踪不会生效,也就是说即使虚拟路由器出现了外部故障,也不会重新选择虚拟主路由器.
如果要使用VRRP跟踪功能,就不要把虚拟路由器配置成IP地址拥有者.
当管理员配置了VRRP跟踪,指定了要跟踪的一个或多个接口并且启动了虚拟路由器时,VRRP跟踪就开始生效.当VRRP路由器发现被跟踪的一个接口LINKDOWN时,认为出现了外部故障,把虚拟路由器的运行优先级设置为1,通过VRRP协议包的交互,可重新选择虚拟主路由器.当被跟踪的接口都是LINKUP时,故障恢复,虚拟路由器的运行优先级重新设置为配置优先级.
6.5 启动和关闭虚拟路由器
当创建了虚拟路由器并且设置了虚拟IP地址和参数后,虚拟路由器并没有真正运行,还处于Initialize状态.启动虚拟路由器会启动协议的运行,给协议发送一个Startup事件,状态机迁移到Master状态或者Backup状态.关闭虚拟路由器会关闭协议的运行,给协议发送一个Shutdown事件,状态迁回到Initialize状态[5].
在启动虚拟路由器前必须保证已经配置了虚拟IP地址.在虚拟路由器启动的情况下,如果需要修改虚拟IP地址或者参数,必须先关闭虚拟路由器再进行配置,配置完成后再启动虚拟路由器.
7 VRRP配置示例
7.1 配置
在两台交换机上启用VRRP功能,为局域网中的用户提供三层路由冗余功能,消除网络中的路由故障,设置交换机1为主用交换机Master,交换机2为备份交换机Backup.
交换机1上的配置:
Switch#configureterminal
Switch(config)#vlandatabase
Switch(config-vlan)#vlan2
Switch(config-vlan)#exit
Switch(config)#interfacege1/1
Switch(config-ge1/1)#switchportaccessvlan2
Switch(config-ge1/1)#exit
Switch(config)#interfacevlan2
Switch(config-vlan2)#ipaddress192.168.1.1/24
Switch(config-vlan2)#exit
Switch(config)#routervrrpvlan21
Switch(config-vrrp)#vrrpip-address192.168.1.1
Switch(config-vrrp)#enablevrrp
交换机2上的配置:
Switch#configureterminal
Switch(config)#vlandatabase
Switch(config-vlan)#vlan2
Switch(config-vlan)#exit
Switch(config)#interfacege1/1
Switch(config-ge1/1)#switchportaccessvlan2
Switch(config-ge1/1)#exit
Switch(config)#interfacevlan2
Switch(config-vlan2)#ipaddress192.168.1.2/24
Switch(config-vlan2)#exit
Switch(config)#routervrrpvlan21
Switch(config-vrrp)#vrrpip-address192.168.1.1
Switch(config-vrrp)#enablevrrp
7.2 验证
通过以下命令查看VRRP的信息:
showrunning-config
showvrrp
showvrrpvlan2
〔1〕陈显毅.VRRP技术在局域网中的应用[J].中国科技信息,2009(10).
〔2〕傅慧斌.基于VRRP的核心交换机冗余系统的设计与应用[J].办公自动化,2009(16).
〔3〕蒲宝卿.一种提高校园网可靠性的VRRP协议解决方案[J].甘肃高师学报,2011(02).
〔4〕严华.VRRP技术在校园网中的应用[J].福建电脑,2007(12).
〔5〕张卫东.虚拟路由器的设计与实现[J].西南科技大学学报,2003(02).
TP39
A
1673-260X(2013)03-0020-03