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

中南大学通信网原理课程设计报告.docxVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中南大学通信网原理课程设计报告

中 南 大 学通信网原理课程设计报告专业班级 电子信息班 姓名学号 周创创指导教师 陈科文、张金焕 设计时间 2014年7月 电子信息工程系 信息科学与工程学院 第一章 距离矢量路由算法的实现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)流程图关键函数说明:第一个是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到9*/{num[i++] = c;} /*end of else if*/} /*end of while*/} /*end of for (n = 0*/} /*end of for (m = 0*/}第二个是Outputroutdata: void OutputRoutData(){int i, j;printf( );for (i = 0; i MAX_ROUTES; i++){printf( %c , i + 65);}printf(\n);for (i = 0; i MAX_ROUTES; i++){printf(%c , i + 65);for (j = 0; j MAX_ROUTES; j++){if (data[i][j].dis 0)//如果无路径printf( -);elseif(data[i][j].dis=10)prin

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档