网络协议中校验和的计算

网络协议中校验和的计算

ID:37053942

大小:132.00 KB

页数:10页

时间:2019-05-15

网络协议中校验和的计算_第1页
网络协议中校验和的计算_第2页
网络协议中校验和的计算_第3页
网络协议中校验和的计算_第4页
网络协议中校验和的计算_第5页
资源描述:

《网络协议中校验和的计算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、沈阳理工大学课程设计专用纸No9目录1课程设计目的12课程设计要求13相关知识14课程设计分析45程序清单及注释76运行结果及分析87参考文献9沈阳理工大学沈阳理工大学课程设计专用纸No91课程设计目的在普通使用的网络协议中都设置了校验和项以保存冗余信息,例如IPV4、ICMPV4、IGMPV4、ICMPV6、UDP和TCP等等。网络上的信号最终都是通过物理传输进行传输线路进行传输的,如果高层没有采用差错控制,那么物理层传输的数据信号是可能有差错的。为了保证数据的正确性,在物理层的基础,计了数据层。设计数据链路层的主要作用就

2、是在原始的、有差错的线路改进成逻辑上无差错的数据链路,以向网络层提供高质量的服务。本课程设计主要通过一个简单例子使学生了解网络协议中校验和的计算过程,以及设置校验和的作用。目前,进行了差错检测和差错控制的主要方法是:在需要传输的数据分组后面加上一定的冗余信息通常都是通过对所发送的数据应用某种算法进行计算而得到的。数据的接收方在接收到数据后进行同样的计算再与收到的冗余信息进行比较不,如果结果不同说明出现了差错,此时可以要求发送方重传该组数据,以此达到保证数据准确性的目的。2课程设计要求根据前面介绍的算法,编制程序为给定数据计算

3、校验和。(1)、以命令行形式运行:check_suminfile其中check_sum为程序名,infile为输入数据文件名。(2)、输出:数据文件的校验和。3相关知识1一些编码技术可以提高校验和的计算速度(1)延迟进位法这种方法在主要的累加循环结束之后再把进位累加进和值。其实现方式就是用32位的累加器获得16位校验和,这样溢出就产生在高16位上。这种方法避免了累加器中进位传感器机构的设置,但是它要求的容量是原来的累加器容量的两倍,因此它更多地依赖于硬件条件。(2)反向循环法沈阳理工大学沈阳理工大学课程设计专用纸No9这种方

4、法可以减少由循环而产生的负荷,有效地展开内部的累加循环,把循环过程中的一系列加法命令复制下来。这种技术通常可以节省大量的时间,但是程序的逻辑设计会比较复杂。(3)合并数据拷贝法计算校验和以及读入数据都需要将数据从内存的一个位置转移到另一个位置,这样会占用内存总线的带宽,而内存总线的传输效率是提高校验和计算速度的瓶颈,尤其是对于某些机器(如一些简单的慢速的微型机)来说,这一问题尤为严重。为了解决这个问题,可以把数据读入的过程与校验的过程合二为一,也就是在读入数据的同时计算校验和,这样就可以省去一次数据移动的过程,从而提高校验和

5、的计算速度。2计算校验和有很多数学方法可以用来提高校验和的计算速度,下面我们将就此展开讨论。(1)交换性与结合性因为校验和主要考虑被校验数据中所包含字节数量的是奇数还是偶数,所以校验和的计算可以以任意顺序进行,甚至可以把数据进行分组后再计算。例如,用A、B、C、D,……,Y,Z分别表示一系列八位组,用[a,b]这样形式的字节来表示a*256+b的整数,那么16位校验和就可以通过以下形式给出:[A,B]+’[C,D]+’……+’[Y,Z][1][A,B]+’[C,D]+’……+’[Z,0][2]在这里,+’代表1补数加法,即将

6、前面的16位校验和按位取反。[1]可以以([A,B]+’[C,D]+’……+’[J,0]+’([0,K]+’……+’[Y,Z])[3]的形式进行计算。(2)字节顺序的自主性打破被校验数据中的字节顺序仍可以计算出正确的16位校验和。例如,我们交换字节组中两字节的顺序,得到[B,A]+’[D,C]+’……+’[Z,Y][4]沈阳理工大学沈阳理工大学课程设计专用纸No9所得到的得结构与[1]式是相同的(当然结果也是要进行一次反转的)。为什么会是这样呢?我们发现两种顺序获得的进位是相同的,都是从第15位到第0位进位以及从第7位到第8

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

8、所具有的结合性,我们没有必要按照顺序对每个字节进行累加。相反,我们可以利用这一特点对它们进行并行累加。并行地计算校验和只是增加了每次累加的信息长度。例如,在一个323位的机器上,我们可以一次增加4个字节,即[A,B,C,D]+’……。计算结束后再把累加和“折叠”起来,把一个32位的数值变为

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

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

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