校验与ip地址.doc

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

计算机网络课程设计报告 学院 ******** 班级 J电信工程1002 姓名 ****** 学号 ********** 指导教师 **** 2013年6月21日 课程设计一:计算校验和 一、课程设计的目的 网络上的信号最终都是通过物理传输线路进行传输的,如果高层没有采用差错控制,那么物理层传输的数据信号是可能有差错的。为了保证数据的正确性,在物理层的基础上设计了数据链路层。设计数据链路层的主要作用就是在原始的、有差错的物理传输线路的基础上,采用差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,以向网络层提供高质量的服务。本课程设计主要通过一个简单例子使学生了解网络协议中校验和的计算过程,以及设置校验和的作用。 目前,进行差错检测和差错控制的主要方法是:在需要传输的数据分组后面加上一定的冗余信息,这样的冗余信息通常都是通过对所发送数据应用某种算法进行计算而得到的。数据的接收方在接收到数据后进行同样的计算再与收到的冗余信息进行比较,如果结果不同就说明出现了差错,此时可以要求发送方重传该数组数据,以此达到数据准确性的目的。 在普遍使用的网络协议中都设置了校验和项以保存这些冗余信息,例如Ipv4、ICMPv4、IGMPv4、ICMPv6、UDP和TCP等等。 计算校验和的算法称为国际校验和算法,简单来说,就是把被校验的数据按16位进行累加,然后取反码。若数据字节长度为奇数,则在这数据尾部补一个字节的0以凑成偶数。关于计算校验和算法更详细的信息请参考RFC1071。 二、课程设计要求 根据前面介绍的算法,编制程序为给定数据计算校验和。 以命令形式运行:check_sum infile 其中check_sum为程序名,infile为输入数据文件名。 输出:数据文件的校验和。 课程设计分析 校验过程分为三个步骤:数据文件的传输、校验和的计算、校验结果的输出。其中,主要的是数据的输入和校验和的计算过程。 1)将读入的ASCII码转化为相应的整型变量。 if(ch=0ch=9) ch-=0; else if(ch=ach=f) ch=ch-a+10; else if(ch=Ach=F) ch=ch-A+10; 2)校验和的计算。 if(count%2==1) charh=ch4; else { charl=ch0x0f; chr=charh|charl; if(count%4==2) sum+=chr8; else if(count%4==0) sum+=chr; printf(%x--%lx ,chr,sum); } 四、程序流程图 程序开始,初始化从文件读取一个字符chch=EOF? 程序开始,初始化 从文件读取一个字符ch ch=EOF? ch=’ ’ ch转换为相应的8为数据,count++ count偶数? ch低4位送入chr高4位 ch低4位送入chr低4位 得到chr值 (count/2)%2=1? chr和sum高8位相加 chr和sum低8位相加 得到sum值 将32位sum折叠到16位 Y Y Y N Y N 求sum反码并输出 结束 运行截图 1)在D盘新建“jiaoyan.txt”文件,输入数据。并修改程序打开文件的位置。 2)校验运行后的结果。 设计体会 通过这次实验给我的最大感受就是上学期学的《计算机网络》这本书的知识遗忘了很多,印象比较模糊,虽然知道从这本书中学了什么但是很多细节和具体的内容已经记

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档