计算机网络速通(五) UDP协议:TCP 协议和 UDP 协议的优势和劣势

本文最后更新于:2024年10月9日 下午

TCP 协议的核心:提供了可靠性;UDP 协议的核心:灵活;HTTP协议 1.1 和 2.0 都是基于 TCP 的。HTTP3.0 是基于 UDP 的。

UDP 协议目的是在传输层提供直接发送报文的能力

  • 报文是数据传输的最小单位
  • UDP 协议不会帮助拆分数据,他的目标只有一个,就是发送报文

问题:为什么不直接调用 IP 协议?如果裸发数据,IP 协议不香吗?

回答:传输层协议是在承接上方应用层的调用,需要提供应用到应用的通信,因此要附上端口号,传输层下层的 IP 协议承接的是传输层的调用,将数据从主机传输到主机,IP 层不能区分应用。

UDP 协议设计的目的:在允许用户直接发送报文的情况下,最大限度地简化应用的设计。
network1

  • 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/
作者
YangYangYang
发布于
2024年10月8日
许可协议