UDP面向无连接、不可靠的、无序的、无流量控制、面向报文(应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部)的传输层协议。进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP支持一对一、一对多、多对一和多对多的交互通信。
报文格式
检验和
UDP的检验和和TCP的检验和都覆盖首部和数据,UDP的检验和是可选的,TCP的检验和是必须的。如果发送端没有计算检验和而接收端检测到检验和有差错,那么UDP数据报就会被悄悄地丢弃,不产生任何差错报文(当IP层检测到IP首部检验和有差错时也这样做)。
UDP数据报和TCP段都包含一个12字节长的伪首部,它是为了计算检验和而设置的。伪首部包含IP首部一些字段。其目的是让UDP两次检查数据是否已经正确到达目的地。
检验和的计算是以16bit为单位,所以当数据的最后不满足16bit时会填充。
限制端口