UDP校验 在计算校验和时,要在UDP数据报之前增加12个字节的伪首部,伪首部并不是UDP的真正首部。只是在计算校验和时,临时添加在UDP数据报的前面,得到一个临时的UDP数据报。伪首部即不向下传送也不向上递交,仅仅是为了计算校验和。这样的校验和,即检查了UDP数据报,又对IP数据报的源IP地址和目的IP地址进行了校验。
UDP校验和的计算方法和IP数据报首部加盐和的计算方法相似,都使用二进制反码运算求和再取反。不同的是:IP数据报的校验和只校验IP数据报的首部,但UDP的校验和是把首部和数据部分一起都校验。 在发送方,首先是把全零放入校验和字段并且添加伪首部。然后把UDP数据报看成是由许多16位的字串连接起来。若UDP数据报的数据部分不是偶数个字节,则要在数据部分末尾增加一个全零字节。接下来就按二进制反码计算这些16位字的和。将此和的为禁止发吗写入校验和字段。在接收方,把收到的UDP数据报加上伪首部后,按二进制反码计算16位字的和。当无差错时其结果应全为1.否则表明有差错出现,接受党就应该丢弃这个UDP数据报。