由于UDP和TCP协议是运输层中比较重点的内容,因此这里单独写一篇文章以帮助大家(我自己)更好理解。
1、UDP协议
UDP仅在IP的数据报服务上增加了两个最基本的服务:复用和分用以及差错检测。
使用UDP的优点:
-
UDP无需建立连接
-
无连接状态
-
分组首部开销小
-
应用层能更好地控制要发送的数据和发送时间
-
UDP支持一对一、一对多、多对一和多对多的交互通信。
1.1 UDP的首部格式
UDP数据报包含两部分:UDP首部和用户数据。UDP首部有8B,由四个字段张春光,每个字段的长度是2B。它们是:
-
源端口
-
目的端口
-
长度
-
校验和
当传输层从IP层收到UDP数据报事,就根据首部中的目的端口,把UDP数据报通过相应的端口上交给应用进程。如果接收方UDP发现收到的报文中的目的端口号不正确,那么就丢弃该报文,并有ICMP发送“端口不可达”差错报文给发送方。
1.2 UDP检验
在计算校验和时,要在UDP数据报之前增加12B的伪首部。伪首部既不向下传送也不向上递交,而只是为了计算校验和。UDO的校验和检查首部和数据部分。
UDP校验和的计算方法:
发送方首先把全0放入校验和字段并添加首部