当前位置:文档之家› 3.3 距离矢量路由协议-RIP

3.3 距离矢量路由协议-RIP

RIP是一种比较简单的内部网关协议。RIP使用了基于距离矢量的贝尔曼-福特算法(Bellman-Ford)来计算到达目的网络的最佳路径。

最初的RIP协议开发时间较早,所以在带宽、配置和管理方面要求也较低,因此,RIP主要适合于规模较小的网络中。

RIP协议中定义的相关参数也比较少。例如,它不支持VLSM和CIDR,

也不支持认证功能。

路由器启动时,路由表中只会包含直连路由。运行RIP之后,路由器会发送Request报文,用来请求邻居路由器的RIP路由。运行RIP的邻居路由器收到该Request报文后,会根据自己的路由表,生成Response报文进行回复。路由器在收到Response报文后,会将相应的路由添加到自己的路由表中。

RIP网络稳定以后,每个路由器会周期性地向邻居路由器通告自己的整张路由表中的路由信息,默认周期为30秒。邻居路由器根据收到的路由

信息刷新自己的路由表。

RIP使用跳数作为度量值来衡量到达目的网络的距离。在RIP中,路由器到与它直接相连网络的跳数为0,每经过一个路由器后跳数加1。为限制收敛时间,RIP规定跳数的取值范围为0~15之间的整数,大于15的跳数被定义为无穷大,即目的网络或主机不可达。

路由器从某一邻居路由器收到路由更新报文时,将根据以下原则更新本路由器的RIP路由表:

1.对于本路由表中已有的路由项,当该路由项的下一跳是该邻居路由

器时,不论度量值将增大或是减少,都更新该路由项(度量值相同时只将其老化定时器清零。路由表中的每一路由项都对应了一个老化定时器,当路由项在180秒内没有任何更新时,定时器超时,该路由项的度量值变为不可达)。

2.当该路由项的下一跳不是该邻居路由器时,如果度量值将减少,则

更新该路由项。

3.对于本路由表中不存在的路由项,如果度量值小于16,则在路由表

中增加该路由项。

某路由项的度量值变为不可达后,该路由会在Response报文中发布四次(120秒),然后从路由表中清除。

在本示例中,路由器RTA通过两个接口学习路由信息,每条路由信息都有相应的度量值,到达目的网络的最佳路由就是通过这些度量值计算出来的。

本示例介绍了RIP网络上路由环路的形成。

如图所示,RIP网络正常运行时,RTA会通过RTB学习到10.0.0.0/8网络的路由,度量值为1。一旦路由器RTB的直连网络10.0.0.0/8产生故障,RTB会立即检测到该故障,并认为该路由不可达。此时,RTA还没有收到该路由不可达的信息,于是会继续向RTB发送度量值为2的通往10.0.0.0/8的路由信息。RTB会学习此路由信息,认为可以通过RTA到达10.0.0.0/8网络。此后,RTB发送的更新路由表,又会导致RTA路由表的更新,RTA会新增一条度量值为3的10.0.0.0/8网络路由表项,从而

形成路由环路。这个过程会持续下去,直到度量值为16。

RIP路由协议引入了很多机制来解决环路问题,除了之前介绍的最大跳数,还有水平分割机制。水平分割的原理是,路由器从某个接口学习到的路由,不会再从该接口发出去。也就是说,RTA从RTB学习到的10.0.0.0/8网络的路由不会再从RTA的接收接口重新通告给RTB,由此

避免了路由环路的产生。

RIP的防环机制中还包括毒性反转,毒性反转机制的实现可以使错误路由立即超时。配置了毒性反转之后,RIP从某个接口学习到路由之后,发回给邻居路由器时会将该路由的跳数设置为16。利用这种方式,可以清除对方路由表中的无用路由。本示例中,RTB向RTA通告了度量值为1的10.0.0.0/8路由,RTA在通告给RTB时将该路由度量值设为16。如果10.0.0.0/8网络发生故障,RTB便不会认为可以通过RTA到达10.0.0.0/8

网络,因此就可以避免路由环路的产生。

缺省情况下,一台RIP路由器每30秒会发送一次路由表更新给邻居路由器。

当本地路由信息发生变化时,触发更新功能允许路由器立即发送触发更新报文给邻居路由器,来通知路由信息更新,而不需要等待更新定时器

超时,从而加速了网络收敛。

silent-interface命令用来抑制接口,使其只接收RIP报文,更新自己的路由表,但不发送RIP报文。

命令silent-interface比命令rip input和rip output的优先级更高。命令silent-interface all表示抑制所有接口,此命令优先级最高,在配置该命令之后,所有接口都被抑制。

命令silent-interface通常会配置在NBMA网络上。在NBMA网络上,一些路由器需要接收RIP更新消息但是不需要广播或者组播路由器自身的

路由更新,而是通过命令peer与对端路由器建立关系。

命令display rip可以比较全面地显示路由器上的RIP信息,包括全局参数以及部分接口参数。例如,该命令可以显示哪些接口上执行了silent-

interface命令。

3.3 距离矢量路由协议-RIP

RIP是一种比较简单的内部网关协议。RIP使用了基于距离矢量的贝尔曼-福特算法(Bellman-Ford)来计算到达目的网络的最佳路径。 最初的RIP协议开发时间较早,所以在带宽、配置和管理方面要求也较低,因此,RIP主要适合于规模较小的网络中。 RIP协议中定义的相关参数也比较少。例如,它不支持VLSM和CIDR, 也不支持认证功能。

