- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
其次章计算校验和
2.1课程设计的目的
网络上的信号最终都是通过物理传输线路进传输的,假如高层没有采纳差
错掌握,那么物理层传输的数据信号是可能有差错的。为了保证数据的正确性,
在物理层的基础上设计了数据链路层。设计数据链路层的主要作用就是在原始
的、有差错的物理传输线路的基础上,采纳差错检测、差错掌握与流量掌握等方
法,将有差错的物理线路改进成规律上无差错的数据链路,以向网络层供应高质
量的服务。本课程设计主要通过一个简洁例子使同学了解网络合同中校验和的计
算过程,以及设置校验和的作用。
目前,进差错检测和差错掌握的主要方法是:在需要传输的数据分组后面
加上肯定的冗余信息,这样的冗余信息通常都是通过对所发送数据应用某种算法
进计算而得到的。数据的接收方在接收到数据后进同样的计算再与收到的冗
余信息进比较,假如结果不同就说明消失了差错,此时可以要求发送方重传该
数组数据,以此达到数据精确性的目的。
在普遍使用的网络合同中都设置了校验和项以保存这些冗余信息,例如IPv4、
ICMPv4、IGMPv4、ICMPv6UDP和TCP等等。
计算校验和的算法称为国际校验和算法,简洁来说,就是把被校验的数据按
16位进累加,然后取反码。若数据字节长度为奇数,则在这数据尾部补一个
字节的0以凑成偶数。关于计算校验和算法更具体的信息请参考RFC1071
o
2.2课程设计要求
依据前面介绍的算法,编制程序为给定数据计算校验和。
1)以命令形式运:check_suminile
其中checksum为程序名,inile为输入数据文件名。
2)输出:数据文件的校验和。
2.3相关学问
lo计算校验和
有许多数学方法可以用来提高校验和的计算速度,卜面我们将就此绽开
争论。
(1)交换性与结合性
由于校验和主要考虑被校验数据中所包含字节数量的是奇数还是偶数,
所以校验和的计算可以任意挨次进,甚至可以把数据进分组后再计
算。
例如,用A,B,C,DYZ分别表示一系列八位组,用⑶b]这样形式的字节
组来表示a*256+b的整数,那么16位校验和就可以通过以下形式给出:
AB]+[C,D]+,..[YZ]
,,
[A,B]+[C,D]+[ZO]
/
在这里,+代表1补数加法,即将前面的16位校验和按位取反。
⑴可以以
/,</
([AB]+[CD]+[JO])+([0,K]+…+[切)
/ZZ
的形式进计算。
?()字节挨次的自主性
打破被校验数据中的字节挨次仍可以计算处正确的16位校验和。
例如,我们交换字节组中两字节的挨次,得到
/,
[B,A]+[D,C]+……以Z,Y]
所得到的结与⑴式是相同的(当然结也是要进行一次反转的)。为什
么会是这样的呢?我们发觉两种挨次获得的进位是相同的,都是从第15
位到第0位进位以及从第7位到第8位进位。这也就是说,交换字节位
置只是转变凹凸字节的排列挨次,但并没有转变它们内在联系。
因此,无论底层的硬件设置中对字节的接收挨次如何,校验和都可以被
精确地校验出来。例如,假设校验和是以主机序(高位字节
在前低位字节在后)L算地数据帧,但以网络序低(位字节在前高位字
节在后)存放在内存中的。每一个16位的字中字节在传送过程中都交换
了挨次,在计算机校验和之后仍会先交换位置再存入内存,这样就与接
收
文档评论(0)