作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

目前几乎所有的应用都会跟网络打交道,所以我们了解和熟悉网络对我们后续的排错是很有必要的,我这里讲解的部分主要是我个人理解来进行讲解。
在 TCP/IP 协议族的传输层中,UDP 是与 TCP 并列的核心协议,它和 IP 协议配合完成端到端通信,但设计理念与 TCP 完全相反:
UDP 负责「高效交付」:以最小的开销把数据传给目标应用程序,不保证可靠性,只追求传输效率。
IP 负责「找路」:把 UDP 数据包从源设备送到目的设备。
UDP(User Datagram Protocol,用户数据报协议)同样位于网络层和应用层之间,核心任务聚焦两个核心,但实现方式极简:
IP 协议 = 快递公司的「地址配送系统」,负责把包裹从甲地送到乙地的小区门口;
UDP 协议 = 快递员的「极简配送规则」:直接把包裹放小区门口就走,不打电话确认、不要求签收、丢了不管。
UDP 是无连接、不可靠、无序的传输层协议,核心目标是以最小开销、最高效率传输数据,哪怕牺牲可靠性。
特性 | 具体含义 | 类比理解 |
|---|---|---|
无连接 | 数据传输前无需建立连接,传输后无需断开连接;发送方直接发数据,接收方直接收数据 | 寄平邮信件:写好地址直接投邮筒,不用提前联系收件人,也不用事后确认 |
尽力交付 | 只负责把数据发出去,不保证数据能到达、不丢失、不重复、不乱序;丢包不会重传,重复包不会丢弃 | 扔飞盘:只管扔出去,不管飞盘会不会落地、会不会被风吹走、会不会砸到别人 |
无序性 | 数据包按发送顺序发出,但到达顺序完全随机;接收方收到乱序包不会重新排序,直接交给应用层 | 多个快递同时寄出,收件人可能先收到后寄的,也可能只收到部分 |
2. UDP 的核心机制:极简设计的底层逻辑
UDP 之所以高效,是因为它只保留了传输层的「最小必要功能」,砍掉了所有额外控制逻辑,核心机制只有 2 个:
UDP 头部只有 8 个字节(TCP 头部最少 20 个字节),结构如下:
核心优势:头部开销极小,数据传输的「有效载荷占比」极高(比如传 1000 字节数据,UDP 总长度 1008 字节,TCP 最少 1020 字节)。
UDP 依靠「IP 地址 + 端口号」完成端到端的应用寻址:
UDP 本身不提供可靠性、流量控制、拥塞控制,但现代网络中很多基于 UDP 的应用会在应用层实现这些功能,典型例子:
UDP 适合对延迟敏感、能容忍少量丢包的业务,比如: