RIP路由协议原型系统的实现(谢刚)_第1页
RIP路由协议原型系统的实现(谢刚)_第2页
RIP路由协议原型系统的实现(谢刚)_第3页
RIP路由协议原型系统的实现(谢刚)_第4页
RIP路由协议原型系统的实现(谢刚)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上专心-专注-专业课课程程设设计计报报告告课程名称:课程名称: 计算机网络 设计题目设计题目: RIP路由协议原型系统的实现 系系 别:别: 计算机与信息工程学院 专专 业:业: 物联网专业 组组 别:别: 第五组 -起止日期起止日期: : 2014 年 6 月 8 日 2014 年 6 月 14 日-指导教师指导教师: : 刘进军 计算机科学与技术系二计算机科学与技术系二一四年制一四年制精选优质文档-倾情为你奉上专心-专注-专业组长谢刚学号88班级2012 级物联网系别计算机与信息工程学院专业物联网专业组员谢刚指导教师老师 刘进军课程设计目的1)进一步理解动态内部网关

2、协议 RIP 的工作原理。2)学会将所学知识联合运用,如本次 RIP 协议原型系统的设计即是将网络与数据结构(图)及 C 编程语言相结合。3)提高团队合作能力,发挥每一名组员的长处。4)体会做一个项目的流程(包括前期的资料收集,系统要求分析,系统实现的语言选择及实现方法的讨论等) 。课程设计所需环境1)Windows 操作系统平台2)VC+编译环境3) Cisco Packet Tracer 仿真软件课程设计任务要求1)实现一个 RIP 路由协议的原型系统2)广播发布本地节点的路由信息3)其它节点接收信息并选择最优路径4)支持最大不超过 15 跳的特性5)动态支持网络拓扑结构的变化(如增加路由

3、节点)课程设计工作进度计划序号起止日期工 作 内 容分工情况12014 年 6 月 8 日2014 年 6 月 9 日展开思路讨论工作并搜集相关资料参考相关资料独立完成22014 年 6 月 9 日2014 年 6 月 10 日分析课程设计要求,确定目标参考相关资料独立完成32014 年 6 月 10日2014 年 6 月 11 日设计软件功能模块参考相关资料独立完成42014 年 6 月 11日2014 年 6 月 12 日编写代码、实现功能模块参考相关资料独立完成52014 年 6 月 12日2014 年 6 月 13 日系统整合以及测试参考相关资料独立完成62014 年 6 月 13日2

4、014 年 6 月 14 日完成课程设计文档参考相关资料独立完成教研室审核意见:教研室主任签字: 年 月 日精选优质文档-倾情为你奉上专心-专注-专业课程设计任务书课程设计任务书目目 录录1.1. 引言引言. 4 42.2. 系统开发分析系统开发分析. 4 4 系统需求分系统需求分析析. 4 4 系统设计原理系统设计原理443.3. 系统功能描述与软件模块划系统功能描述与软件模块划分分.5.54.4. 系统设计详细系统设计详细. 5 5 程序流程图程序流程图 6 6 程序源代码程序源代码77 5.5. 设计过程关键问题及其解决方法设计过程关键问题及其解决方法. 1010 如何实现广播本地路由及

5、更新动态更新路由表如何实现广播本地路由及更新动态更新路由表. 1010 如何在网络拓扑结构改变后实现动态更新维护路由表如何在网络拓扑结构改变后实现动态更新维护路由表.11.116.6. 程序设计结果界面演程序设计结果界面演示示1111 设计结果演设计结果演示示.11.117.7. 课程设计总结与体课程设计总结与体会会1515 总结总结.15.15 体会体会.17.17致致谢谢1717参考文参考文献献1818精选优质文档-倾情为你奉上专心-专注-专业1 1 引言引言 RIP(Routing information Protocol,路由信息协议)是应用较早、使用较普遍的内部网关协议(Interi

6、or Gateway Protocol,IGP) ,适用于小型同类网络的一个自治系统(AS)内的路由信息的传递。RIP 协议是基于距离矢量算法(DistanceVectorAlgorithms)的,在默认情况下,RIP 使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为 115,数值 16 表示无穷大。它使用“跳数” ,即 metric 来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在 15 跳(15 度)之内,再远,它就不关心了。RIP 进程使用 UDP 的 520 端口来发送和接收 RIP 分组。RIP 分组