路由器启动时,路由表中只会包含直连路由。运行RIP之后,路由器会发送Request报文,用来请求邻居路由器的RIP路由。运行RIP的邻居路由器收到该Request报文后,会根据自己的路由表,生成Response报文进行回复。路由器在收到Response报文后,会将相应的路由添加到自己的路由表中。 RIP网络稳定以后,每个路由器会周期性地向邻居路由器通告自己的整张路由表中的路由信息,默认周期为30秒。邻居路由器根据收到的路由 信息刷新自己的路由表。

RIP使用跳数作为度量值来衡量到达目的网络的距离。在RIP中,路由器到与它直接相连网络的跳数为0,每经过一个路由器后跳数加1。为限制收敛时间,RIP规定跳数的取值范围为0~15之间的整数,大于15的跳数被定义为无穷大,即目的网络或主机不可达。 路由器从某一邻居路由器收到路由更新报文时,将根据以下原则更新本路由器的RIP路由表: 1.对于本路由表中已有的路由项,当该路由项的下一跳是该邻居路由 器时,不论度量值将增大或是减少,都更新该路由项(度量值相同时只将其老化定时器清零。路由表中的每一路由项都对应了一个老化定时器,当路由项在180秒内没有任何更新时,定时器超时,该路由项的度量值变为不可达)。 2.当该路由项的下一跳不是该邻居路由器时,如果度量值将减少,则 更新该路由项。 3.对于本路由表中不存在的路由项,如果度量值小于16,则在路由表 中增加该路由项。 某路由项的度量值变为不可达后,该路由会在Response报文中发布四次(120秒),然后从路由表中清除。 在本示例中,路由器RTA通过两个接口学习路由信息,每条路由信息都有相应的度量值,到达目的网络的最佳路由就是通过这些度量值计算出来的。

距离矢量协议和链路状态协议的区别

距离矢量协议和链路状态协议的区别 一.什么是距离向量路由协议以及什么是链接状态路由协议? (1.)这类协议使用贝尔曼-福特算法(Bellman-Ford)计算路径。在距离-矢量路由协议中,每个路由器并不了解整个网络的拓扑信息。它们只是向其它路由器通告自己的距离、也从其它路由器那里收到类似的通告。(如果在90秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。每隔30秒,距离向量路由协议就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。距离向量路由协议使用跳数作为度量值,来计算到达目的地要经过的路由器数。) 每个路由器都通过这种路由通告来传播它的路由表。在之后的通告周期中,各路由器仅通告其路由表的变更。该过程持续至所有路由器的路由表都收敛至一稳定状态为止。 这类协议具有收敛缓慢的缺点,然而,它们通常容易处理且非常适合小型网络。距离-矢量路由协议的一些例子包括:路由信息协议(RIP)内部网关路由协议(IGRP) (2.)链接状态路由协议更适合大型网络,但由于它的复杂性,使得路由器需要更多的C P U 资源。 在链路状态路由协议中,每个节点都知晓整个网络的拓扑信息。各节点使用自己了解的网络拓扑情况来各自独立地对网络中每个可能的目的地址计算出其最佳的转发地址(下一跳)。所有最佳转发地址汇集到一起构成该节点的完整路由表。 与距离-矢量路由协议使用的那种每个节点与其相邻节点分享自己的路由表的工作方式不同,链路状态路由协议的工作方式是节点间仅传播用于构造网络连通图所需的信息。最初创建这类协议就是为了解决距离-矢量路由协议收敛缓慢的缺点,然而,为此链路状态路由协议会消耗大量的内存与处理器能力。 (它能够在更短的时间内发现已经断了的链路或新连接的路由器,使得协议的会聚时间比距离向量路由协议更短。通常,在1 0秒钟之内没有收到邻站的H E L LO报文,它就认为邻站已不可达。一个链接状态路由器向它的邻站发送更新报文,通知它所知道的所有链路。它确定最优路径的度量值是一个数值代价,这个代价的值一般由链路的带宽决定。具有最小代价的链路被认为是最优的。在最短路径优先算法中,最大可能代价的值几乎可以是无限的。) 如果网络没有发生任何变化,路由器只要周期性地将没有更新的路由选择表进行刷新就可以了(周期的长短可以从3 0分钟到2个小时)。 链路状态路由协议的例子有:开放式最短路径优先协议(OSPF),中间系统到中间系统路由交换协议(IS-IS) 二.具体理解链路状态和距离矢量路由协议 距离矢量(DV)是“传说的路由”,A发路由信息给B,B加上自己的度量值又发给C,路由表里的条目是听来的,虽说“兼听则明,偏信则暗”,但是选出最优路径的同时会引发环路问题,当然,DV协议也使用水平分割,毒性逆转,触发更新等特性来避免,无奈的是,

距离向量算法更新路由表3

计算机网络实习报告 论文题目距离向量算法更新路由表 学生专业班级通信07级2班 学生姓名(学号) 指导教师 完成时间 2010年05月22日 实习(设计)地点信息楼139(112)机房 2010 年 05 月 22 日

