UDP 是哪一层协议?为什么它不是网络层协议

简介: UDP是传输层协议,位于OSI第四层和TCP/IP模型的传输层。它通过端口号实现进程间通信,与IP(网络层)协同工作:IP寻址主机,UDP定位应用。首部仅8字节,无连接、不可靠,但低延迟、高效率,适用于实时音视频、游戏等场景。

UDP 是传输层协议

在 OSI 七层网络模型中,UDP 位于第四层;在 TCP/IP 模型中,它同样位于传输层。TCP 也在这一层,两者负责的都是应用进程之间的数据传输。

有人看到 UDP 可以直接发包,不需要提前建立连接,就把它归到网络层。这个判断混淆了“工作方式”和“协议职责”。无连接是 UDP 的传输方式,不代表它负责网络寻址和路由。

先区分 IP 地址和端口号

理解 UDP 所在层级,关键是分清 IP 地址与端口号各自解决什么问题。

IP 协议通过 IP 地址定位目标设备,主要负责主机之间的寻址与路由,属于网络层。

UDP 通过端口号定位设备中的具体应用程序,负责进程之间的数据交付,属于传输层。

例如,一条数据发往某台服务器时:

  • IP 地址负责找到服务器;
  • 目标端口负责找到服务器上的具体服务;
  • UDP 负责承载应用数据并提供端口信息。

数据进入网络时,会经过下面几步:

应用数据 → UDP 首部 → IP 首部 → 数据链路层帧

从封装关系也能看出,UDP 位于应用数据与 IP 协议之间。

UDP 为什么叫用户数据报协议

UDP 的全称是 User Datagram Protocol,也就是用户数据报协议。

“数据报”意味着 UDP 面向一条条独立消息。应用程序发送一次数据,UDP 就把这段数据视为一个完整数据报。接收端同样按数据报接收,消息边界会被保留。

这和 TCP 不同。TCP 面向字节流,应用程序连续发送的数据进入 TCP 后,会被视为一串连续字节。接收端一次读到多少字节,不一定与发送端每次写入的数据长度一致。

因此,使用 UDP 时,应用程序更容易区分每条消息;使用 TCP 时,应用层往往需要自行设计消息长度或分隔规则。

UDP 首部为什么只有 8 字节

UDP 首部固定为 8 字节,包含四个字段:

  • 源端口;
  • 目标端口;
  • 长度;
  • 校验和。

UDP 不维护连接状态,也没有序号、确认号和窗口等字段,所以首部比 TCP 简单。

简单带来的结果是固定开销较小,但协议本身不提供以下保证:

  • 数据一定送达;
  • 数据只到达一次;
  • 数据按照发送顺序到达;
  • 网络拥塞时自动降低发送速度;
  • 接收方来不及处理时自动协调发送速度。

这也是 UDP 被称为“不可靠传输协议”的原因。这里的“不可靠”是一个技术定义,不等于 UDP 不能用于重要业务。

如果应用层自行增加确认、重传、排序和拥塞控制,仍然可以在 UDP 之上实现可靠传输。

TCP 比 UDP 多做了什么

TCP 是面向连接的可靠传输协议。

正式传输数据前,TCP 通常需要建立连接。传输过程中,它会使用序号与确认机制判断数据是否到达;发现数据丢失时,可以进行重传;收到乱序数据后,会按照序号重新整理。

功能 UDP TCP
建立连接 不需要 需要
确认数据送达 不提供 提供
丢包重传 不提供 提供
数据排序 不提供 提供
流量控制 不提供 提供
拥塞控制 不提供 提供
消息边界 保留 不保留
首部大小 8 字节 最少 20 字节

两者的差别不只是速度。TCP 替应用程序处理了大量可靠性问题,UDP 则让应用程序自己决定哪些问题需要处理。

UDP 为什么适合实时场景

直播、语音和在线游戏中的部分数据具有很强的时效性。

例如,一个表示游戏角色位置的数据包晚了两秒才到。即使它完整无误,也可能已经没有使用价值,因为角色早已移动到新位置。

对于这类数据,等待重传未必是好事。应用程序更可能选择跳过旧数据,直接处理最新状态。

UDP 不会因为前面的数据没有到达,就强制后面的数据等待,因此适合对实时性敏感的场景。但应用层仍然需要处理网络波动,不能认为换成 UDP 就能自动解决延迟问题。

实际性能还取决于:

  • 网络是否拥塞;
  • 路由是否稳定;
  • 单个数据报是否过大;
  • 应用是否控制发送速率;
  • 是否实现必要的丢包恢复。

DNS 为什么经常使用 UDP

普通 DNS 查询的数据量通常较小,而且一次查询只需要一问一答。使用 UDP 可以直接发送请求,减少单次查询的连接开销。

但“DNS 使用 UDP”不是绝对规则。当响应被截断、数据量较大或者进行区域传送时,DNS 也可能使用 TCP。

现在还有不同的加密 DNS 方案,例如 DoH、DoT 和 DoQ,它们的底层传输方式也不完全相同。因此,不能把某个应用层协议永远固定到 TCP 或 UDP 中。

UDP 和 TCP 的选择标准

可以用两个问题来判断:

第一,数据丢失或乱序是否可以接受?

第二,业务是否愿意在应用层自行处理可靠性?

