UDP 简述
UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。
UDP的主要特点
UDP是无连接的,即发送数据之前不需要建立连接。
UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。UDP没有拥塞控制,很适合多媒体通信的要求。
UDP是面向报文的。
UDP支持一对一、一对多、多对一和多对多的交互通信。
UDP的首部开销小,只有8个字节。
面向报文的UDP
发送方UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。
接收方UDP对IP层交上来的UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
应用程序必须选择合适大小的报文。
UDP基于端口的分用
UDP的首部格式
用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。在计算检验和时,临时把“伪首部”和 UDP用户数据报连接在一起。伪首部仅仅是为了计算检验和。
TCP与UDP
1.TCP 传送的数据单位是TCP报文段(segment)
UDP 传送的数据单位是UDP报文或用户数据报。
2.UDP 在传送数据之前不需要先建立连接。对方的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP是一种最有效的工作方式。
TCP 则提供面向连接的服务。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。