UDP
,全称 User Datagram Protocol,中文名称为用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络连接。
UDP
协议从问世至今已经被使用了很多年,虽然目前 UDP 协议的应用不如 TCP 协议广泛,但 UDP 依然是一种非常实用和可行的网络传输层协议。尤其是在一些实时性很强的应用场景中,比如网络游戏、视频会议等,UDP 协议的快速能力更具有独特的魅力。
UDP是一种非面向连接的协议,意味着在正式通信之前无需与对方建立连接,无论对方处于何种状态,直接发送数据。至于对方能否接收到这些数据,UDP协议无法控制,所以UDP是一个不可靠的协议。
UDP协议适用于一次只传输少量数据且对可靠性要求不高的应用环境。
与前面介绍的 TCP 协议一样,UDP 协议直接位于 IP 协议之上。实际上,IP 协议属于 OSI 参考模型的网络层协议,而 UDP 协议和 TCP 协议都属于传输层协议。
因为UDP是无连接协议,没有建立连接的过程,所以它的通信效率很高,但也正因为如此,它的可靠性不如TCP协议。
UDP协议的主要功能是完成网络数据流与数据报之间的转换。在信息的发送端,UDP协议将网络数据流封装成数据报,然后发送数据报;在信息的接收端,UDP协议将数据报转换成实际的数据内容。
可以认为UDP协议的socket类似于终端,数据报类似于容器。终端的作用是发送和接收容器,而套接字的作用是发送和接收数据报。因此,基于UDP协议的通信双方没有所谓的客户端和服务器端的概念。
UDP 协议和 TCP 协议简单对比如下:
TCP 协议:可靠,传输大小的系统,但需要连接建立时间和高错误控制开销。
UDP 协议:不可靠,错误控制开销低,传输大小限制在 64 KB 以下,无需建立连接。
?与TCP相比,UDP是一种不可靠的网络协议。它在通信实例的两端建立一个套接字,但两个套接字之间没有虚拟链接,它们只是发送和接收数据报的对象。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 什么是 Python 路径09/03
- ♥ Python面向对象设计与面向对象编程的理解01/12
- ♥ ipython和python有什么区别08/17
- ♥ python如何读取yaml文件12/12
- ♥ 如何查看python库08/21
- ♥ python检查字符串是否为数字08/13
内容反馈