7、每隔 30s 以广播的形式发送一次,为了防止出现“广播风暴” ,其后续的的分组将做随机延时后发送。在 RIP中,如果一个路由在 180s 内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP 应用于 OSI 网络七层模型的网络层。RIP 是一个用于路由器和主机间交换路由信息的距离向量协议,目前最新的版本为 v4,也就是 RIPv4。2 2系统开发分析系统开发分析 系统需求分析1.实现一个 RIP 路由协议的原型系统。2.广播发布本地节点的路由信息。精选优质文档-倾情为你奉上专心-专注-专业3.其它节点接收信息并选择最优路径。4.支持最大不超过 15 跳的特性。5.动态支持网络

8、拓扑结构的变化(如增加路由节点) 系统设计原理RIP 协议是动态路由协议,其运行至路由器中,而路由器是运行路由协议软件的专用硬件,它的主要功能可以分成两部分:路由选择和分组转发。其中路由选择是基础。一个路由器对到来的每一个分组先选择合适的路由,然后才能依据此路由进行正确的转发,本次课程设计就是设计有着广泛的使用范围的动态路由协议 RIP 协议体统原型。它是距离向量协议中的一种,属于内部网关协议。运行协议的相邻路由器通过彼此之间交换路由信息RIP 的距离向量,从而知道网络的连接情况,实现各个网络之间的连通,这也是距离向量名称的由来。(Distance Vector)运行协议的每个路由器都要维护一

9、张自己的路由 RIP 表,该路由表是相应于与它直接相联和通过路由器相连的网络连接情况而动态变化的。因此协议属于动态路由协 RIP 议。路由器根据路由表对发给它的包进行转发,从而实现 IP 路由功能。3 3系统功能描述与系统模块划分系统功能描述与系统模块划分本设计实现的 RIP 路由协议的原型系统功能主要包括,一:初始化每个路由器的路由表信息。即在使用者输入网络拓扑结构中的路由节点数及链路数后,系统首先会自动生成每个节点到其相邻路由节点的路由信息,具体包括:目的地址、跳数、下一跳,初始设置相邻节点的跳数为 1。 二:当路由器的初始路由表建立后,接下来就开始进行邻接节点的路由信息广播,即路由节点将

10、自身的路由表信息广播至其相邻的节点,具体的广播信息是将每一条路由的目的地址不变,跳数加一,吓一跳修改为自身路由器接口的名称进行传送,收到广播信息的路由表对收到的每一条路由信息进行判断,分两大情况::若原来的路由表中没有目的网络 N,则将该项添加到路由表中,否则(即在该路由表中有到目的网络 N 的信息,则观察下一条)此时分两种小情况 1:若吓一跳与原路由表项相同,则无条件进行更新。2:若吓一跳与原路由表项不相同,则若收到的路由信息中距离 d 小于路由表中的距离,则进行更新。 (还有对于接受的路由信息跳数=16 的信息,则将跳数置为 16,表明不精选优质文档-倾情为你奉上专心-专注-专业可达。 )

11、三:动态改变网络拓扑结构,即当因为实际需要,需增设路由节点时,系统会根据增设的路由节点数、名称、链路数,首先进行新增设节点的路由表信息初始化,而后将该节点的路由信息想邻接节点进行广播,随后整个网络节点向邻接节点进行路由信息广播,这样经过几轮广播后,每一个节点都接收到了新增路由节点的最小路径信息,从而实现了路由表的动态维护与创建。4 4系统设计详细系统设计详细4,1 程序流程图精选优质文档-倾情为你奉上专心-专注-专业开始输入要建立网络的拓扑结构所需路由节点数及链路数各路由节点向邻接节点广播路由信息各节点接收信息便进行路由表的更新建立各节点的初始路由表广播信息内容:目的地址:不变跳数:加 1吓一

12、跳:修改为广播该路由信息的路由节点名称若原来的路由表中无到此网络的信息,则添加,否则 1:若吓一跳与原路由表项相同,则无条件进行更新。2:若吓一跳与原路由表项不相同,则判断距离 d 若小于路由表中的距离,则更新。 (还有对于接受的路由信息跳数=16 的信息,则将跳数置为16)节点路由信息更新完毕,询问是否还需添加新的路由节点否结束是初始化新增路由节点路由表精选优质文档-倾情为你奉上专心-专注-专业程序源码因为系统的设计涉及到网络拓扑图的存储,所以本设计采用数据结构中图的存储思想来进行拓扑结构的存储,输出。下面是系统设计的主要代码:首先分别设置了 4 种类型的结构体,以来表示链路信息、路由表、路

