![](https://csdnimg.cn/release/download_crawler_static/87715101/bg6.jpg)
据包,是一种无连接的协议。在 OSI 模型中,在第四层——传输层,处于 IP 协
议的上一层。UDP 有不提供数据包分组、组装和不能对数据包进行排序的缺点,
也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 用来支持
那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多
的客户/服务器模式的网络应用都需要使用 UDP 协议。UDP 协议从问世至今已经
被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在
今天 UDP 仍然不失为一项非常实用和可行的网络传输层协议。
UDP 是 OSI 参考模型中一种无连接的传输层协议,它主要用于不要求分组顺
序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简
单不可靠信息传送服务。UDP 协议基本上是 IP 协议与上层协议的接口。UDP 协议
适用端口分别运行在同一台设备上的多个应用程序。
与所熟知的 TCP(传输控制协议)协议一样,UDP 协议直接位于 IP(网际协
议)协议的顶层。根据 OSI(开放系统互连)参考模型,UDP 和 TCP 都属于传输
层协议。
UDP 协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数
据包就是一个二进制数据的传输单位。每一个数据包的前 8 个字节用来包含报头
信息,剩余字节则用来包含具体的传输数据。
UDP 是无连接的,即发送数据之前不需要建立连接(当然发送数据结束时也
没有连接可释放)因此减少了开销和发送数据之前的时延。
UDP 使用的是尽最大努力交付,即不保证可靠交付,因此主机不需要维持复
杂的连接状态表。
UDP 是面向报文的。发送方的 UDP 对应程序交下来的报文,在添加首部后就
向下交付给 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保
留这些报文的边界。
UDP 是定义用来在互连网络环境中提供数据报交换的计算机通信的协议。此
协议默认是 IP 下层协议。此协议提供了向另一用户程序发送信息的最简便的协
议机制,不需要连接确认和保护复制,所以在软件实现上比较简单,需要的内存
空间比起 TCP 相对较小。
UDP 包头由 4 个域组成,其中每个域各占用 2 个字节。