UDP(User Datagram Protocol)
- UDP 是一个无连接的(connectionless)的传输层协议
- UDP传输数据段,无须建立连接
- UDP 在 RFC 768中描述
- 很多C/S应用(如DNS),都使用UDP发送一个请求, 然后对方应答
- 和IP很像,但是UDP可以使用源端口和目的端口,IP不可以
什么是无连接:发送信息的一方只管发送,而接受者是否接受到不是发送方所关心的问题,不可靠服务
UDP数据段头
UDP数据段包括8byte的头部和数据两个部分
- 源端口(Source port)和目的端口(Destination port):非常重要的端口
- 长度字段(UDP length):表示包括头部和数据总共有多少字节
- 校验和(UDP checksum):可选,如果不计算校验和则该域置为0
UDP的特点:源端口和目的端口
端口(port)定义
自由端口(Free port):
- 本地分配
- 动态的随机端口
UDP校验和计算
- 把IP伪头部、UDP的段头和数据三个部分按照16位一行、16位一行排列起来
- 按列进行补码相加求和
- 相加的结果呢再拿来取短码作为最后的校验和
IP伪头部:
特点:
- 如果收方的校验和为全1,传输无错
- 检错能力较弱,但简单快速
- 使用协议地址,破坏了分层原则