UDP封装
RFC 768定义的UDP(User Datagram Protocol,用户数据报协议)以IP为下层协议。
UDP是为实现数据报(Datagram)模式的分组交换计算机网络通信而设计的。UDP对应用程序提供了用最简化的机制向网络上的另一个应用程序发送消息的方法。UDP提供无连接的、不可靠的数据报服务。
由于功能简单,UDP头相对于TCP头简化了很多。UDP头包含以下字段:
源端口(Source Port):16位的源端口号,含义与TCP相同。
目的端口(Destination Port):16位的目的端口号,含义与TCP相同。
长度(Length):16位的长度字段,表明包括UDP头和数据在内的整个UDP数据报的长度,单位为字节。
校验和(Checksum):16位的错误检查字段,基于部分IP头信息、UDP头和载荷数据的内容计算得到,用于检测传输过程中出现的错误。
TCP/UDP的对比
图示为UDP与TCP的功能对比。
UDP报文没有序列号、确认、超时重传和滑动窗口,没有任何可靠性保证。因此基于UDP的应用和服务通常工作于可靠性较高的网络环境下。
当然,使用UDP作为传输层协议也有独特的优势:
实现简单