计算机网络速通(五) UDP协议:TCP 协议和 UDP 协议的优势和劣势
本文最后更新于:2024年10月9日 下午
TCP 协议的核心:提供了可靠性;UDP 协议的核心:灵活;HTTP协议 1.1 和 2.0 都是基于 TCP 的。HTTP3.0 是基于 UDP 的。
UDP 协议目的是在传输层提供直接发送报文的能力
- 报文是数据传输的最小单位
- UDP 协议不会帮助拆分数据,他的目标只有一个,就是发送报文
问题:为什么不直接调用 IP 协议?如果裸发数据,IP 协议不香吗?
回答:传输层协议是在承接上方应用层的调用,需要提供应用到应用的通信,因此要附上端口号,传输层下层的 IP 协议承接的是传输层的调用,将数据从主机传输到主机,IP 层不能区分应用。
UDP 协议设计的目的:在允许用户直接发送报文的情况下,最大限度地简化应用的设计。
- Source Port 是源端口号
- Destination Port 是目标端口号
- Length 是消息体长度
- Checksum 是校验和,检查封包是否出错
- Data octets 是一个字节一个字节的数据
校验和
校验和机制:校验数据在传输过程中有没有丢失、损坏,是一个普遍需求。在一次网络会话当中,实际传输的是 0 和 1 组成的数字。
把数据分成一个个 byte,然后将所有的 byte 相加,再将最终的结果取反,如果发送方用上述方式计算出Checksum,并将一个个 byte 和Checksum一起发送给接收方,接收方就可以用同样的算法再计算一遍,这样就可以确定数据有没有发生损坏。
这种 Checksum 只适用于少量数据变化的情况。
如果一个数据封包Datagram发生了数据损坏,UDP 可以通过Checksum纠错或者修复。
计算机网络速通(五) UDP协议:TCP 协议和 UDP 协议的优势和劣势
https://zzmes.github.io/2024/10/08/network5/