###UDP 协议简介 UDP 的全称是 User Datagram Protocol,中文名是用户数据报协议。 UDP 提供面向无连接的通信服务,是不具有可靠性的数据报协议。 UDP 虽然可以确保发送消息的大小,但不能保证消息一定会到达,传输途中如果出现丢包,UDP 不负责进行重发。因此,应用有时候会根据自己的需要进行重发处理。甚至当包的到达顺序错乱时,UDP 也没有纠正功能。 此外,UDP 也不提供复杂的控制机制,即使出现网络拥堵,UDP 也无法进行流量控制等避免避免网络拥塞的行为。 由于 UDP 面向无连接,可以随时发送数据,本身的处理逻辑简单高效,因此,常用于以下场景: - 包总量较少(DNS、DHCP) - 视频、音频等多媒体即时通信(少量的丢包不影响通信质量) - 广播通信(广播、多播) UDP 报文首部由源端口号、目标端口号、包长和校验和组成:  - 源端口号:发送端端口号,该字段有可能为空(不需要返回的通信) - 目标端口号:接收端端口号 - 包长度:UDP 首部的长度跟数据的长度之和 - 校验和:为了提供可靠的 UDP 首部和数据而设计,不一定会用到