运输层——无连接传输UDP
UDP
“尽力而为”的服务,报文可能:
- 丢失
- 送到应用进程的报文段乱序
无连接UDP:
- 发送端和接收端无握手
- 每个UDP报文段都被独立处理
UDP被用于:
- 流媒体
- DNS
- SNMP
在UDP上可行可靠传输:
- 在应用层增加可靠性
- 应用特定的差错恢复
UDP的优点(存在的原因)
不建立连接(会增加延时)
简单:在发送端和接收端没有连接状态
报文的头部很小(开销小)
无拥塞控制和流量控制,UDP以最快速度发送报文段(应用->传输的速率 = 主机->网络的速率)
UDP校验和
目标:检测在被传输报文段中的差错(如比特反转)
-
发送方:
将报文段的内容视为16比特的整数
校验和:报文段的加法和(1的补运算)
发送方将校验和放在UDP的校验和字段 -
接收方
计算收到的报文段的校验和
检查计算出的校验和与校验和字段的内容是否相等
不相等——检验到差错
相等——没有检测到差错,但也许还是有差错
计算校验和
当数字相加时,在最高位的进位要回卷,再加到结果上
目标端:校验范围+校验和 = 1111111111111111 通过校验