首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >计算机网络-传输层协议(UDP详解)

计算机网络-传输层协议(UDP详解)

作者头像
运维小路
发布2026-04-02 13:17:20
发布2026-04-02 13:17:20
1440
举报
文章被收录于专栏:运维小路运维小路

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

目前几乎所有的应用都会跟网络打交道,所以我们了解和熟悉网络对我们后续的排错是很有必要的,我这里讲解的部分主要是我个人理解来进行讲解。

在 TCP/IP 协议族的传输层中,UDP 是与 TCP 并列的核心协议,它和 IP 协议配合完成端到端通信,但设计理念与 TCP 完全相反:

UDP 负责「高效交付」:以最小的开销把数据传给目标应用程序,不保证可靠性,只追求传输效率。

IP 负责「找路」:把 UDP 数据包从源设备送到目的设备。

一.传输层的核心使命(UDP 视角)

UDP(User Datagram Protocol,用户数据报协议)同样位于网络层和应用层之间,核心任务聚焦两个核心,但实现方式极简:

  1. 端口寻址:和 TCP 一样,通过端口号(0~65535)区分同一台设备上的不同应用程序(如 DNS 用 53 端口,DHCP 用 67/68 端口),解决「数据该交给哪个应用」的问题。
  2. 极简传输:仅提供最基础的数据传输能力,完全不弥补 IP 协议「无连接、不可靠」的缺陷,把传输控制的责任完全交给应用层。

类比场景

IP 协议 = 快递公司的「地址配送系统」,负责把包裹从甲地送到乙地的小区门口;

UDP 协议 = 快递员的「极简配送规则」:直接把包裹放小区门口就走,不打电话确认、不要求签收、丢了不管。

二.无连接的「尽力交付」传输

UDP 是无连接、不可靠、无序的传输层协议,核心目标是以最小开销、最高效率传输数据,哪怕牺牲可靠性。

1. 核心特性:无连接 + 尽力交付 + 无拥塞控制

特性

具体含义

类比理解

无连接

数据传输前无需建立连接,传输后无需断开连接;发送方直接发数据,接收方直接收数据

寄平邮信件:写好地址直接投邮筒,不用提前联系收件人,也不用事后确认

尽力交付

只负责把数据发出去,不保证数据能到达、不丢失、不重复、不乱序;丢包不会重传,重复包不会丢弃

扔飞盘:只管扔出去,不管飞盘会不会落地、会不会被风吹走、会不会砸到别人

无序性

数据包按发送顺序发出,但到达顺序完全随机;接收方收到乱序包不会重新排序,直接交给应用层

多个快递同时寄出,收件人可能先收到后寄的,也可能只收到部分

2. UDP 的核心机制:极简设计的底层逻辑

UDP 之所以高效,是因为它只保留了传输层的「最小必要功能」,砍掉了所有额外控制逻辑,核心机制只有 2 个:

(1)UDP 数据报格式:极简头部

UDP 头部只有 8 个字节(TCP 头部最少 20 个字节),结构如下:

  • 源端口(2 字节):发送方应用程序的端口号;
  • 目的端口(2 字节):接收方应用程序的端口号;
  • 长度(2 字节):UDP 数据报的总长度(头部 + 数据);
  • 校验和(2 字节):可选的错误检测机制(可关闭),仅验证数据是否损坏,不保证数据到达。

核心优势:头部开销极小,数据传输的「有效载荷占比」极高(比如传 1000 字节数据,UDP 总长度 1008 字节,TCP 最少 1020 字节)。

(2)端口复用 / 解复用:唯一的寻址逻辑

UDP 依靠「IP 地址 + 端口号」完成端到端的应用寻址:

  • 发送方:操作系统根据应用程序绑定的端口号,把数据封装到 UDP 头部的「源端口」字段,目标应用的端口号填入「目的端口」;
  • 接收方:操作系统解析 UDP 头部的「目的端口」,把数据交给对应端口绑定的应用程序;如果端口没有应用绑定,直接丢弃数据,不返回任何错误(TCP 会返回 RST 报文)。

3. UDP 的补充能力:应用层兜底

UDP 本身不提供可靠性、流量控制、拥塞控制,但现代网络中很多基于 UDP 的应用会在应用层实现这些功能,典型例子:

  • 可靠性:QUIC 协议(HTTP/3 底层)在 UDP 基础上实现了类似 TCP 的可靠传输;
  • 流量控制:视频通话(如 Zoom)在应用层限制发送速率,避免接收方处理不过来;
  • 拥塞控制:实时音视频(RTP 协议)在应用层检测网络延迟 / 丢包,动态调整码率。

三.UDP 的适用场景

UDP 适合对延迟敏感、能容忍少量丢包的业务,比如:

  • 实时音视频通信:(微信语音 / 视频、直播、视频会议):延迟 100ms 就会有明显卡顿,少量丢包仅导致画面 / 声音短暂失真,可通过应用层补帧 / 降噪解决;
  • 游戏数据传输:(王者荣耀、吃鸡等联机游戏):玩家操作指令需要毫秒级送达,少量丢包仅导致画面短暂跳帧,比「可靠但延迟高」更重要;
  • DNS 解析:域名解析请求通常只有几十字节,一次请求超时后应用层直接重发,比 TCP 三次握手的开销更小;
  • 广播 / 组播通信(局域网设备发现、流媒体推送):TCP 仅支持一对一通信,UDP 支持一对多、多对多传输,适合智能家居设备发现、局域网视频投屏等场景;
  • IoT 设备通信:(物联网传感器):设备算力 / 带宽有限,UDP 极简的头部和无连接特性,能降低设备功耗和传输开销。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.传输层的核心使命(UDP 视角)
    • 类比场景
  • 二.无连接的「尽力交付」传输
    • 1. 核心特性:无连接 + 尽力交付 + 无拥塞控制
      • (1)UDP 数据报格式:极简头部
      • (2)端口复用 / 解复用:唯一的寻址逻辑
    • 3. UDP 的补充能力:应用层兜底
  • 三.UDP 的适用场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档