距离向量算法更新路由表 一.实验目的 1.认识并掌握路由器结构组成及路由建立与更新的原理 2.理解、掌握和利用距离向量算法的应用。 3. 能够用距离向量算法建立一个路由表并根据相邻路由器发来的数据进行更新。 5.所实现的路由器模拟Internet上的IP路由器,它能确定网络的最短路由,并在其上传输分组 二.原理概述 距离向量路由算法被距离向量协议作为一个算法,它告诉在网络中每个节点的最远和最近距离。在距离表中的这个信息是根据临近接点信息的改变而时时更新的。表中数据的量和在网络中的所有的接点是等同的。每个数据包括传送数据包到每个在网上的目的地的路径和距离/或时间在那个路径上来传输。 这个表中的列代表直接和它相连的“邻居”路由器相连,行代表在网络中的所有目的地。在距离向量路由算法中,相邻路由器之间周期性(一般为3分钟)地相互交换各自的路由表。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。它是一种动态路由选择算法。每个路由器都定期与其相邻的所有路由器交换路由表,据此更新它们自己的路由表。 所有路由器只与其相邻路由器交换信息,在发来为RIP报文情况下更新其路由表的具体步骤为: 1.对地址为X的相邻路由器发来的RIP报文,先修改报文中的所有项目,把“下跳”字段中地址均改为X,把所有“距离”字段的值加1.每一个项目都有三项数据,即:到目的网络N,距离是d,下一条路由器是X 2.对修改后的RIP报文中每个项目,进行以下步骤: 若原来路由表中没有目的网络N,则把该项目添加到路由表中。 否则若吓一跳地址是X,把收到的项目替还原路由表中的项目 否则若收到的项目中的距离d小于路由表中的距离,则进行更新。 否则什么也不做。 3.若三分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16.(本实验将其定义为6) 4.返回。 三.设计方案 路由表的建立和更新 假设建立七个路由器,其中三个A,B和C。路由器A的两个网络接口E0和S0 分别连接在 10.1.0.0和10.2.0.0网段上;路由器B的两个网络接口S0和S1 分别连接在 10.2.0.0和10.3.0.0网段上;路由器C的两个网络接口S0和E0 分别连接在 10.3.0.0和10.4.0.0网段上; 如上面各路由表的前两行所示,通过路由表的网络接口到与之直接相连的网 络的网络连接,其向量距离设置为0。这即是最初的路由表。

距离矢量路由算法原理

距离矢量路由算法原理实验 【实验目的】 1、要求实验者利用路由选择算法模拟软件提供的通信功能,模拟距离矢量路由选择算法的初始化、路由信息扩散过程和路由计算方法; 2、掌握距离矢量算法的路由信息扩散过程; 3、掌握距离矢量算法的路由计算方法。 【预备知识】 1、路由选择算法的特征、分类和最优化原则 2、路由表的内容、用途和用法 3、距离矢量算法的基本原理 【实验环境】 1、分组实验,每组4~10人。 2、拓扑: 虚线表示节点之间的逻辑关系,构成一个逻辑上的网状拓扑结构。 3、设备:小组中每人一台计算机。 4、实验软件:路由选择算法模拟软件(routing.exe ) 【实验原理】 路由选择算法模拟软件根据给定的拓扑结构,为实验者提供基本的本地路由信息,并能发送和接收实验者所组织的路由信息,帮助实验者完成路由选择算法的路由信息扩散过程、路由计算过程和路由测试过程。 1、模拟软件的功能(图2-1) ● 在局域网内根据小组名称和成员数量建立一个模拟网络拓扑结构,每个成员模拟拓扑中的一台路由器,路由器上的本地路由信息由实验软件提供。 ● 向实验者指定的发送对象发送实验者自行组织的发送内容。 ● 提示实验者有数据需要接收,并显示接收内容。 N 路由节点2 路由节点N-1 N = 4 ~ 10

●为实验者提供记录路由计算结果的窗口——路由表窗口。 ●为实验者提供分组逐站转发方法来验证路由选择的结果。 图2-1 路由选择算法模拟软件主界面 2、模拟软件的使用方法 1)建立小组 通过建立小组,每个小组成员可以获得本节点的编号和本地直连链路信息。 a)4~10人一组,在实验前自由组合形成小组。小组人数尽量多些,每人使用一台计算机。启动实验软件后点击“建立小组”按钮。(图2-2) 图2-2 选择建立小组 b)在建立小组的窗口内填入小组名称和成员数量。同一小组成员必须填写同样的小组名称和成员数量才能正确建立小组。(图2-3) 图2-3 建立小组窗口图2-4 小组建立过程

距离矢量路由协议及路由环路

第七讲:距离矢量路由协议及路由环路 回顾昨天:提问:1、距离矢量路由协议包括哪几种?2、路由器是如何确定最佳路由的说出步骤? 今天内容:距离矢量路由协议及确保路由表条目的的正确的六种方法,及六种方法的结合使用。 一、距离矢量路由协议学习路由的方法首先明确一点,该协议并不能学到整个网络的拓扑。只能靠学习邻居路由表内容来学习路由。但每个路由表中只有最佳路径(也就是路由)。也就是说只有目的地方向(路由器接口)和距离,于是被叫距离矢量。 举例:高速路上开车,没有地图,出错,只能打听。而打听的人也不知道还要向另外的人打听(好比路由器问邻居路由器,邻居也不知道于是就要再问下一个邻居,这样收敛的速度可想而知) 1、距离矢量路由协议是通过传递路由更新 包来学习路由的(见图10-1),在图10-2到10-4是说明了RIP路由协议是怎样来学习路由的。在路由协议刚刚运行的时

