UDP

# UDP
用户数据报协议,是传输层的协议。在IP的数据服务上增加最基本的服务:复用和分用及差错检测。 UDP提供不可靠服务,具有TCP没有的优势:
- UDP 无连接,时间上不存在建立连接需要的时延。空间上,TCP需在端系统中维护连接状态,需一定开销。此连接装入包括接收和发送缓存,拥塞控制参数和序号与确认号等参数。UDP不维护连接状态,也不跟踪这些参数,开销小。
- 分组首部开销小,TCP 首部20字节,UDP首部8字节
- UDP 没有拥塞控制。应用层能够更好的控制发送的数据和发送时间,网络中拥塞控制也不会影响主机的发送速率。某些实时应用要求以稳定的速度发送,能容忍一些数据丢失,但不能允许有较大的时延(如实时视频、直播等)
- UDP 提供尽最大努力的交付,不保证可靠交付。所有维护传输可靠性的工作需要用户在应用层来完成。没有TCP的确认机制、重传机制。如果因为网络原因没有传送到对端,UDP也不会给应用层返回错误信息
- UDP是面向报文的,对应用层交下来的报文,添加首部后直接向下交付给IP层,既不合并,也不拆分,保留报文的边界。对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程,报文不可分割,是UDP数据报处理的最小单位。
- UDP常用一次性传输比较少量数据的网络应用,如DNS,SNMP等,因为对于这些应用,若是采用TCP,为连接的创建,维护和拆除带来不小的开销。UDP也常用于多媒体应用(如IP电话,实时视频会议,流媒体等)数据的可靠传输对他们而言并不重要,TCP的拥塞控制会使他们有较大的延迟,也是不可容忍的
上次更新: 2022/11/29, 15:43:28