我大学作业中的一个问题是,为什么要使用反码而不是 TCP 校验和中的比特总和。我在我的书中找不到它,谷歌也没有提供帮助。有人能指出我正确的方向吗?
谢谢,迈克
由于这是一个家庭作业问题,这里有一个提示:
假设您计算了整个数据包的第二个校验和,包括第一个校验和?是否有一个数学表达式可以确定结果?
可能最重要的是它是独立于字节序的。
Little Endian 计算机以 LSB 最后存储十六进制数字(例如 Intel 处理器)。Big Endian 计算机将 LSB 放在首位(例如 IBM 大型机)。当进位加到 LSB 以形成 1 的补码和时)无论我们加 03 + 01 还是 01 + 03:结果都是一样的。
其他好处包括易于检查传输和校验和计算,以及通过仅更新已更改的 IP 字段来加速计算的各种方法。
参考: http: //www.netfor2.com/checksum.html