UDP,全称User Datagram Protocol,中文名称为User Datagram Protocol,主要用于支持计算机之间需要传输数据的网络连接。
UDP 协议自诞生以来已经使用了很多年。 虽然UDP协议的应用不如TCP协议广泛,但UDP仍然是一种非常实用可行的网络传输层协议。 尤其是在一些实时应用场景中,比如网络游戏、视频会议等,UDP协议的快速能力有着独特的魅力。
UDP 是一种非面向连接的协议。 非面向连接是指在正式通信之前不需要与对方建立连接,无论对方状态如何,都直接发送数据。 至于对方能不能收到数据,UDP协议无法控制,所以UDP是一个不可靠的协议。
UDP协议适用于一次只传输少量数据,对可靠性要求不高的应用环境。
与前面介绍的 TCP 协议一样,UDP 协议直接位于 IP 协议之上。 实际上,IP协议属于OSI参考模型的网络层协议,而UDP协议和TCP协议都属于传输层协议。
因为UDP是一种非面向连接的协议,没有建立连接的过程,所以它的通信效率很高,但也正因为如此,它的可靠性不如TCP。
UDP协议的主要功能是完成网络数据流和数据报之间的转换。 在信息的发送端,UDP协议将网络数据流封装成数据报,然后发送数据报; 数据报被转换成实际的数据内容。
可以认为UDP协议的socket类似于终端,数据报类似于容器。 终端的作用是发送和接收容器,而套接字的作用是发送和接收数据报。 因此,对于基于UDP协议的通信双方来说,没有所谓的客户端和服务器的概念。
UDP协议和TCP协议的简单比较如下:
TCP协议:可靠,传输大小有限,但需要连接建立时间,差错控制开销大。
UDP协议:不可靠,差错控制开销小,传输大小限制在64KB以下,不需要连接。
?与TCP相比,UDP是一种不可靠的网络协议。 它在通信实例的两端建立了一个套接字,但是这两个套接字之间没有虚拟链接,它们只是发送和接收数据报的对象。