计算机网络课设,计算校验和

计算机网络课设,计算校验和

ID:39998168

大小:257.35 KB

页数:11页

时间:2019-07-16

计算机网络课设,计算校验和_第1页
计算机网络课设,计算校验和_第2页
计算机网络课设,计算校验和_第3页
计算机网络课设,计算校验和_第4页
计算机网络课设,计算校验和_第5页
资源描述:

《计算机网络课设,计算校验和》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档目录摘要1课程设计目的12课程设计要求13相关知识14课程设计分析15程序代码16运行结果与分析17参考文献1文案大全实用文档1课程设计目的校验和是用于验证数据传输正确性的一种方法。在网络体系结构的各层协议中,很多网络协议都利用校验和来实现差错控制功能。本课程设计主要目的是通过完成一个简单例子,了解网络协议中的校验和计算过程。2课程设计要求根据校验和的算法,编写程序为给定数据计算校验和1)以命令行形式运行:Checksuminput_file其中Checksum为程序名,input_file为输入数据文件名2)输出内容:数据文件的校验和3相关知识1校验和的概念网络上的数据最终都是通过物

2、理传输线路进行传输的,如果高层没有采用差错控制,那么物理层传输的线路可能有差错。为了保证传输数据的正确性,在物理层的基础上设计了数据链路层。设计数据链路层的主要目的就是在原始的,有差错的物理传输线路的基础上,采用差错检测,差错控制和流量控制等方法。目前,进行差错检测和控制的主要方法是:发送方在需要发送的数据后面增加一定的冗余信息,这些冗余信息通常是通过对发送的数据进行某种算法计算而得到的。接收方对接收数据进行同样的计算,然后与数据后面附加的冗余信息进行比较,如果比较结果不同就说明在传输中出现了差错,并要求发送方重新传送该数据,以此达到确保数据准确性的目的。在普遍使用的网络协议中,通常都设置了校

3、验和字段以保存这些冗余信息,计算这些校验和的算法,就是将被校验的数据按16位进行累加,然后取反码,如果数据字节长度为奇数,则数据尾部补一个字节的0以凑成偶数。关于计算校验和算法的详细信息请参考RFC1071.2计算校验和有很多数学方法可以提高校验和的速度。1)交换性和结合性因为校验和主要考虑被校验数据中所包含字节的数量是奇数还是偶数,所以校验和的计算可以以任意顺序进行,甚至可以把数据进行分组后再计算。例如,用A,B,C,D,……,Y,Z分别表示一系列八位组,用[a,b]这样的字节来表示a*256+b的整数,那么16位校验和就可以通过以下形式给出:[A,B]+’[C,D]+’……+’[Y,Z][

4、1][A,B]+’[C,D]+’……+’[Z,0][2]在这里+’代表1补数加法,即将前面的16位校验和和按位取反。[1]可以以[A,B]+’[C,D]+’……+’[J,0]+’([0,K]+’……+’[Y,Z])[3]的形式进行计算。2)字节顺序的自主性文案大全实用文档打破被校验数据中的字节顺序仍可以计算正确的16位校验和。例如,我们交换字节组中两字节的顺序,得到[B,A]+’[D,C]+’……+’[Z,Y]所得到的结构与[1]式是相同的(当然结果也是要进行一次反转的)。为什么会是这样呢?我们发现两种顺序获得的进位是相同的,都是从第15位到第0位进位以及从第7位到第8位进位。这也就是说,交换

5、字节位置只是改变高低位字节的排列顺序但并没有改变他们的内在联系。因此无论底层的硬件设置中对字节的接收顺序如何,校验和都可以被准确地校验出来。例如,假设校验和是以主机序(高位字节在前低位字节在后)计算的数据帧,但以网络序(低位字节在前高位字节在后)存放在内存中。每一个16位的字中的字节在传送过程中都交换了顺序,在计算校验和之后仍会先交换位置再存入内存,这样就与接受到的原本以网络序存储的数据帧中的校验和项保持一致了。1)并行计算某些机器的字处理长度是16位的倍数,这样可以提高他的计算速度。由于加法所具有的结合性,我们没有必要按照顺序对每个字节进行累加。相反,我们可以利用这一特点对他们进行并行累加。

6、并行地计算校验和只是增加了每次累加信息的长度,例如,在一个32位的机器上,我们可以一次增加4个字节,即【A,B,C,D】+...。计算结束后再把累加和“折叠”起来,把一个32位的数值变成16位,这样产生的新的进位也要循环累加起来。此外,在此仍不需要考虑字节顺序问题,通过交换16位校验和中的字节序来得到正确的值。这些改变顺序的方法都是为了所有的偶数字节进入一个校验和字节,所有的奇数字节进入一个校验和字节。 3一些编码技术可以提高校验和的计算速度1)延迟进位法这种方法在主要的累加循环结束之后再把进位累加进和值。 其实现方式就是用32位的累加器获得16位校验和,这样溢出就产生在高16位上。这种方法避

7、免了累加器中进位传感器机构的设置,但是它要求的容量是原来的累加器容量的两倍,因此它更多地依赖于硬件条件。2)反向循环法这种方法可以减少由循环而产生的负荷,有效地展开内部的累加循环,把循环过程中的一系列加法命令复制下来。这种技术通常可以节省大量的时间,但是程序的逻辑设计会比较复杂。3)合并数据拷贝法计算校验和以及读入数据都需要将数据从内存的一个位置转移到另一个位置,这样会占用内存总线的带宽,而内存总

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。