路由器查表过程模拟.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计题目路由表的查找模拟
课程设计报告
课程名称:局域网技术
设计题目:路由表查找过程模拟
系别:计算机与信息工程学院
专业:网络工程
组别:第一组
起止日期 : 2012 年 6 月 11 日~ 2012 年 6 月 24 日
指导教师 :
计算机科学与技术系二○一二年制
组长学号班级
院部计算机与信息
网络工程
专业
工程学院
组员
指导教师
通过课程设计 ,加深对路由表的理解,掌握路由表查找课程设计目的的基本原理及功能,具有初步分析实际路由表的组成、构
造,并具备准确查找路由表的能力。
课程设计所需环境课程设计任务要求
Windows XP,VC++6.0
本设计的目的是通过设计一个简单的路由表查找过程
的模拟来模拟实际网络中路由变化的过程,以掌握这种有
用的技术。要求通过距离矢量的 rip 协议和链路状态的 ospf 协议来分别实现路由表的查找过程。
课程设计工作进度计划
序号起止日期工作内容分工情况
12012.6.11开会分析讨论,作工作分工史言负责对小组成员进行分工
2 6.12~6.12作具体分析,查询相关资料
3 6.13~6.15 编写源代码
4 6.16~6.17 对源程序进行调试
5 6.18~6.22 写课程设计报告
6 6.23~~6.24 与老师交流,完善报告,并
打印
教研室审核意见:
教研室主任签字:年月日
课程设计任务书
目录
1 引言 (1)
2 需求分析 (1)
2.1 设计目的 (1)
2.2 设计主要内容及要求 (1)
2.2.1设计内容 (1)
2.2.2设计要求 (2)
2.2.3使用环境及语言 (2)
3 概要设计 (2)
3.1 基本功能描述 (2)
3.1.1路由表的结构 (2)
3.1.2路由表的作用 (2)
3.1.3路由表中路由的来源 (3)
3.2 IP 路由选择 (3)
3.2.1通过RIP(路由信息协议)来实现路由选择 (3)
3.2.2通过OSPF(开放最短路径优先) 来实现路由选择 (5)
3.2.3 Dijkstra算法 (5)
⒋详细设计 (6)
4.1 各模块的伪码算法 (6)
4.1.1 RIP (6)
4.1.2 ospf (10)
5 调试与结果说明 (13)
5.1. RIP
的调试结果 (13)
5.2. OSPF
调试结果 (14)
⒍课程设计总结与体会 (17)
致谢 (17)
参考文献 (18)
附录 (18)
课程设计的主要内容
1引言
随着计算机信息技术的发展,大规模的互联网逐渐流行起来,也为路由器的发展提供了
良好的基础和平台。作为不同网络之间互相连接的枢纽,路由器系统构成了基于TCP/IP 的国际互联网络Internet 的主体脉络。然而如何准确的发送并接受信息,则需要通过路由表的
准确查找,路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度
量值)。通过路由表查找过程的设计与模拟可以更好的体现路由的选择,帮助我们准确的理
解路由的选择过程。
2需求分析
2.1 设计目的
该程序主要是用来模拟路由器中路由查找的过程。当主机向目的网络发送一个数据包
时,对每一个IP 包,当发送到一个网络拓扑中的时候,可以分别使用RIP 或 OSPF 协议,来决定数据包通过互联网络的路径。通过模拟算法的实现,我们可以模拟一个简单的路由查
找过程,进而找出最优路径,实现路由的查找
2.2 设计主要内容及要求
2.2.1 设计内容
1. rip :距离向量路由协议,距离向量路由协议的特征是它在进行路由更新时,会发送
路由表的全部或一部分给邻居路由器(这台邻居路由器也必须运行rip 协议),当路由信息通过这种方式扩散到整个自治系统时,每个路由器会根据Dijkstra 算法计算出到达每个网段
的最优路径,rip 选择到达某个网络的最优路径根据跳数。数据包经过一个路由器就是一跳。
2.ospf:路由器的路由选择是基于链路状态,通过Dijkastra 算法建立起来最短路径树,
用该树跟踪系统中的每个目标的最短路径。最后再通过计算域间路由、自治系统外部路由确
定完整的路由表。与此同时,OSPF 动态监视网络状态,一旦发生变化则迅速扩散达到对网
络拓扑的快速聚合,从而确定出新的网络路由表。因此,需要把自治系统划分为多个域,每
个域内部维持本域一张唯一的拓扑结构图,且各域根据自己的拓扑图各自计算路由,域边界路由器把各个域的内部路由总结后在域间扩散。这样,当网络中的某条链路状态发生变化时,
此链路所在的域中的每个路由器重新计算本域路由表,而其它域中路由器只需修改其路由表
中的相应条目而无须重新计算整个路由表,节省了计算路由表的时间。
2.2.2 设计要求
任意两个节点,分别在rip 和 ospf 协议的前提条件下,根据相应的算法找出最优路径。在 rip 协议中,所有的路由都由跳数来描述,到达目的地的路由最大不超过16 跳,且只保留唯一的一条路由,这就限制了RIP 的服务半径,即其只适用于小型的简单网络。同时,
运行 RIP 的路由器需要定期地(一般30s)将自己的路由表广播到网络当中,达到对网络拓
扑的聚合,这样不但聚合的速度慢而且极容易引起广播风暴、累加到无穷、路由环致命等问题。
为此, OSPF 应运而生。 OSPF 是基于链路状态的路由协议,它克服了RIP 的许多缺陷:第一, OSPF 不再采用跳数的概念第二,OSPF支持不同服务类型的不同代价,从而实现
不同 QoS 的路由服务;第三, OSPF 路由器不再交换路由表,而是同步各路由器对网络状态
的认识,即链路状态数据库,然后通过Dijkstra 最短路径算法计算出网络中各目的地址的最
优路由。
2.2.3 使用环境及语言
编程环境: Microsoft Visual C++6.0
编写语言: C++ 语言
3 概要设计
3.1 基本功能描述
3.1.1 路由表的结构
标准的路由表表目是一个二维组(目的网络地址,下一站地址),其中不携带子网信息,不能满足子网寻径。引入子网编址以后,路由表的每一表目中加入子网掩码,于是路由表表目变为三维组:子网掩码、目的网络地址、下一站地址。表 1 路由表结构及使用
表 1 路由表结构及使用
目的地址掩码下一跳地址
0.0.0.00.0.0.010.0.0.1
100.0.0.0255.255.255.020.0.0.1
200.0.0.0255.255.255.030.0.0.1
路由器依据路由表来为报文寻径,路由表由路由协议建立和维护。路由协议的设计则是依据某种路由算法。路由器提供了将异构网互联的机制,实现将一个数据包从一个网络发送到另一个网络。路由就是指导IP 数据包发送的路径信息
3.1.2 路由表的作用
路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据