我正在尝试理解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
- 1的补数 = 校验和! E7dd