《距离矢量路由协议.ppt》由会员分享,可在线阅读,更多相关《距离矢量路由协议.ppt(31页珍藏版)》请在三一办公上搜索。
1、距离矢量路由协议,7.1 距离矢量路由协议简介,区分路由协议的一种方法就是根据他们用来构建和维护路由表的路由算法类型。依次方法,路由协议可以被分为距离矢量、链路状态或者路径矢量路由协议。距离矢量路由协议包括:RIP:路由信息协议。主要特点:使用跳数作为选择路径的度量;若果某网络的跳数超过15,RIP便无法提供到达该网络的路由;默认情况下,每30s通过广播或组播发送一次路由更新。,IGRP:内部网关路由协议是由思科开发的专有协议。主要特点:使用基于带宽、延迟、负载和可靠性的复合度量;默认情况下,每90s通过广播发送一次路由更新;IGRP是EIGRP的前身,该协议已经不再使用。EIGRP:增强型内
2、部网关路由协议是由思科开发的专有协议。主要特点:能够执行不等价负载均衡;使用扩散更新算法计算最短路径;不需要像RIP或IGRP一样定时更新。只有当拓扑结构发生变化时才会发送路由更新。,7.2距离矢量技术,距离矢量的含义:用距离和矢量来通告路由。距离:自身与目的网络之间的距离;矢量:应该往哪个方向或使用哪个接口转发数据包;,R2,R1,S0/0,S0/1,距离矢量路由协议的运行,特征:即使拓扑结构不发生变化,也会定时将路由更新发布出去。RIP是30s。周期更新:每台路由器的路由协议维护本地计时器。当时间一到,即计时器到0,就发送路由更新。这些更新包括全部或者部分路由表。邻居:使用同一链路并配置了
3、相同路由协议的其他路由器。路由器只了解自身接口的网络地址以及能够通过达到的远程网络地址,对于拓扑结构的其他部分一无所知。,7.3 网络发现,冷启动路由器冷启动或通电开机时,路由器唯一了解的信息来自自身NVRAM中存储的配置文件中的信息。在开始交换路由信息之前,路由器将将首先发现与其自身直接相连的网络以及子网掩码。如下:以下信息会添加到路由表中。,7.3.2 初次路由信息交换,初次交换过程:所有3台路由器都向其邻居发送各自的路由表,此时,路由表仅包含直连网络。,每台路由器处理更新的方式如下:(以R1为例)将有关网络的更新从s0/0接口发送出去;将有关网络10.2.0.0.的更新从f0/0接口发送
4、出去;从s0/0接口接收来自R2的有关网络且度量为1的更新;在路由表中存储网络,度量为1。,R2:将有关网络的更新从s0/0接口发送出去;将有关网络10.2.0.0.的更新从s0/1接口发送出去;从s0/0接口接收来自R1的有关网络且度量为1的更新;在路由表中存储网络,度量为1。从s0/1接口接收来自R3的有关网络且度量为1的更新;在路由表中存储网络,度量为1。,R3:将有关网络的更新从s0/0接口发送出去;将有关网络10.3.0.0.的更新从f0/0接口发送出去;从s0/1接口接收来自R2的有关网络且度量为1的更新;在路由表中存储网络,度量为1。,经过第一轮更新交换后,每台路由器都能获知其直
5、连邻居的相连网络。初次交换后的路由表为:,但此时并不是每台路由器都获得了足够的信息。R1尚不知道网络,R3也不知道,所以,还需要经过一次路由信息交换,网络才能达到完全收敛。路由收敛是指路由域中所有路由器对当前的网络结构和路由转发达成一致的状态。收敛时间是指从网络的拓扑结构发生变化到网络上所有的相关路由器都得知这一变化,并且相应地做出改变所需要的时间。收敛时间与以下几方面有关:路由器在路由更新中向其邻居传播拓扑结构变化的速度;使用收集到的新路由信息计算最佳路径路由的速度。网络收敛的时间与网络的规模成正比。,7.3.3 路由信息交换,R1、R2、R3向各自的邻居发送最新的路由表。R1的更新方式如下
6、:将有关网络的更新从s0/0接口发送出去;将有关网络,的更新从f0/0接口发送出去;从s0/0接口接收来自R2的有关网络且度量为2的更新;在路由表中存储网络,度量为2。从s0/0接口接收到的来自R2的同一个更新包含有关且度量值为1的信息。因为网络没有发生变化,所以路由信息保持不变。,R2:将有关网络,的更新从s0/0接口发送出去;将有关网络和10.2.0.0.的更新从s0/1接口发送出去;从s0/0接口接收来自R1的有关网络且度量为1的更新,因拓扑无变化,路由信息保持不变。从s0/1接口接收来自R3的有关网络的更新;因拓扑无变化,路由信息保持不变。,R3:将有关网络的更新从s0/0接口发送出去
7、;将有关网络和的更新从f0/0接口发送出去;从s0/1接口接收来自R2的有关网络且度量为2的更新;在路由表中存储网络,度量为2。从s0/1接口接收来自R2的同一个更新包包含有关网络且度量为1的信息,因为拓扑无变化,所以路由信息保持不变。,7.4 路由表的维护,在路由器初始学习远程网络后,路由协议必须来维护路由表,已让它保持最新的路由信息。路由协议如何维护路由表取决于路由协议的类型(距离矢量、链路状态或路径矢量),以及具体的路由协议。,7.4.1 定期更新一、维护路由表,定期更新:是指路由器以预定义的时间间隔向邻居发送完整的路由表。对于RIP,无论拓扑是否发生变化,都会每个30s以广播的形式发送
8、更新数据包。这个30s就是路由更新计时器,它还可以用来跟踪路由表中路由信息的驻留时间。每次收到更新后,路由表中路由信息的驻留时间都会刷新。通过这种方法便可以在拓扑结构发生变化时维护路由表中的信息。拓扑结构发生变化的原因有以下几种:链路故障;增加新链路;路由器故障;链路参数改变。,二、RIP计时器,除更新计时器外,IOS还针对RIP设置了另外三种计时器:无效计时器(Invalid):如果180s(默认值)后还未收到可刷新现有路由的更新,则将该路由的度量设置为16,即标记为不可达,为无效路由。在刷新计时器超时以前,该路由仍然保留在路由表中。刷新计时器(Flush):默认设置为240s,比无效计时器
9、长60s。当刷新计时器超时后,该路由从路由表中删除。抑制计时器(Hold-down):该计时器用于稳定路由信息,并有助于在拓扑结构根据新信息收敛的过程中防止路由环路。在某条路由被标记为不可达后,它处于抑制状态的时间必须足够长,以便拓扑结构中所有的路由器能在此期间获知该不可达网络。默认情况下,该值为180s。,计时器的值可以通过show ip route和show ip protocols两个命令来检验。Show ip route,R 172.16.4.0 120/2 via 192.168.1.2,00:00:14,FastEthernet1/5 C 172.16.3.0 is directl
10、y connected,FastEthernet1/3C 192.168.1.0/24 is directly connected,FastEthernet1/5R 192.168.2.0/24 120/1 via 192.168.1.2,00:00:14,FastEthernet1/5,show ip protocols,显示了自上次更新以来经过的时间,以秒为单位。,Sending updates every 30 seconds,next due in 13 secondsInvalid after 180seconds,hold down 180,flushed after 240 Ro
11、uting Information Sources:Gateway Distance Last Update 10.3.0.1 120 00:00:27 Distance(default is 120),发送下一轮更新的时间,无效、抑制和刷新计时器,7.4.2 限定更新,EIGRP不发送定时更新,而是在路径改变或路由的度量改变时发送限定更新。当出现新路由或现有路由需要删除时,EIGRP只会发送有关该网络的信息,而不是整个路由表。该信息只会发向确实需要此信息的那些路由器。EIGRP使用的更新有以下几个特点:不定期;仅当拓扑结构发生影响路由信息的改变时,才发送相关部分的更新;限定范围;,7.4.3
12、 触发更新,当拓扑结构发生变化时,为了加速收敛,RIP将使用触发更新。触发更新是路由表更新方式,此类更新会在路由发生改变后立即发送出去。触发更新不需要等待更新计时器超时。检测到拓扑结构发生变化会立即向相邻路由器发送更新消息。接收到这一消息的路由器将依次生成触发更新,以通知邻居路由器拓扑结构发生了改变。当发生以下情况之一时,就会发出触发更新:接口状态改变(up或down);某条路由进入(或退出)不可达状态;路由表中增加了一条路由。,如果能够保证更新立即到达每台路由器,那么仅使用触发更新就已经足够。然而,触发更新存在两个问题:包含更新信息的数据包可能会丢失;包含更新信息的数据包可能会损坏;触发更新
13、不能在瞬间完成,因此有可能导致尚未收到触发更新的路由器会在错误的时间发送常规的定期更新,从而导致错误的路由被重新插入已经收到触发更新的邻居路由表中。,7.4.4 随机抖动,当多路访问LAN网段上的路由器同时发送路由更新时,更新数据包可能会产生冲突,从而导致延迟或消耗过多的带宽。例如包含集线器的网络,交换机则不存在。同时发送更新也称同步更新。因为距离矢量路由协议采用定期更新,因此更新同步会造成问题。为防止路由器之间同步进行更新,思科IOS引入了称为RIP_JITTER的随机变量,此变量会为网络中每台路由器的更新时间间隔减去一段可变时间量即随机抖动,它的范围是指定更新时间间隔的0-15%。在这种方
14、式下,默认30s的更新间隔实际会在25.5s到30s之间随机变化。,7.5 路由环路,定义是指数据包在一系列路由器之间不断的传输却始终无法到达其预期目的网络的一种现象。产生原因静态路由配置错误;路由重分布配置错误;(是指将来自一种路由协议的路由信息转给另一种路由协议的过程)发生改变的网络收敛速度缓慢,不一致的路由表未能得到更新。,路由环路的影响,路由环路对网络造成严重影响,导致网络性能降低,甚至使网络瘫痪。路由环路可能造成以下后果:环路内的路由器占用链路带宽来反复收发流量;路由器的CPU承担了无用的数据包转发工作,从而影响网络收敛;路由更新可能会丢失或无法得到及时处理。这些情况可能会导致更多的
15、环路,使情况进一步恶化;数据包丢失在“黑洞”中。,路由环路的产生(示例),坏的路由条目,消除环路的机制,定义最大度量以防止计数至无穷大;抑制计时器;水平分割;路由毒化或毒性反转;触发更新;,IP协议自身包含防止数据包在网络中无休止传输的机制。IP设置了生存时间(TTL)字段,每经过一台路由器,该值都会减一。如果生存时间变为0,则路由器将丢弃该数据包。TTL初始值由初始数据包主机操作系统来设置。TTL值通常比跳数限制的15跳要大,最大值为255.,7.5.1 计数至无穷大,距离矢量协议定义了一个最大值,这个数字是指最大的度量值(最大值为16),比如跳数。也就是说,路由更新信息可以向不可到达的网络
16、的路由中的路由器发送15次,一旦达到最大值16,就视为网络不可到达,存在故障,将不再接受来自访问该网络的任何路由更新信息。,抑制计时器,抑制计时器用于阻止定期更新的消息在不恰当的时间内重置一个已经坏掉的路由。抑制计时器告诉路由器把可能影响路由的任何改变暂时保持一段时间,抑制时间通常比更新信息发送到整个网络的时间要长。如果在抑制计时器超时之前从不同邻居接收到以前能够访问的网络现在不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器;如果再次收到从邻居发送来的更新信息,包含一个比原来路径具有更好度量值的路由,就标记为可以访问,并取消抑制;如果收到的更新信息包含的度量值比以前的更差,更新
17、将被忽略,这样可以有更多的时间让更新信息传遍整个网络。,水平分割,一种消除路有环路并加快网络收敛的方法是通过叫做“水平分割”的技术实现的。其规则就是不向原始路由更新来的方向再次发送路由更新信息。比如有三台路由器ABC,B向C学习到访问网络的路径以后,不再向C声明自己可以通过C访问网络的路径信息,A向B学习到访问网络路径信息后,也不再向B声明,而一旦网络发生故障无法访问,C会向A和B发送该网络不可达到的路由更新信息,但不会再学习A和B发送的能够到达的错误信息。,路由毒化,定义最大值在一定程度上解决了路由环路问题,但并不彻底,可以看到,在达到最大值之前,路由环路还是存在的。为此,路由毒化就可以彻底
18、解决这个问题。其原理是这样的:假设有三台路由器ABC,当网络出现故障无法访问的时候,路由器C便向邻居路由发送相关路由更新信息,并将其度量值标为无穷大,告诉它们网络不可到达,路由器B收到毒化消息后将该链路路由表项标记为无穷大,表示该路径已经失效,并向邻居A路由器通告,依次毒化各个路由器,告诉邻居这个网络已经失效,不再接收更新信息,从而避免了路由环路。,带毒性反转的水平分割,毒性反转可以与水平分割技术结合使用。这种方法称为带毒性反转的水平分割。“带毒性反转的水平分割”规则规定,从特定接口向外发送更新时,将通过该接口获知的所有网络标示为不可达。例如:网络 10.4.0.0 由于链路故障而变得不可用,R3 通过将度量值设置为 16 使该路由毒化,然后发送触发更新指明 10.4.0.0 不可达。R2 处理该更新,在其路由表中将该路由条目标记为无效,然后立即向 R3 发送毒性反转。毒性反转非常特殊,它会使路由器忽略水平分割规则的要求。它的作用在于确保 R3 不会轻易受到有关网络 10.4.0.0 的错误更新的影响。注:水平分割功能是默认启用的功能。然而,并非所有 IOS 实现都默认启用了带毒性反转的水平分割。,