13、由器,网络拓扑图。#include#include#define MAX_VERTEX_NUM 15#define MAX 15#include typedef struct ArcCell;i.t0=end;for(i=0;i;i+)dj=10000;for(k=0;k;k+)dj=1;ji.adj=1;exnum;i+) if(compare(s,(*G).vexi.r)=1)return i;return -1;exi.tm.distance!=0;m+);copy(*G).vexi.tm.destination,(*G).vexj.r);(*G).vexi.tm.distance=1;

14、copy(*G).vexi.tm.nextjump,(*G).vexi.r);(*G).vexi.tm+1=end;for(n=0;(*G).vexj.tn.distance!=0;n+);copy(*G).vexj.tn.destination,(*G).vexi.r);(*G).vexj.tn.distance=1;copy(*G).vexj.tn.nextjump,(*G).vexj.r);(*G).vexj.tn+1=end;exnum;i+)for(j=0;j16) =16;copy,(*G).vexi.r);精选优质文档-倾情为你奉上专心-专注-专业count=0;for(h=0;

15、(*G).vexj.th.distance!=0;h+)if(compare,(*G).vexj.r)=1)exj.th.destination,=1)count+;if(compare(*G).vexj.th.nextjump,=1)(*G).vexj.th.distance=;else if(*G).vexj.th.distance(*G).vexj.th.distance=;copy(*G).vexj.th.nextjump,;if(count=0)copy(*G).vexj.th.destination,;(*G).vexj.th.distance=;copy(*G).vexj.th.

16、nextjump,;(*G).vexj.th+1=end;exi.r,(*G).vexj.r);printG(G);exnum+(*G).vexnum.r);(*G).vexnum+(*G).vexnum.t0=end; (*G).vexnum+=nVexNum;(*G).arcnum+=nArcNum;for(k=0;knArcNum;k+)rcsij.adj=1; (*G).arcsji.adj=1; initRoute(G,i,j);for(i=0;i(*G).vexnum;i+)exnum;j+)if(*G).arcsij.adj!=1)(*G).arcsij.adj=10000;Ex

17、change(G);exnum;i+)精选优质文档-倾情为你奉上专心-专注-专业printf(t 路t 由t 器%s:n,(*G).vexi.r);printf(目的地址tt 距离tt 下一跳nn);for(j=0;(*G).vexi.tj.distance!=0;j+)printf(%sttt%dtt%snn,(*G).vexi.tj.destination,(*G).vexi.tj.distance,(*G).vexi.tj.nextjump);printf(nn);istance!=0;i+)printf(%sttt%dtt%snn,i.destination,i.distance,i.

18、nextjump); printf(nn);程序输入数据界面与按下ENTER 键后各路由表的初始路由信息如图 1-2 4接下来改变原始网络拓扑结构,增加新的路由节点,如图 1-3 中拓扑结构所示:精选优质文档-倾情为你奉上专心-专注-专业 图 1-3运行命令后输入如下:输入新增第 1 个路由器名称:v4输入新增路由节点后第 1 条链路的两端路由器的名称:v2 v4 增加路由结点输入界面如图 1-4 所示: 图 1-4按下 ENTER 键程序进行 v4 路由器的路由表信息初始化及路由信息广播:V4 路由表初始信息动态生成如图 1-7: 图 1-5V2 向 v4 广播信息如图 1-6 所示:精选优

19、质文档-倾情为你奉上专心-专注-专业 图 1-6几轮广播信息结束后,各路由节点路由信息如下图 1-7 与 1-8 所示:图 1-8精选优质文档-倾情为你奉上专心-专注-专业 图 1-95.若还需要在原有的网络拓扑结构中继续增加新的节点,再输入#键,按以上步骤继续操作,能实现不断增加路由结点以及链路,并将路由表的持续更新。7 7课程设计总结与体会课程设计总结与体会 总结总结 本次课程设计是我懂得了 RIP 适用于小型同类网络的一个自治系统(AS)内的路由信息的传递路由实现时,而 RIP 作为一个系统长驻进程(daemon)而存在于路由器中,负责从网络系统的其它路由器接收路由信息,从而对本地 IP 层路由表作动态的维护,保证IP 层发送报文时选择正确的路由。同时负责广播本路由器的路由信息,通知相邻路由器作相应的修改 体会体会这次课程设计完成了 rip 路由协议原型系统的实现,方案中路由节点能够利用广播发布本地节点的路由信息,其它节点接收信息并选择最优路径。精选优质文档-倾情为你奉上专心-专注-专业本次设计查阅了许多案例,学到许多知识,原先很多不懂的东西,都有了初步的了解。这次课程设计使我觉得收获挺大的。之前的学习仅限于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论