第二章计算校验和21课程设计的目的网络上的信号最终都是通过物理传输线路进行传输的如果高层没有采用差错控制那么物理层传输的数据信号是可 第二章计算校验和 21课程设计的目的
第二章计算校验和
21课程设计的目的
网络上的信号最终都是通过物理传输线路进行传输的如果高层没有采用差错控制那么物理层传输的数据信号是可能有差错的。为了保证数据的正确性在物理层的基础上设计了数据链路层。设计数据链路层的主要作用就是在原始的、有差错的物理传输线路的基础上采用差错检测、差错控制与流量控制等方法将有差错的物理线路改进成逻辑上无差错的数据链路以向网络层提供高质量的服务。本课程设计主要通过一个简单例子使学生了解网络协议中校验和的计算过程以及设置校验和的作用。
目前进行差错检测和差错控制的主要方法是在需要传输的数据分组后面加上一定的冗余信息这样的冗余信息通常都是通过对所发送数据应用某种算法进行计算而得到的。数据的接收方在接收到数据后进行同样的计算再与收到的冗余信息进行比较如果结果不同就说明出现了差错此时可以要求发送方重传该数组数据以此达到数据准确性的目的。
在普遍使用的网络协议中都设置了校验和项以保存这些冗余信息例如Ipv4、ICMPv4、IGMPv4、ICMPv6、UDP和TCP等等。
计算校验和的算法称为国际校验和算法简单来说就是把被校验的数据按16位进行累加然后取反码。若数据字节长度为奇数则在这数据尾部补一个字节的0以凑成偶数。关于计算校验和算法更详细的信息请参考RFC1071。22课程设计要求
根据前面介绍的算法编制程序为给定数据计算校验和。
1)以命令形式运行check_sum infile
其中check_sum为程序名infile为输入数据文件名。
2)输出数据文件的校验和。
23相关知识
1。计算校验和
有很多数学方法可以用来提高校验和的计算速度下面我们将就此展开
讨论。
(1)交换性与结合性