UDP(User Datagram Protocol),用户数据报协议
- 无连接,减少了建立和释放连接的开销
- 不可靠传输,尽最大能力交付
- 因此不需要维护一些复杂的参数,首部只有8个字节(TCP首部最少要20字节)
- 数据段 = 首部 + 数据部分
首部
首部(8个字节) = 源端口号(16位) + 目标端口号(16位) + UDP长度(16位) + UDP检验和(16位)
- UDP长度表示数据段的总长度
UDP检验和
检验和 = 伪首部 + 首部 + 数据
伪首部(12个字节) = 源IP地址(4字节) + 目标IP地址(4字节) + 保留字符(1字节)+ 协议(1字节) + UDP长度(2字节)
- 伪首部只参与检验和的计算,不会被当成数据传递到网络层
端口
- 占2个字节
- 取值范围就是 0~65535
- 客户端的源端口是临时开启的随机端口
- 服务端的目标端口一般是固定的
- 防火墙可以设置 开启/关闭某些端口来提高安全性