一个补码而不仅仅是一个位的总和

时间:2009-11-16 03:12:40

标签: math tcp bit addition

我大学作业中的一个问题是为什么使用一个补码而不仅仅是TCP校验和中的位总和。我无法在我的书中找到它并且谷歌没有帮助。有人可以指出我正确的方向吗?

谢谢, 麦克

2 个答案:

答案 0 :(得分:3)

由于这是一个家庭作业问题,这里有一个提示:

假设您在整个数据包上计算了第二个校验和,包括第一个校验和?是否有一个可以确定结果的数学表达式?

答案 1 :(得分:2)

可能最重要的是它是以字节序独立的。

Little Endian计算机存储最后一个LSB​​的十六进制数字(例如Intel处理器)。 Big Endian计算机将LSB放在首位(例如IBM大型机)。当将进位添加到LSB以形成1的补码和时,如果我们加上03 + 01或01 + 03并不重要:结果是相同的。

其他好处包括检查传输的容易程度和校验和计算,以及通过仅更新已更改的IP字段来加速计算的各种方法。

参考:http://www.netfor2.com/checksum.html