候,路由器没有开始相互发送UPDATE 包,于是路由表里只有自己直连的网段,管理距离是0。如图10-2,路由器学到 了自己直连的网段后便开始向邻居路由 器发送更新包了,此包里包含我们发布 的路由。(一台路由器所直接连接的网段 必须发布在路由协议里才能够被放到 UPDATE包里传送)这样路由器就学到 了其他路由器的路由了见图10-3。路由 器学到了邻居的路由再打包向邻居发, 这样所有路由器会学到所有的路由条 目。如图10-4(注意此图的RIP为RIPV2,找同学说为什么) #########注意:从以上可以看出距离矢量路由协议就是靠和邻居之间周期性的交换路由表来一步一步学到远端路由的####### 2、路由更新包的格式决定了路由协议是有 类还是无类。 实际上有类的路由协议出现的比较早,当时没有出现子网。路由学到的都是正规的ABC 类网段。RIP V1等距离矢量路由协议的更

第 4 章 距离矢量路由协议

第4章距离矢量路由协议 1.下面哪4段话对距离矢量路由协议的描述是正确的?A、C、D、F A.跳数可以用作路径选择 B.它们的扩展性很好 C.路由更新是周期广播的 D.EIGRP可以支持非等价均衡负载 E.RIPv1使用组播更新它的路由 F.RIP发送全部的路由表到直连的邻居(除了受水平分割影响的路由) 2.什么条件会导致距离矢量路由协议发送路由表更新?B、C、D A.当抑制计时器超时 B.当网络拓扑发生了改变 C.当更新周期到时 D.当从其他路由器收到触发更新 E.当收到一个目的地为末知网络的数据包 F.当30分钟内路由表没有改变的时候 3.EIGRP更新的两个特点是什么? D、F A.包含所有EIGRP路由 B.包括全部路由表 C.独立体系 D.只对路由拓扑变化进行触发 E.使用广播到邻居 F.限定只向需要的路由器发送更新 4.RIP中附加了什么特性来帮助解决同步错误?B A.抑制计时器 B.RIP-JITTER C.RIP-DELAY D.抖动控制 5.下面哪两个是RIP使用的计时器?A、C A.Invalid B.Refresh C.Flush D.Deadlink E.Hello 6.有关距离矢量协议的优点哪些说法是正确的?C A.周期更新加速收敛 B.执行容易导致配置简单

C.在复杂网络中能够工作得很好 D.它的收敛时间比链路状态路由协议还要快 7.下面哪些机制可以避免计数到无穷大的环路?C A.水平分割 B.路由毒化 C.抑制计时器 D.触发更新 E.带毒性反转的水平分割 8.参考图4-28。网络中运行RIP路由协议。什么机制将阻止R4向R5发送关于10..0.0.0 网络的更新?A A.水平分割 B.毒性反转 C.路由毒化 D.抑制计时器 E.最大跳数 9.什么机制通过通知度量为无穷大来使RIP避免环路?B A.水平分割 B.路由毒化 C.抑制计时器 D.最大跳数 E.IP头中生存时间(TTL)字段 10.IP头中的哪个字段保证数据包在网络中不会无限循环? C A.CRC B.TOC C.TTL D.Checksum 11.映射防止环路的机制到它的相应功能。 防止环路机制 水平分割 路由毒化 抑制计时器 触发更新 功能: A.通过一个接口学习以路由不会再向该接口发送通告 B.通过一个接口学习到路由向相同的接口返回通告不可达信息 C.拓扑一改变就立即发送给邻居路由器 D.它允许通过全网传递拓扑改变的时间 答案: 水平分割:A

第4章 距离矢量路由协议

第4章距离矢量路由协议 1.以下哪种事件将导致触发更新? (A)更新路由计时器超时 (B)接收到损坏的更新消息 (C)路由表中安装了一条路由 (D)网络已达到收敛 2.三台正在运行距离矢量路由协议的路由器全部断开了所有供电电源(包括备用电池)。当这些路由器重新加载时,会发生什么情况? (A)它们将与直连的邻居共享断电之前保存在NVRAM 中的所有路由信息。 (B)它们将向网络中的所有其它路由器组播hello 数据包以建立邻居邻接关系。(C)它们将向其直连的邻居发送仅包含直连路由的更新。 (D)它们将向网络中的所有路由器广播其完整的路由表。 3.RIP 抑制计时器的作用是什么? (A)确保无效路由的度量为15 (B)对于在网络中造成路由环路的路由器,禁止其发送任何更新 (C)在发送更新前确保每条新路由都有效 (D)指示路由器在指定的时间内或特定事件下,忽略有关可能无法访问路由的更新4.下列关于RIPv1 路由更新功能的陈述,哪两项是正确的?(选择两项。) (A)仅当拓扑结构发生变化时才广播更新 (B)以一定的时间间隔广播更新 (C)广播发送到0.0.0.0 (D)广播发送到255.255.255.255 (E)更新中包含整个网络拓扑结构 (F)更新中仅包括所发生的变化 5.下列有关RIP 的陈述,哪一项是正确的? (A)它每60 秒便会向网络中的所有其它路由器广播更新 (B)它每90 秒便会使用多播地址向其它路由器发送更新 (C)它将在发生链路故障时发送更新 (D)更新中仅包含自上次更新以来路由所发生的变化 6.哪两项陈述正确描述了EIGRP?(选择两项。) (A)EIGRP 可以用于Cisco 路由器和非Cisco 路由器。 (B)EIGRP 将在拓扑结构中发生影响路由信息的改变时发送触发更新。 (C)EIGRP 的无穷度量为16。 (D)EIGRP 发送部分路由表更新,其中仅包含发生变化的路由。 (E)EIGRP 向网络中的所有路由器广播更新。 7.下列有关cisco RIP_JITTER 变量的陈述,哪一项是正确的? (A)它会在更新从路由器接口送出时缓冲更新,以此防止路由更新同步。 (B)它会从下一次路由更新间隔中减去随机时间段(大小为指定间隔时间的0% 到15%),以此防止路由更新同步。 (C)它会使路由器跳过每一个其它计划更新时间,以此防止路由更新同步。 (D)它会强制路由器在发送自身更新之前侦听链路上的其它更新是何时发送的,以此防止路由更新同步。 8.RouterA 与网络114.125.16.0 失去连接后,会发生什么情况?(选择两项。)

