您好,欢迎访问三七文档
VRRP综述和需求分析引言本文档是VRRP的综述和需求分析文档,概述VRRP的功能和概念,分析VRRP的报文格式以及VRRP中的状态转换,描述VRRP应用于路由器或交换机中所必须实现的命令,对VRRP要实现的功能和配置做需求分析。VRRP可以应用于Multi-access,Multicast,或Broadcast网络上,本文只描述在以太网上实现VRRP,对于在FDDI、TokenRing等其他形式的网络不作描述,同时只考虑IP网络时的情况,而不考虑IPX、AppleTalk等其他协议。系统概述VRRP和以下模块存在接口关系:IP,CLI和配置系统。IP识别接收到的VRRP报文,然后传给VRRP子系统进行处理;VRRP子系统发送VRRP报文时,传给IP进行处理。基本概念和定义终端可以使用多种方法决定它们到特定IP地址的第一跳。目前常用的方法有两种:一种是动态学习,如代理ARP、路由协议(RIP和OSPF)以及IRDP(ICMPRouterDiscoveryProtocol)、DHCP;另一种是静态配置。在每一个终端都运行动态路由协议是不现实的,大多客户端操作系统平台都不支持动态路由协议,即使支持也受到管理开销、收敛度、安全性等许多问题的限制。因此普遍采用对终端IP设备静态路由配置,一般是给终端设备指定一个或者多个默认网关(DefaultGateway)。静态路由的方法简化了网络管理的复杂度和减轻了终端设备的通信开销,但是它仍然有一个缺点:如果作为默认网关的路由器损坏,所有使用该网关为下一跳主机的通信必然要中断。采用虚拟路由冗余协议(VirtualRouterRedundancyProtocol,简称VRRP)可以很好的避免静态指定网关的这种缺陷。VRRP的优点就是它有更高的实用性,并且它无须在每个终端都配置动态路由或寻找路由的协议。在VRRP协议中,有两组重要的概念:VRRP路由器(VRRPRouter)和虚拟路由器(VirtualRouter),主控路由器(VirtualRouterMaster)和备份路由器(VirtualRouterBackup)。VRRP路由器是指运行VRRP协议的路由器,是物理实体。虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器。VRRP协议使用选择策略从路由器组中选出一台作为主控,负责ARP和转发IP数据包。当由于某种原因主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换过程非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。TABLE2-1.保护网关路由器的各种方法方法优点缺点DynamicRouting(RIP/OSPF)flexible:differentfailoverhierarchiescanbeestablishedmorefailurepointsprotectedrequiresroutingsoftwareinthehostsdemandingonthehostschallengingtoadministersecurityconcernsICMPDiscovery(IRDP)maycomewithnewIPstacksinthehostsrequiresdiscoverysoftwareinthehostswitholderIPstacks-notresponsive,mayleadtoblackholesProxyARPnospecialsoftwarerequiredinthehostnotrepsonsive,mayleadtoblackholes-mayrequirerebootingofthehostsDHCPdoesnothelpwithfailoverVRRPwithStaticRoutingstaticrouteconfigurationcommonlyavailablewithTCP/IPdoesnotrequireanyspecialsoftwareinthehostbasedonanindustrystandard-responsiveorcanbefine-tunedtoberesponsiveprotectsonlythedefaultrouter's-localinterfacebutmechanismextendabletotriggeraswitchoverinthecaseofotherinterfacesapplicableonlytoIPnetworks,-butotherprotocolssuchasIPXonaVRRPinterfaceabletobepiggy-backedwithIPforVRRP主要工作过程下图表示由三个VRRP路由器组成的构成一台虚拟路由器的过程。在这个例子中,路由器A,B和C都是VRRP路由器,他们组成了一台虚拟路由器。该虚拟路由器的IP地址和路由器A的以太接口地址(10.0.0.1)一致。图1:VRRP虚拟路由器示例1因为虚拟路由器使用ROUTERA的以太口的IP地址,因此ROUTERA被认为是主控路由器(VirtualRouterMaster)。作为主控路由器,ROUTERA控制虚拟路由器的IP地址,并对发往该IP地址的报文进行转发。CLIENT1到3配置的缺省网关的IP地址都是10.0.0.1。而RouterB和RouterC被认为是备份路由器(VirtualRouterBackup)。如果主控路由器失败,配置优先级较高的备份路由器将成为新的主控路由器,对LAN主机提供不中断的服务。当原主控路由器A回复后,它会重新成为主控路由器。注意到在此例子中,ROUTERB和C的IP地址只作为路由器本身的接口地址,并没有被别的路由器备份。为了达到可以互相备份的效果,引入另外一种LAN拓扑结构:图2:VRRP虚拟路由器示例2在这个拓补结构中,两个虚拟路由器被配置。两台路由器共享从CLIENT1到CLIENT4的流量。ROUTERA和B互相充当对方的备份路由器。对于虚拟路由器1,ROUTERA是IP地址10.0.0.1的拥有者和主控路由器,同时是ROUTERB的备份路由器。CLIENT1和2配置的缺省IP地址为10.0.0.1。对于虚拟路由器2,ROUTERB是IP地址10.0.0.2的拥有者和主控路由器,同时是ROUTERA的备份路由器。CLIENT3和4配置缺省网关10.0.0.2。由此可以到达备份和负载分担双重效果。这样,既分担了设备负载和网络流量,又提高了网络可靠性。工作原理一个VRRP路由器有唯一的标识:VRID,范围为0-255。该路由器对外表现为唯一的虚拟MAC地址,地址的格式为00-00-5E-00-01-{VRID}(按Internet标准的16进制的Bit顺序)。前三个octets是从IANA'sOUI得出,接下来的两个octets(00-01)表示分配给VRRP协议的地址块。这种映射方法可以使一个网络上能够有多达255个VRRP路由器。主控路由器负责对ARP请求用该MAC地址做应答。这样,无论如何切换,对于终端设备是透明的。VRRP控制报文只有一种:VRRP通告(advertisement)。它使用IP多播数据包进行封装,组地址为224.0.0.18,发布范围只限于同一局域网内。这保证了VRID在不同网络中可以重复使用。为了减少网络带宽消耗只有主控路由器才可以周期性的发送VRRP通告报文。备份路由器在连续三个通告间隔内(skew_time也产生优先级的影响)收不到VRRP或收到优先级为0的通告后启动新的一轮VRRP选举。先介绍两个概念:若某个VRRP路由器的接口IP地址和虚拟路由器的IP地址相同,则称该路由器为VRRP组中的IP地址所有者;Thisistherouterthat,whenup,willrespondtopacketsaddressedtooneoftheseIPaddressesforICMPpings,TCPconnections,etc.PrimaryIPAddress:从一组真正的接口地址中选择出的一个IP地址。一个可能的算法是总是选择第一个地址。VRRP的通告报文总是用PrimaryIP地址作为IP包的源IP。在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0-255。IP地址所有者自动具有最高优先级:255。优先级0一般用在IP地址所有者主动放弃主控路由器角色时使用。可配置的优先级范围为1-254。优先级的配置原则可以依据链路的速度和成本、路由器性能和可靠性以及其它管理策略设定。主控路由器的选举中,高优先级的虚拟路由器获胜,因此,如果在VRRP组中有IP地址所有者,则它总是作为主控路由器的角色出现。对于相同优先级的备份路由器,按照IP地址大小顺序选举。VRRP还提供了优先级抢占策略,如果配置了该策略,高优先级的备份路由器便会剥夺当前低优先级的主控路由器而成为新的主控路由器。为了保证VRRP协议的安全性(RFC2338,对于新的Draft则取消了该项),提供了两种安全认证措施:明文认证和IP头认证。明文认证方式要求:在加入一个VRRP路由器组时,必须同时提供相同的VRID和明文密码。适合于避免在局域网内的配置错误,但不能防止通过网络监听方式获得密码。IP头认证的方式提供了更高的安全性,能够防止报文重放和修改等攻击。报文结构VRRP的报文位于MACHeader和IPHeader之后,MACheaderIPheaderVRRPmessage该结构中某些重要IP域解释如下:SourceIPAddress:一个32比特的域,存放主控路由器连接到LAN上的接口的PrimaryIP地址。DestinationIPAddress:一个32比特的域,存放发送VRRP通告时的多播地址,该地址为224.0.0.18,一个虚拟路由器组中的所有路由器都接收该多播地址。TimetoLive(TTL):一个8比特域,该域的值必须为255,如果接收到的VRRP报文里TTL值不等于255,则要丢弃该报文。这是安全机制的一种。Protocol:一个8比特域,指出当前使用的协议号,VRRP的协议号为112(十进制)。VRRP的报文格式如下:0001020304050607080910111213141516171819202122232425262728293031VersionTypeVRIDPriorityCountIPAddrsAuthenticationtypeAdvertisementintervalChecksumIPAddresses[]:::Authenticationdata:::Version域为VRRP协议的版本号,定义为2。Type域指定了该VRRP报文的类型,在版本2中只有一种,即通告(ADVERTISEMENT),通告的对应类型为1。如果一个VRRP报文的类型未知,则应丢弃该报文。VRID域指定了虚拟路由器的标识。Priority域指定发送该VRRP报文的路由器的优先级,将此优先级通知给虚拟路由器组中的其它路由器。在确定范围内(1-255),优先级的值越大,说明该路由器的优先级越大。和虚拟路由器的IP地址相同的路由器,也就是主控路由器的优先级指定为255(十进制)。虚拟路由器中的备份路由器的优先级限制在1-254之间,默认值为100。其中优先级0具有特殊的意义,它表示一个主控路由器已经停止服务,这将触发备份路由器快速升级到主控路由器,而不用等到当前的主控路由器超时。CountIPAddrs域表示包含在VRRP通告中的IP地址数目。Authenticationtype域表示当前使用的认证方式。对于每一个接口来说,认证方式都
本文标题:VRRP原理综述
链接地址:https://www.777doc.com/doc-3994874 .html