计算 8 位互联网校验和

Calculating a 8-bit internet checksum

我将如何计算此数据的 8 位互联网校验和?

根据我目前的发现,要计算校验和,您需要将每个数据部分的总和相加,然后对该结果总和使用第一个补充。但是当我尝试这个时,我得到:

00000011 + 00000100 = 00000111(x = 3 + 4)

00000111 + 00000101 = 00001100(y = x + 5)

00001100 + 00000110 = 00010010(y + 6)

应用第一个赞美会让我:11101101与上面的预期相比,这是不正确的结果。

我的计算方法有误吗?

数字 3-6 在 ASCII 中是 0x33-0x36

0x33 + 0x34 + 0x35 + 0x36 = 0xd2 = 0b11010010 应用第一个赞美你会得到 0b00101101 这就是所提供的结果。

所以基本上你的计算是好的,但你应该使用数字的 ASCII 代码,而不是数字本身。