计算机网络距离矢量路由算法实验报告

计算机网络实验报告

距离矢量路由算法 一,实验内容: A D 设计一个算法,实现上面拓扑图的各个结点之间路由表的交换,要求显示出结点路由表的交换过程并显示每次交换结束后的各个结点保存的路由表的内容。最后显示交换了几次后各个结点路由表开始变得稳定。 二,算法设计: 首先创建一个类。它有两个成员变量。一个是二维数组型的x[i][j]用来存放从加点i到结点j的距离,一个是一位数组型的y[i]用来存放从源结点到目标结点i的路径上的第一个途经的结点。然后为每一个结点实例化一个对象用来存放此节点的路由表。初始化各个节点的路由表,如果两个节点之间有连线则将其之间的距离赋给x[i][j],y[j]=j.如果没有直接路径则设 x[i][j]=1000,y[j]=0.算法开始的时候各个结点交换路由表。比较如果有类似x[i][j]和x[j][k]的项则设置 x[i][k]=MIN(x[i][k],x[i][j]+x[j][k]),为了在结点A的邻居节点执行距离矢量路由更新时,它使用的是A的旧表,可以再设置两个二

维数组用来暂时存放各个节点的新路由表,待各个节点一次交换都完毕后在把暂存的新节点依次赋给各个节点的路由表。各个节点都执行此操作,为了确定供交换了几次可以设置一个标质量k.初始k=0,交换一次K就加一,最后k的值便是交换的次数。 三,遇到的问题及解决方案: 刚开始遇到这个题目是觉得无从下手,觉得这个图这么复杂函数循环又没有规律怎样让各个节点依次交换呢,又怎样判断什么时候各个节点的路由表变稳定呢?着一些列的问题使自己变得很烦躁。待到心情平静下来认真的一点一点推敲的时候发现只有七个节点,为每个节点设置一个交换函数也不麻烦而且这样思路便变得非常的清楚,至于怎样知道何时路由表稳定则我在每个结点函数中设置了一个标志量,在主函数中将其初始化为零,在下面的结点函数中都将其变成1,这样只有调用子函数这个标志量便会变成1,检测标质量是否为1来判断路由表是否变的稳定。 四,源代码 package wangluo; class Jiedian { int y[]=new int[8]; //存放路径上的下一个节点 int x[][]=new int[8][8]; //存放节点间的距离 } public class Luyou { public static void main(String[] args) { Jiedian a=new Jiedian();

RIP(距离矢量协议)

RIP协议 基本特征 ★路由信息协议(Routing Information Protocol) ★标准的距离矢量协议 ★以跳数为单位 ★只适合于小型网络 ★路由更新是周期性的 ★两种数据包:请求包、更新包 ★默认下是30s更新整个路由表,通过UDP520端口更新。(更新时间有15% 左右的偏差,一般在25.5~30s之间) ★版本:default(默认版本)、v1、v2 ★Rip协议没有邻居表,不知道其邻居位置 (若网络很大,则收敛很慢, 因此,有可能产生环路) ★解决环路的措施: 1)水平分割 (针对接口来说的) 2)毒性逆转(跳数<=15) 3)跳数 4)触发更新(只更新变化部分的内容) 5)时间抑制 ★v1和v2版本的共同点: 都是距离矢量协议; 都以跳数为度量值(<=15,16跳代表网络不可达); 都是周期性更新路由表; 管理距离(路由的可靠程度)都是120; 都支持触发更新; 都支持等价的负载均衡(默认是4条,最多支持6条); ★CDP协议(Cisco Discover Protocols)—>思科专有协议 (只有cdp可以看到别人的接口信息,其余的都只能看到自己的接口) ★被动接口

