欢迎来到天天文库
浏览记录
ID:1313980
大小:215.70 KB
页数:29页
时间:2017-11-10
《通信网原理课程设计报告new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中南大学通信网原理课程设计报告专业班级电子信息1002班姓名学号指导教师陈科文、支国明、周扬设计时间2013年7月电子信息工程系信息科学与工程学院目录第一章距离矢量路由算法实现11.1、课程设计目的与主要任务11.1.1、课程设计目的11.1.2、课程设计主要任务11.2、课程设计题目和设计21.3、设计思想31.4、编程实现过程的详细说明51.4.1、程序界面设计51.4.2、总体工作流程图51.4.3、关键函数和语句的说明61.4.4、设计结果的演示与分析等。101.5、设计总结111.6、参考文献111.7、附录:源程序代码12第二章文件传输192.1、课程设计目的与主要任务192.1
2、.1、课程设计目的192.1.2、课程设计主要任务192.2、课程设计题目和设计202.3、设计思想212.4、编程实现过程的详细说明232.4.1、程序界面设计232.4.2、总体工作流程图232.4.3、设计结果的演示与分析242.5、设计总结272.6、参考文献272.7、附录:源程序代码28第一章距离矢量路由算法的实现1.1课程设计目的及主要任务本次课程设计的目的是通过将理论与实践相结合,使学生进一步深入理解通信网的工作原理,掌握网络应用开发技术,学会应用所学理论知识来分析和解决实际问题,培养网络技术研究与开发的基本能力以及创新精神。本课程设计的主要任务是在掌握计算机网络TCP/IP
3、等典型协议原理的基础上,通过编程设计对网络协议或算法进行模拟实现,并应用相应网络协议来开发一个网络应用系统。1.2课程设计要求(1)系统功能要求:编写距离矢量路由选择算法演示程序,能根据网络拓扑和线路延迟的变化自动更新路由表,并输出结果。可从文件(格式自定)中读取网络拓扑结构,包括连通状态和直连两点间延迟,可输出任一点的邻接结点和对应的延迟。按照图的最短路径算法构造网络的初始路由表,能输出任意两点间的延迟和最短路径;可以改变任一点邻接结点的路由表和之间的延迟,按照距离矢量路由选择算法计算出新的路由表。要求:能正确的输出路由信息。(2)运行条件:基于C_free程序的平台(3)用户操作要求:能
4、够输入相应路由值,并能继续或结束程序运行1.3设计思想(1)实验原理:路由以矢量(距离、方向)的方式被通告出去的,其中距离是根据度量来定义的,方向是根据下一跳路由器定义的。被认为是“依照传闻进行路由选择”,RIP协议使用距离矢量算法,网络工作时路由器之间利用此协议更新路由表项,每隔2分钟更新一次。路由表项格式:(direction,jump,next)分别表示目的网络地址,跳数(距离),下一跳路由地址当某路由器A收到相邻路由器B发来的路由信息(D,J,N)后执行以下分析:首先修改(D,J,N)——>(D,J+1,B)1如果A没有到D的路由信息,则生成路由表项(D,J+1,B);否则22A有到
5、D的路由信息(D,?,B)?就是1~16任意值,则将其更新为(D,J+1,B);否则33A有到D的路由信息(D,K,X)其中K>J+1,X!=B,则将其更新为(D,J+1,B);否则44什么都不做。这是自己做本实验时总结的原理。(2)关键问题:要实现线路延迟的变化即时更新路由表;构造最短路径程序。1.4程序设计(1)流程图接受到数据包YES广播帧广播帧?NOYES将帧发送到其上层为本设备的帧?NO目的设备为本设备的子设备YES直接到目的设备路由NONO是否有路由能力NONONO是否选择路由为该目的路由沿树选择路由YESYES开始选择最短路由到下一跳路由(2)关键函数说明:第一个是INITDA
6、TA:voidInitData(FILE*pfile){charnum[10];inti=0;charc;intm,n;fseek(pfile,0,0);//文件指针从距0位置0距离开始读取for(m=0;!feof(pfile)&&m<7;m++)//feof(pfile),文件尾返回1,不是返回0.即不是文件尾部且m<7循环.{for(n=0;!feof(pfile)&&n<7;n++){while(!feof(pfile)){c=fgetc(pfile);//读取单个字节if(c==',')/*读完一个数字*/{num[i]=' ';//赋值为空data[m][n].dis=atoi
7、(num);//atoi将字符变成数字,将路由权值给data[][].disdata[m][n].from=-1;//直接相连下一跳全都赋值为-1i=0;break;}/*endofif*/elseif((c>='0'&&c<='9')
8、
9、c=='-')/*如果读到数字或符号.本题路由权值只能0到9*/{num[i++]=c;}/*endofelseif*/}/*endofwhile*/}/*endoffor
此文档下载收益归作者所有