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

是改变高低位字节的排列顺序,但并没有改变它们的内在联系。

因此,无论底层的硬件设置中对字节的接收顺序如何,校验和都可以被准确地校验出来。例如,假设校验和是以主机序(高位字节在前低位字节在后)计算的数据帧,但以网络序(低位字节在前高位字节在后)存放在内存中。每一个16位的字中的字节在传送过程中都交换了顺序,在计算校验和之后仍会先交换位置再存入内存,这样就与接受到的原本以网络序存储的数据帧中的校验和项保持一致了。

(3)并进行计算

某些机器的字处理长度是16位的倍数,这样可以提高它的计算速度。由于加法所具有的结合性,我们没有必要按照顺序对每个字节进行累加。相反,我们可以利用这一特点对它们进行并行累加。

并行地计算校验和只是增加了每次累加的信息长度。例如,在一个323

位的机器上,我们可以一次增加4个字节,即[A,B,C,D]+’……。计算结束后再把累加和“折叠”起来,把一个32位的数值变为16位,这样产生的新的进位也要循环累积起来。

此外,在此仍不考虑字节顺序的问题,我们可以用’[D,C,B,A]+’……或[B,A,D,C]+;……这样的顺序来计算校验和,最终再通过交换16位校验和中的字节序来得到正确的值。这些改变顺序的方法都是为了让所有的偶数字节进入一个校验和字节,所有的奇数字节进入一个校验和字节。

3.3 示例

下面将通过一个简单的例子来演示通过上述的几种方法所得到的校验和的情况

16位

按字节累加“正常”顺序交换顺序字节0/1:00 01 0001 0100

字节2/3:f2 03 F203 03f2

字节4/5:f4 f5 f4f5 f5f4

字节6/7:f6 f7 f6f7 f7f6

--- --- ----- -----

合计1:2dc 1f0 2ddf0 1f2dc

dc f0 ddf0 f2dc

进位: 1 2 2 1

-- -- ---- ----

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值