含义:如果一个接口被配成被动接口,则这个接口只接收路由,不发送路由;如果要发送,可以使用单播的方式发送; R1(config-router)#passive-interface 接口 ★默认版本或V1传递子网掩码(示例2) 在默认版本或V1汇总中,需要注意的问题: * 汇总的本质是在网络边界进行汇总,其内部网络还是可以传递子网掩码的; * rip的汇总是在接口上进行汇总的; RIP路由自动汇总,就是当子网路由穿越有类网络边界时,将自动汇总成有类网络路由。RIPv1和RIPv2缺省情况下将进行路由自动汇总。 ★ V2可以把自动汇总(auto-summary)关闭,但在V1中不可以。(示例3) 1)人工汇总可以更加精确的汇总,只存在无类中,有类中不存在; 在要汇总的接口上打“ip summary-address rip IP地址” (此法只适合汇总后的掩码大于主类地址的掩码) 2)#ip route 汇总IP地址 255.255.255.0 null 0 (人工静态路由汇总)(此法适合与汇总后掩码比主类地址小) ★ Rip V2 认证: 若配了明文和md5,则md5会覆盖掉明文认证; >>明文认证: R1(config)#key chain R1 Word key chain name R1(config-keychain)#key 1 <0-2147483647> Key identifier R1(config-keychain-key)#key-string ccie 0 Specifies an UNENCRYPTED password will follow 7 Specifies a HIDDEN password will follow LINE The UNENCRYPTED (cleartext) user password * 配好之后,要在接口上调用 如果同一时间有多个key,则只发送最小key下的密码,到对方依次匹配下去。 >> MD5认证: 同一时间有多个key,则发送key的num和密码,并且只往下面找一跳。

距离矢量路由组播协议

距离矢量路由组播协议 北京理工大学计算机学院 Distance Vector Multicast Routing Protocol---DVMRP (Class 07111304,School of Computer Science, Beijing Institute of Technology, Beijing 100081) Abstract IP Multicast provides all effective mechanism for communication and transmission. It can fully make use of the resource of the network, optimize the performance of the network and enable some distributed applications,Which can’t be realized by unicast or broadcast.The distance vector routing algorithm is used to follow different pruning strategies. The basic algorithm is reverse path forwarding. However, once a router no any host to group interest, and there is no connection to need to receive others routers on the multicast message, then it should with prune message as received in response to a multicast message, tell the neighbors do not send the message to give myself to send any message from the group. If a router itself is connected to the host that isn’t the member of the group, and from its previous forwarding multicast message on all routers having received such a message pruning, it also to prune a message in response to. Through this recursive method, the final pruning of a spanning tree. Distance vector multicast routing protocol is a multicast routing protocol. Key words Multicasting; distant vector multicast routing ; 摘要组播技术提供了一种有效的通信、传输方式,它可以充分利用网络资源,优化网络性能,使那些用单播或广播不可行的新型增值应用成为可能[1]。采用距离矢量路由算法,遵循不同的修剪策略。基本算法是逆向路径转发。然而,一旦一个路由器没有任何主机对某个组感兴趣,并且没有连接到需要接收该组播消息的其它路由器,那么它要用PRUNE消息作为接收组播消息的响应,告诉发送该消息的邻居不要再给自己发送任何来自该组的消息。如果一个路由器自己所连的主机没有一个属于该组成员,并且从它以前转发组播消息的所有线路都接收了这样的一个修剪消息,那么它也同样以PRUNE消息来响应。通过这种递归方式,最终修剪出一颗生成树。距离矢量组播路由协议就是以这种方式工作的组播路由协议。 关键词组播;距离矢量路由算法;修剪树;逆向路径转发 组播技术提供了一种有效的通信、传输方式,它可以充分利用网络资源,优化网络性能,使那些用单播或广播不可行的新型增值成为可能。比如多人游戏或者体育赛事视频直播到几个观看点,这样的应用将数据包发送给多个接收者。除非组的规模很小,否则每个接收者单独发不同的数据包代价会很昂贵。另一方面,如果在一个有百万节点组成的网络当中有一个由1000个机器组成的组,采用广播技术发送数据包显然也是一种浪费,因为大多数接收者对广播的消息并不感兴趣(甚至最糟糕的是他们虽然感兴趣,但不应该看到这些消息)。因此,我们需要有一种办法能够给明确定义的组发送消息,这些组的成员数量虽然很多,但相比整个网络规模 却小很多。 为了将数据包传递给组的成员同时又有效利用带宽,数据包可沿着生成树发送。然而,最佳生成树的使用取决于组的的密度分布。密集分布指接收者遍布在网络的大部分区域;稀疏分布指大部分网络都不属于组。如果组的分布是密集的,那么广播是一个良好的开端,因为他能有效的把数据包发到网络的每一个角落。但广播可能将到达一些不属于该组成员的路由器,因而也是一种浪费。 密集模式下利用组播方式传输、通信首先需建立生成树,然后修剪生成树得到一颗有效生成树,该树只用到那些抵达组成员真正需要的链路。生成树的修剪方式有许多种,距离矢量路由算法便是众 1

距离矢量路由协议中路由环路问题的解决方法

距离矢量路由协议中路由环路问题的解决方法 距离矢量路由协议中路由环路问题的解决方法: 概括来讲,主要分为六种: 1.定义最大值; 2.水平分割技术; 3.路由中毒; 4.反向路由中毒; 5.控制更新时间; 6.触发更新。 1.定义最大值: 距离矢量路由算法可以通过IP头中的生存时间(TTL)来纠错,但路由环路问题可能首先 要求无穷计数。为了避免这个延时问题,距离矢量协议定义了一个最大值,这个数字是指最 大的度量值(如rip协议最大值为16),比如跳数。也就是说,路由更新信息可以向不可到达的网络的路由中的路由器发送15次,一旦达到最大值16,就视为网络不可到达,存在故 障,将不再接受来自访问该网络的任何路由更新信息。 2.水平分割: 一种消除路由环路并加快网络收敛的方法是通过叫做“水平分割”的技术实现的。其规则就是不向原始路由更新的方向再次发送路由更新信息(个人理解为单向更新,单向反馈)。比如 有三台路由器ABC,B向C学习到访问网络10.4.0.0的路径以后,不再向C声明自己可以通过C访问10.4.0.0网络的路径信息,A向B学习到访问10.4.0.0网络路径信息后,也不再向B声明,而一旦网络10.4.0.0发生故障无法访问,C会向A和B发送该网络不可达到的路由更新信息,但不会再学习A和B发送的能够到达10.4.0.0的错误信息。 3.路由中毒(也称为路由毒化): 定义最大值在一定程度上解决了路由环路问题,但并不彻底,可以看到,在达到最大值之前,路由环路还是存在的。为此,路由中毒就可以彻底解决这个问题。其原理是这样的:假设有 三台路由器ABC,当网络10.4.0.0出现故障无法访问的时候,路由器C便向邻居路由发送

