我试图了解 UDP 校验和机制。我正在使用这个数据包。我看到一个例子,在所有字段的总和中,UDP 长度包含两次。为什么我们需要在校验和中包含两次 UDP 长度?
这是我看到的例子
IP header: Source IP address c0a8
… 0291
IP header: Destination IP address c0a8
… 0101
IP header: Protocol number(zero padded on left) 0011
16 bit UDP Length 0032
UDP header: source port 0618
UDP header: destination port 0035
UDP header: length 0032
UDP Data
0001
0100
0001
0000
0000
0000
0131
0131
0331
3638
0331
3932
0769
6e2d
6164
6472
0461
7270
6100
000c
0001
- 对所有十六进制值求和 181e
- 携带 4
- 添加进位 1822
- 1s 补码 = 校验和!E7dd