文件下载、邮件传输和数据库连接要求数据完整,通常更适合 TCP。实时语音、视频和游戏状态同步更看重时效性,可以考虑 UDP。

如果业务既需要低延迟,又需要可靠传输,也不一定只能选择 TCP。QUIC 就构建在 UDP 之上,并在应用协议中实现了可靠传输、拥塞控制和加密。

所以,UDP 属于传输层而不是网络层。它与 TCP 的根本区别,在于 UDP 只提供较基础的数据报传输能力,TCP 则在传输层加入了连接管理与可靠性机制。

相关文章
|
28天前
|
人工智能 运维 自然语言处理
最新版通义千问(Qwen3.8-Max)功能介绍
作为通义千问系列迄今规模最大、性能最强的旗舰模型,Qwen3.8-Max凭借2.4万亿总参数的MoE混合专家架构、100万Token上下文窗口与原生多模态能力,实现了从“辅助工具”到“自主智能体”的跨越。它不仅在代码工程、专业办公、复杂推理等核心领域实现跨越式升级,更以端到端交付生产级成果的能力,成为面向智能体时代的通用AI基座,为个人开发者、企业团队与科研机构提供前所未有的AI生产力支撑。
395 1
|
24天前
|
设计模式 人工智能 监控
智能体工作流引擎设计:LangGraph与状态机在企业生产中的应用
本文剖析企业级AI Agent工作流核心架构,对比状态机(强确定性、易审计)与LangGraph(图结构、动态规划)两大范式,提出“外层状态机+内层LangGraph”的混合生产模式,并详解状态持久化、事件溯源、人机协同、工具隔离等高可靠设计实践。
149 1
|
28天前
|
XML Java Apache
【2026实测】Maven下载、安装、配置一篇搞定(附官网安装包)
Maven是Apache开源的Java项目构建与依赖管理工具,以“约定优于配置”为核心,通过pom.xml自动下载、管理依赖并一键完成编译、测试、打包等流程。生态成熟、上手简单,是Java开发者的标配。
|
28天前
|
人工智能 缓存 API
阿里云百炼 Token Plan 个人版上线:39 元起订阅,抢先体验 Qwen3.8-Max-Preview
阿里云Token Plan个人版上线!最低39元/月,含Qwen3.8-Max-Preview(2.4T参数)等11个文本/图像/视频模型,支持联网搜索、多Agent并发及Harness工具,Credits统一计量,夜间调用低至0.2折。阿里云百炼Token Plan官网:https://t.aliyun.com/U/EsRjVx
238 2
|
28天前
|
人工智能 JSON 安全
别让你的AI还活在打字时代——Hermes 0.20 和 Open WebUI 0.11 这波更新,把智能助手从"工具"推到了"伙伴"
Hermes Agent v0.20 与 Open WebUI v0.11 同步升级:实现真正自然的语音交互、执行中实时纠错、多Agent协同分工,让AI从“工具”进化为“伙伴”。支持微信/WhatsApp等平台语音消息,Mac一键部署,更懂你、更稳定、更像人。
208 2
|
30天前
|
人工智能 JavaScript Linux
让 Claude Code 用我已经登录的浏览器——ego-lite 这个设计太实用了
ego-lite是Citro Labs推出的AI浏览器,让Agent直接复用你的日常登录态,无需重复登录或绕过2FA。通过隔离Space实现任务隔离与状态共享,Snapshot技术将页面token降低99%,支持macOS,已获周增4700 Star。
235 1
|
23天前
|
SQL JSON 移动开发
SQL派生表优化实战:从物化机制到LATERAL JOIN的完整进阶
很多人只知道“子查询改JOIN就快了”,但不知道为什么,也不知道什么时候该改、什么时候不该改。本文从派生表的物化机制出发,拆解临时表膨胀、索引失效的根因,通过真实案例对比派生表、CTE、LATERAL JOIN三种写法的性能差异,帮助读者从“知道现象”升级到“理解原理”。
|
2月前
|
弹性计算 安全 Linux
阿里云ECS Linux系统环境配置完全指南:从零搭建生产级服务器
本文提供一份从零开始的阿里云ECS Linux系统环境配置完整教程。内容涵盖ECS实例的选购策略、地域与镜像选择、安全组精细化配置、SSH远程连接与密钥认证、系统初始化与更新、普通用户创建与权限管理、数据盘的挂载与格式化、系统防火墙(firewalld/ufw)的配置与管理、LNMP与LAMP运行环境的手动部署、服务器安全加固措施(修改SSH端口、禁用root登录、安装fail2ban)、系统监控与日志管理、以及自动化运维脚本的编写。全文以实战为导向,提供大量可直接复用的命令行代码与配置文件示例,帮助读者在阿里云最新生态下独立完成从服务器初始化到生产环境就绪的全部工作。
|
SQL 存储 关系型数据库
mysql是什么来的
MySQL 是一款开源、免费、高性能的关系型数据库管理系统,广泛应用于 Web 开发、企业系统、移动应用等领域。它支持 SQL 语言、事务处理、读写分离、主从复制等功能,具备良好的可靠性和扩展性。作为 LAMP/LNMP 技术栈的核心组件,MySQL 以低成本、易用性和强大社区支持成为开发者首选数据库之一。
960 0