距离向量路由算法实验报告

信息安全_专业 1002_班 2012年12月20日 姓名吴文珊学号_0909102525 一.实验题目 模拟距离向量路由算法的路由表交换过程,演示每轮交换后路由表的变化,动态生成网络拓扑图,从初始路由表开始,进行交换路由表,演示每轮交换后的路由表的变化。观察和讨论多少轮交换后路由表稳定。 二.需求分析 本程序用C编写,完成距离向量路由算法的模拟。 (1)输入的形式与输出值的范围:输入时要求输入节点个数、初始网络拓扑图中边的条数(即:邻居节点的对数),节点名称、每条边的弧头、弧尾节点、边权值。名字定义为字符串形式,节点个数、边条数、边权值为整形变量; (2)输出的形式:输入信息后,程序输出每轮交换之后新的的路由表 (3)程序所能达到的功能:完成节点信息的输入、随机选取节点交换向量,并更新路由表,显示经过多少轮交换路由表稳定,并停止交换。 (4)测试数据: 节点个数:4 边条数:4 节点名称:a b c d

弧头弧尾权值 a b 3 b d 6 c a 2 d a 6 最终距离向量矩阵如下: a b c d a 0 3 2 6 b 3 0 5 6 c 2 5 0 8 d 6 6 8 0 三.概要设计 (1)为了实现上述功能,须定义结构体的抽象数据类型 (2)本程序包含了个函数: void visit(VertexType ver)//访问顶点的函数 void input(VertexType &ver) //输入顶点信息的函数 int LocateVex(MGraph G,VertexType u)//查找顶点u,并返回void CreateDN(MGraph &G)//构造有向网G GetVex(MGraph G,int v)//得到图中顶点V void Display(MGraph G)//显示路由表 void ShortestPath_Floyd()文档由风行播放器http://biz.doczj.com/doc/033153456.html,/ 暴风影音2014:http://biz.doczj.com/doc/033153456.html,/ 整理 各函数间关系如下: CreateDN() LocateVex() visit() Main() Display() GetVex()

距离矢量路由协议及路由环路

第七讲:距离矢量路由协议及路由环路 回顾昨天:提问:1、距离矢量路由协议包括哪几种?2、路由器是如何确定最佳路由的说出步骤? 今天内容:距离矢量路由协议及确保路由表条目的的正确的六种方法,及六种方法的结合使用。 一、距离矢量路由协议学习路由的方法首先明确一点,该协议并不能学到整个网络的拓扑。只能靠学习邻居路由表内容来学习路由。但每个路由表中只有最佳路径(也就是路由)。也就是说只有目的地方向(路由器接口)和距离,于是被叫距离矢量。 举例:高速路上开车,没有地图,出错,只能打听。而打听的人也不知道还要向另外的人打听(好比路由器问邻居路由器,邻居也不知道于是就要再问下一个邻居,这样收敛的速度可想而知) 1、距离矢量路由协议是通过传递路由更新 包来学习路由的(见图10-1),在图10-2到10-4是说明了RIP路由协议是怎样来学习路由的。在路由协议刚刚运行的时 候,路由器没有开始相互发送UPDATE 包,于是路由表里只有自己直连的网段,管理距离是0。如图10-2,路由器学到了自己直连的网段后便开始向邻居路由 器发送更新包了,此包里包含我们发布 的路由。(一台路由器所直接连接的网段

必须发布在路由协议里才能够被放到 UPDATE包里传送)这样路由器就学到 了其他路由器的路由了见图10-3。路由 器学到了邻居的路由再打包向邻居发, 这样所有路由器会学到所有的路由条 目。如图10-4(注意此图的RIP为RIPV2,找同学说为什么) #########注意:从以上可以看出距离矢量路由协议就是靠和邻居之间周期性 的交换路由表来一步一步学到远端路由的####### 2、路由更新包的格式决定了路由协议是有 类还是无类。 实际上有类的路由协议出现的比较早,当时没有出现子网。路由学到的都是正规的ABC 类网段。RIP V1等距离矢量路由协议的更 新包里没有放掩码位的地方,虽然能学到子网的网段但没有掩码来确定网络位,于是把学到的子网网段自动归为主类网从而学不到子网变成了事实。 RIP V2加入了放掩码的空间于是能用该掩码与学到的IP做与的运算,于是能学到子网 特例:见图10-5与昨天讲的图9-8做比较

RIP路由算法实现

