📅  最后修改于: 2021-01-12 02:53:11             🧑  作者: Mango
用户数据报协议(UDP)是TCP / IP协议套件中最简单的传输层通信协议。它涉及最少的通信机制。 UDP被认为是不可靠的传输协议,但是它使用IP服务,该服务提供了尽力而为的传送机制。
在UDP中,接收方不会生成对收到的数据包的确认,发送方也不会等待已发送的数据包的任何确认。该缺点使得该协议不可靠并且更易于处理。
可能会出现一个问题,为什么我们需要一个不可靠的协议来传输数据?我们将UDP部署在其中,确认数据包与实际数据一起共享大量带宽。例如,在视频流的情况下,成千上万的数据包被转发给用户。确认所有数据包很麻烦,可能会浪费大量带宽。基础IP协议的最佳传送机制可确保尽最大努力传送其数据包,但是即使视频流中的某些数据包丢失,其影响也不是灾难性的,可以轻松忽略。有时很少注意到视频和语音流量中的一些数据包丢失。
当数据确认没有任何意义时,使用UDP。
UDP是用于单向数据流的良好协议。
UDP很简单,适用于基于查询的通信。
UDP不是面向连接的。
UDP不提供拥塞控制机制。
UDP不保证有序传送数据。
UDP是无状态的。
UDP是适用于流应用程序(例如VoIP,多媒体流)的协议。
UDP标头与其函数一样简单。
UDP标头包含四个主要参数:
源端口-这16位信息用于标识数据包的源端口。
目标端口-这16位信息,用于标识目标计算机上的应用程序级别服务。
长度-长度字段指定UDP数据包的整个长度(包括标头)。它是16位字段,最小值为8字节,即UDP标头本身的大小。
校验和-此字段存储发送方在发送之前生成的校验和值。 IPv4具有此字段作为可选字段,因此当校验和字段不包含任何值时,它将设为0,并将其所有位设置为零。
以下是一些使用UDP传输数据的应用程序:
域名服务
简单网络管理协议
普通文件传输协议
路由信息协议
的Kerberos