04距离矢量路由协议4.1距离矢量路由协议简介4.1.1距离矢量路由协议1、距离矢量路由协议包括RIP、IGRP和EIGRP。1)RIPRIP(路由信息协议)最初在RFC1058中定义。主要有以下特点:使用跳数作为选择路径的度量。如果某网络的跳数超过15,RIP便无法提供到达该网络的路由。默认情况下,每30秒通过广播或组播发送一次路由更新。2)IGRPIGRP(内部网关路由协议)是由Cisco开发的专有协议。IGRP的主要设计特点如下:使用基于带宽、延迟、负载和可靠性的复合度量。默认情况下,每90秒通过广播发送一次路由更新。IGRP是EIGRP的前身,现在已不再使用。3)EIGRPEIGRP(增强型IGRP)是Cisco专用的距离矢量路由协议。EIGRP主要具有以下特点:能够执行不等价(且按比例)负载均衡。使用扩散更新算法(DUAL)计算最短路径。不需要像RIP和IGRP一样进行定期更新。只有当拓扑结构发生变化时才会发送路由更新。4.1.2距离矢量技术1、距离矢量的含义:距离矢量意味着用距离和方向矢量来通告路由。距离使用诸如跳数这样的度量确定,而方向则是下一跳路由器或送出接口。2、使用距离矢量路由协议的路由器并不了解到达目的网络的整条路径。该路由器只知道:应该往哪个方向或使用哪个接口转发数据包自身与目的网络之间的距离距离矢量路由协议的路由的获取都是基于从邻居处得到的,所以距离矢量路由协议也被称为传闻路由。3、距离矢量路由协议的工作方式:1)按照一定的时间间隔发送定期(周期性)更新(PeriodicUpdates)(RIP的间隔为30秒,IGRP的间隔为90秒,EIGRP不作定期更新)。2)使用距离矢量路由的路由器不了解网络拓扑结构。3)(RIP、IGRP)定期向所有邻居发送整个路由表更新。EIGRP触发更新变化信息。4.1.3路由协议算法1、用于路由协议的算法定义了以下过程:1)发送和接收路由信息的机制。2)计算最佳路径并将路由添加到路由表的机制。3)检测并响应拓扑结构变化的机制。2、各种距离矢量路由协议使用的路由算法:1)RIP:BellmanFord算法2)EIGRP:DUAL(扩散更新算法)4.1.4路由协议的特征1、路由协议的特征:收敛时间;可扩展性;无类(使用VLSM)或有类;资源使用率;实现和维护4.2网络发现4.2.1冷启动(ClodStart)——发现直连网络1.当路由冷启动,IOS运行成功之后,路由器将把NAVRAM的Startup-config文件加载到RAM的Running-config文件中;2.一旦Running-config文件中针对接口有配置IP地址且有打开接口命令,接口将工作正常;3.接口工作正常之后,路由器将接口的IP地址所属的网络地址以直连网络方式添加到路由表中,并用C表示路由来源。4.2.2初次路由信息交换——发现远程网络,可能未收敛配置路由协议后,路由器就会开始交换路由更新。一开始,这些更新仅包含有关其直连网络的信息。收到更新后,路由器会检查更新,从中找出新信息。任何当前路由表中没有的路由都将被添加到路由表中。4.2.3路由信息交换——完成收敛4.2.4收敛1、网络收敛所需的时间与网络的规模成直接比例。2、达到收敛的速度包含两个方面:路由器在路由更新中向其邻居传播拓扑结构变化的速度。使用收集到的新路由信息计算最佳路径路由的速度。4.3路由表维护4.3.1定期更新:RIP和IGRP1、维护路由表1)许多距离矢量协议采用定期更新与其邻居交换路由信息,并在路由表中维护最新的路由信息,不管网络是否发生变化。RIP和IGRP均属于此类协议。每次收到更新后,路由表中路由信息的驻留时间都会刷新。2)拓扑结构发生变化,RIP和IGRP可以使用触发更新发生路由更新,不需要等到周期性更新计时器的超时再发送路由更新。3)拓扑结构发生变化的原因有多种,包括:链路故障增加新链路路由器故障链路参数改变2、RIP计时器:1)更新计时器:30s2)无效计时器(InvalidTimer):如果180秒(默认值)后还未收到可刷新现有路由的更新,则将该路由的度量设置为16,从而将其标记为无效路由。在清除计时器超时以前,该路由仍将保留在路由表中。3)刷新/清除计时器(FlushTimer):240s;默认情况下,清除计时器设置为240秒,比无效计时器长60秒。当清除计时器超时后,该路由将从路由表中删除。4)抑制计时器(HolddownTimer):180s。该计时器用于稳定路由信息,并有助于在拓扑结构根据新信息收敛的过程中防止路由环路。在某条路由被标记为不可达后,它处于抑制状态的时间必须足够长,以便拓扑结构中所有路由器能在此期间获知该不可达网络。默认情况下,抑制计时器设置为180秒。4.3.2限定更新:EIGRP1、EIGRP使用的更新具有以下特点:1)不定期,因为此类信息不是按固定时间间隔发送。2)仅当拓扑结构中发生影响路由信息的改变时才发送相关部分的更新。3)限定范围,这表示部分更新的传播受到自动限制,只有需要该更新信息的路由器才会收到更新。4.3.3触发更新1、当发生以下情况之一时,就会发出触发更新:1)接口状态改变(开启或关闭)2)某条路由进入(或退出)“不可达”状态3)路由表中增加了一条路由4.3.4随机抖动(RandomJitter)为防止路由器之间同步进行更新,CiscoIOS引入了称为RIP_JITTER的随机变量,此变量会为网络中每台路由器的更新时间间隔减去一段可变时间量。此随机抖动(即可变时间量)的范围是指定更新时间间隔的0%到15%。在这种方式下,默认30秒的更新间隔实际会在25到30秒之间随机变化。4.4路由环路(RoutingLoops)4.4.1路由环路的定义及影响1、什么是路由环路?路由环路是指数据包在一系列路由器之间不断传输却始终无法到达其预期目的网络的一种现象。当两台或多台路由器的路由信息中存在错误地指向不可达目的网络的有效路径时,就可能发生路由环路。2、造成环路的可能原因有:静态路由配置错误路由重分布配置错误(重分布表示将来自一种路由协议的路由信息转给另一种路由协议的过程,将在CCNP级别的课程中介绍)发生了改变的网络中收敛速度缓慢,不一致的路由表未能得到更新错误配置或添加了丢弃的路由3、路由环路可能造成以下后果:1)环路内的路由器占用链路带宽来反复收发流量。2)路由器的CPU因不断循环数据包而不堪重负。3)路由器的CPU承担了无用的数据包转发工作,从而影响到网络收敛。4)路由更新可能会丢失或无法得到及时处理。这些状况可能会导致更多的路由环路,使情况进一步恶化。5)数据包可能丢失在“黑洞(blackholes)”中。3、路由环路一般是由距离矢量路由协议引发的,目前有多种机制可以消除路由环路。这些机制包括:1)定义最大度量以防止计数至无穷大(16)2)抑制计时器3)水平分割4)路由毒化或毒性反转5)触发更新4.4.2问题:计数到无穷大当不正确的路由更新无休止地增加不再可达的网络的度量值时,就会出现“计数至无穷大”。4.4.3设置最大值为了防止度量无限增大,可以通过设置最大度量值来界定“无穷大”。例如,RIP将无穷大定义为16跳,大于等于此值的路由即为“不可达”。一旦路由器计数达到该“无穷大”值,该路由就会被标记为不可达。4.4.4使用抑制计时器预防路由环路1、抑制计时器可用来防止定期更新消息错误地恢复某条可能已经发生故障的路由。2、抑制计时器通过以下方式工作:1)路由器从邻居处接收到更新,该更新表明以前可以访问的网络现在已不可访问。2)路由器将该网络标记为possiblydown并启动抑制计时器。3)如果在抑制期间从任何相邻路由器接收到含有更小度量的有关该网络的更新,则恢复该网络并删除抑制计时器。4)如果在抑制期间从相邻路由器收到的更新包含的度量与之前相同或更大,则该更新将被忽略。如此一来,更改信息便可以继续在网络中传播一段时间。5)路由器仍然会转发目的网络被标记为possiblydown的数据包。通过这种方式,路由器便能克服连接断续所带来的问题。如果目的网络确实不可达,但路由器又转发了数据包,黑洞路由就会建立起来并持续到抑制计时器超时。4.4.5水平分(SplitHorizon)割规则防止由于距离矢量路由协议收敛缓慢而导致路由环路的另一种方法是水平分割。水平分割规则规定,路由器不能使用接收更新的同一接口来通告同一网络。4.4.6带毒性反转和路由毒化的水平分割1、路由毒化(RoutePoisoning)路由毒化是距离矢量路由协议用来防止路由环路的一种方法。路由毒化用于在发往其它路由器的路由更新中将路由标记为不可达。标记“不可达”的方法是将度量设置为最大值。对于RIP,毒化路由的度量为16。2、带毒性反转(PoisonReverse)的水平分割毒性反转可以与水平分割技术结合使用。这种方法称为带毒性反转的水平分割。“带毒性反转的水平分割”规则规定,从特定接口向外发送更新时,将通过该接口获知的所有网络标示为不可达。4.4.7IP和TTLTTL(生存时间)是IP报头中的8位字段,它限制了数据包在被丢弃之前能够在网络中传输的跳数。设置TTL字段的目的是防止无法投递的数据包无休止地在网络中来回传输。数据包的源设备会对8位的TTL字段设置一个值。在到达目的地的过程中,每经过一台路由器,TTL的值就会减1。如果在到达目的地之前TTL字段的值减为零,则路由器将丢弃该数据包并向该IP数据包的源地址发送Internet控制消息协议(ICMP)错误消息。4.5距离矢量协议的现状4.5.1RIP和EIGRP1、RIP1)经过多年的发展,RIP已经从有类路由协议(RIPv1)发展到无类路由协议(RIPv2)。RIPv2是一种标准化的路由协议,能够工作在多种路由器品牌共存的复杂环境中。不同公司生产的路由器可以通过RIP进行通信。它是可用于配置的最早期路由协议之一,非常适合小型网络。但是,RIPv2仍有自身的局限性。RIPv1和RIPv2在计算路由度量时都只考虑跳数,有效路由的跳数不能超过15跳。2)RIP的功能:支持用于防止路由环路的水平分割和带毒性反转的水平分割。能够在多达六条的等价路径上进行负载均衡。默认为四条等价路径。3)RIPv2对RIPv1进行了如下改进:在路由更新中包含子网掩码,从而使协议变为无类路由协议。增加验证机制以确保路由表更新的安全性。支持可变长子网掩码(VLSM)。使用组播地址代替广播地址。支持手动总结路由。2、EIGRP1)EIGRP(增强型IGRP)是在IGRP的基础上开发而来,是另一种距离矢量协议。EIGRP具备某些链路状态路由协议功能,是一种无类距离矢量路由协议。与RIP或OSPF不同的是,EIGRP是由Cisco开发的专有协议,仅在Cisco路由器上运行。2)EIGRP的功能包括:触发更新(EIGRP没有定期更新)。使用拓扑表维护从邻居处收到的所有路由(不仅是最佳路径)。使用EIGRPhello协议与相邻路由器建立邻接关系。支持VLSM和手动路由总结。这些功能使得EIGRP有能力创建具有层次结构的大型网络。3)EIGRP的优点:尽管路由以距离矢量方式传播,但度量是根据最小带宽和路径的累积延迟进行计算,而不是根据跳数得出。采用扩散更新算法(DUAL)进行路由计算,收敛速度更快。DUAL允许向EIGRP拓扑表插入备用路由,当主路由失败时备用路由便可派上用场。由于这一过程在本地实现,所以可以立即切换到备用路由,不需要其它路由器进行任何操作。使用限定更新,因此EIGRP使用的带宽更少,特别是在包含许多路由的大型网络中这一点更为明显。EIGRP具有协议相关模块,可支持多种网络层协议,包括IP、IPX和AppleTalk。薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