网站大量收购独家精品文档,联系QQ:2885784924

通信网原理课程设计报告..docx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信网原理课程设计报告.

中 南 大 学通信网原理课程设计报告 专业班级 电子信息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.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等典型协议原理的基础上,通过编程设计对网络协议或 算法进行模拟实现,并应用相应网络协议来开发一个网络应用系统。1.2 课程设计要求(1)系统功能要求:编写距离矢量路由选择算法演示程序,能根据网络拓扑和线路延迟的变化自动更新路由表,并输出结果。可从文件(格式自定)中读取网络拓扑结 构,包括连通状态和直连两点间延迟,可输出任一点的邻接结点和对应的延迟。按照图的最短路径算法构造网络的初始路由表,能输出任意两点间的延迟 和最短路径;可以改变任一点邻接结点的路由表和之间的延迟,按照距离矢 量路由选择算法计算出新的路由表。要求: 能正确的输出路由信息。 (2)运行条件:基于C_free程序的平台(3)用户操作要求:能够输入相应路由值,并能继续或结束程序运行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);否则22 A有到D的路由信息(D,?,B)?就是1~16任意值,则将其更新为(D,J+1,B);否则33 A有到D的路由信息(D,K,X)其中K>J+1,X!=B,则将其更新为(D,J+1,B);否则44 什么都不做。这是自己做本实验时总结的原理。 (2)关键问题:要实现线路延迟的变化即时更新路由表;构造最短路径程序。1.4 程序设计(1)流程图YES广播帧?NOYES为本设备的帧?NO目的设备为本设备的子设备YESNONO是否有路由能力NONONO是否选择路由为该目的路由YESYES关键函数说明:第一个是INITDATA: void InitData(FILE *pfile){char num[10];int i = 0;char c;int m, n;fseek(pfile, 0, 0); //文件指针从距0位置0距离开始读取for (m = 0; !feof(pfile) m 7; m++) //feof(pfile),文件尾返回1,不是返回0.即不是文件尾部且m7循环.{for (n = 0; !feof(pfile) n 7; n++){while (!feof(pfile)){c = fgetc(pfile); //读取单个字节if (c == ,)/*读完一个数字*/{num[i] = \0; //赋值为空data[m][n].dis = atoi(num);//atoi将字符变成数字,将路由权值给data[][].disdata[m][n].from = -1; //直接相连下一跳全都赋值为-1i = 0;break;} /*end of if*/else if ((c = 0 c = 9) || c == -)

文档评论(0)

sa43sad5 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档