UDP简介

UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据。
由于使用UDP协议消耗资源小,通信效率高,所以通常都会用于音频、视频和普通数据的传输例如视频会议都使用UDP协议,因为这种情况即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。但是在使用UDP协议传送数据时,由于UDP的面向无连接性,不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议。
UDP传输的每个数据包被限制在64K以内(数据包大小由一个16位的无符号整数记录)。
UDP介绍 - 图1
UDP (User Datagram Protocol )不提供复杂的控制机制, 如果传输过程中出现丢包, UDP 也不负责重发. 甚至当出现包到达顺序乱掉时候也没有纠正的功能. 由于 UDP 面向无连接, 它可以随时发送数据. 再加上 UDP 本身的处理既简单又高效, 因此常用于以下几个方面:

  • 包总量较少的通信(DNS).
  • 视频、音频等多媒体通信(即时通信).
  • 限定于 LAN 等特定网络中的应用通信.
  • 广播通信(广播、多播)

    UDP的特点

  • 需要资源少

  • 不保证接收
  • 无连接
  • UDP和TCP的区别

    | UDP | TCP | | —- | —- | | 面向无连接 | 面向有连接 | | 支持一对一、一对多、多对一、和多对多的通信 | 只能有两个端点,实现一对一的通信 | | 不保证数据传输的可靠性 | 传输数据无差错,不丢失,不重复,且按时序到达 | | 占用资源较 | 占用资源较 |

UDP接收和发送流程

UDP介绍 - 图2