UDP
udp是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份发送的IP数据包。
这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系
UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证他们能到达目的地
应用程序必须关心IP数据报的长度。如果它超过网络的MTU,那么就要对IP数据报进行分片。
DNS:53号端口
UDP校验和
UDP检验和覆盖UDP首部和UDP数据
IP首部的校验和,它只覆盖IP的首部
UDP的校验和是可选的,而TCP的校验和是必须的
IP计算检验和和UDP计算检验和之间存在不同的地方。首先UDP数据报的长度可以为奇数字节,但是检验和算法是把若干个16bit字相加。解决方法是必要时在最后增加填充字节,这只是为了检验和的计算(也就是说,可能增加的填充字节