RIP路由算法实现 【摘要】RIP协议作为一种最简单的内部网关协议,已经非常广泛的应用在网络的传输中。并且在未来的IPV6也是占据很重要的位置。RIP协议未来的发展与变化及其与其他内部网关协议的配合是很重要的事。 关键词RIP 协议OSPF 一、RIP协议介绍 RIP(Routing informatiom Protocol)是应用较早、使用较普遍的内部网关协议( Interior Gateway Protocol ,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。RIP协议是内部网关协议IGP中最广泛使用的协议,它是一种分布式的基于距离向量的路由选择协议,它最大的优点就是简单。在国家性网络中如当前的因特网,拥有很多用于整个网络的路由选择协议。作为形成网络的每一个自治系统,都有属于自己的路由选择技术,不同的 AS 系统,路由选择技术也不同。作为一种内部网关协议或 IGP(普通内部网关协议),路由选择协议应用于 AS 系统。连接 AS 系统有专门的协议,其中最早的这样的协议是“EGP”(外部网关协议),目前仍然应用于因特网,这样的协议通常被视为内部 AS 路由选择协议。RIP 主要设计来利用同类技术与大小适度的网络一起工作。因此通过速度变化不大的接线连接,RIP 比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。 二、RIP工作流程 Rip的工作流程图如下: 三、RIP的距离向量算法分析 矢量距离算法是路由器确定传播选路信息的一个经典算法,其思路是:路由器在其路由表中列出了所有已知的路由,路由器启动时,对路由选择表进行初始化,每个与自己相连的目的网络生成一个表项,并给出相应的距离,距离通常用跳(Hop)数来表示。每个路由器周期性地向与其直接相连的其他路由器发送自己

距离矢量路由协议RIP的配置

实验六·距离矢量路由协议RIP的配置 一.试验目的 通过本次试验,让读者了解RIP协议的工作原理及距离矢量算法生成路由表的过程。在路由器上通过设置运行RIP协议,并查看在路由器上所生成的最终路由表,是否和按照工作原理和距离矢量算法所生成的路由表相同,并对路由器建立路由表有一个深刻的认识。 二.实验要求 按照下图所示的网络模型示意图进行RIP协议的配置 (1)根据图和RIP协议的路由选择算法,先手工计算出各路由器的路由表; (2)在路由器和PC上进行相应的配置,以实现PC1和PC2之间使用RIP协议能够相互连通。各PC机和路由器的IP相关参数如下表所示。 设备端口IP 掩码默认网关 Router1 S0 20.1.0.1 255.255.255.0 E0 10.0.0.2 255.255.255.0 Router2 S0 20.1.0.2 255.255.255.0 S1 30.1.0.1 255.255.255.0 Router3 S1 30.1.0.2 255.255.255.0 E0 40.1.0.1 255.255.255.0 PC1 10.0.0.1 255.255.255.0 10.0.0.2 PC2 40.1.0.2 255.255.255.0 40.1.0.1 三.实验所需设备 3台cisco路由器,2台PC机 四.实验步骤 1.连接上图所示网络拓扑图,然后关闭并存盘boson network designer 软件 2.配置pc1计算机的ip地址和默认网关。使用命令如下: c>ipconfig /ip 10.0.0.1 255.255.255.0 c>ipconfig /dg 10.0.0.2

距离矢量路由算法

路由算法 距离矢量路由算法的具体实现 距离矢量路由算法的原理 距离向量路由算法(Bellman-Ford Routing Algorithm),作为距离向量协议的一个算法,如RIP, (RIP 跳最大跳数16)BGP。使用这个算法的路由器必须掌握这个距离表,它告诉在网络中每个节点的最远和最近距离。在距离表中的这个信息是根据临近接点信息的改变而时时更新的。这个在算法中的度量公式是跳跃的次数,等待时间,流出数据包的数量等等。 概括地说,距离向量算法要求每一个路由器把它的整个路由表发送给与它直接连接的其它路由器。路由表中的每一条记录都包括目标逻辑地址、相应的网络接口和该条路由的向量距离。当一个路由器从它的相邻处收到更新信息时,它会将更新信息与本身的路由表相比较。如果该路由器比较出一条新路由或是找到一条比当前路由更好的路由时,它会对路由表进行更新:将从该路由器到邻居之间的向量距离与更新信息中的向量距离相加作为新路由的向量距离。在距离向量路由算法中,相邻路由器之间周期性地相互交换各自的路由表备份。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。 距离矢量路由算法在理论中可以工作,但在实践中有一个严重的缺陷:虽然它总是能够达到正确的答案,但是它收敛到正确答案的速度非常慢,尤其是,它对于好消息的反应非常快,但是对于坏消息的反应非常迟缓。 程序源代码(c语言) #include "" #include "" n"); getch(); return; } else printf("\n路由表初始:\n"); InitData(pfile);

fclose(pfile); for (i = 0; i 0) printf("<%c %d> ", j + 65, data[i][j].dis); printf("\n"); } .] : ", 0, ROUTNUM - 1); scanf("%d", &start); printf("输入终点路由节点数字(%d-%d)[0代表A,1代表B...] : ", 0, ROUTNUM - 1); scanf("%d", &end); if (start == end || start < 0 || start > 6 || end < 0 || end > 6) { printf("\n输入错误,请按任意键退出\n"); getch(); return; } else { int cur = start; int total = 0; if (data[start][end].dis < 0) { printf("没有路由路径发现!\n"); getch(); return;

相关主题