最近一段时间很忙没来写东西了,发下最近写的一个东西,一个UDP的CHECKSUM(校验和)。

在网络传送的数据包为了保证传送正确都含有效验字段,IP、arp、tcp等每个数据段都有自己的效验和

刚开始找来个现成的IP数据包的校验和,不过后来才知道UDP和IP的校验和还有差别,所有又重新来

UDP报文的头由 发送端端口(2字节),目标端口(2字节),UDP包长度(2字节),校验和(2字节)4部分组成。
校验和的值由伪IP头,UDP头和UDP数据三部分的字串以16bit作单位进行相加后取反码(one’s complement )得到。若数据长度为基数,则最后补一个字节的0。

阅读全文