UDP
3 秒看懂
UDP = 互联网的”明信片”——写完地址就扔进邮筒,不签收、不回执、不保证送达,但快、轻、便宜。AI时代它是数据中心内部”RDMA over Ethernet”的封装基础,也是实时推理、流式传输的底层通道。
3 分钟产业解释
核心定义
UDP(User Datagram Protocol)是TCP/IP协议栈传输层的两大协议之一(RFC 768, 1980)。与TCP相反,它无连接、不可靠、无流控,但换来的是极低开销和极低延迟。
为什么AI产业关心一个1980年的协议?
| AI场景 | UDP的角色 |
|---|---|
| 数据中心分布式训练 | RoCE v2(RDMA over Converged Ethernet v2)使用UDP封装InfiniBand语义,已成为万卡集群的事实标准传输层 |
| 实时推理服务 | LLM流式输出(SSE/WebSocket底层)、语音/视频AI的实时传输 |
| 边缘AI/IoT | 传感器数据采集、车联网V2X消息 |
| AI生成内容分发 | 直播推流(RTP/RTCP基于UDP)、云游戏 |
| 新兴协议QUIC | HTTP/3的底层基于UDP,Google/OpenAI API已大规模部署 |
关键认知:UDP本身简单,但它是现代高性能网络协议栈的”地基层”——越上层的AI应用对延迟敏感,越可能绕过TCP转向UDP系方案。
15 分钟专家深入
一、协议本质:为什么”少即是多”
UDP头部仅8字节(Source Port 2B + Dest Port 2B + Length 2B + Checksum 2B),对比TCP头部20-60字节。这意味着:
┌─────────────────────────────────────────────┐
│ UDP 数据报(Datagram) │
├─────────────┬──────────────┬──────┬─────────┤
│ 源端口 (16b) │ 目的端口 (16b) │长度16b│校验和16b │ ← 仅8字节头部
├─────────────┴──────────────┴──────┴─────────┤
│ │
│ 应用层数据(Payload) │
│ │
└─────────────────────────────────────────────┘
不做之事清单(对比TCP):
- ❌ 三次握手建立连接
- ❌ 序列号/确认号(无重传)
- ❌ 滑动窗口流控
- ❌ 拥塞控制(无慢启动、无AIMD)
- ❌ 有序交付保证
二、RoCE v2:AI集群的UDP应用主战场
RoCE v2(RDMA over Converged Ethernet v2) 是当前AI训练集群最重要的UDP应用载体:
┌──────────────────────────────────────┐
│ 应用层(NCCL/MPI集合通信) │
├──────────────────────────────────────┤
│ RDMA 层(Verbs语义) │ ← 零拷贝、内核旁路
├──────────────────────────────────────┤
│ InfiniBand Transport Header │
├──────────────────────────────────────┤
│ ★ UDP Header(DST Port 4791)★ │ ← UDP封装,允许标准以太网转发
├──────────────────────────────────────┤
│ IPv4/IPv6 Header │
├──────────────────────────────────────┤
│ Ethernet Frame │
└──────────────────────────────────────┘
为什么选UDP而非TCP做RDMA封装?
- 内核旁路(Kernel Bypass):TCP需要内核协议栈处理连接状态,RDMA的目标是绕过内核;UDP无状态,更容易实现用户态直接操作
- 无重传延迟:TCP的重传超时(RTO)通常数百毫秒级,对分布式训练AllReduce是灾难;RoCE v2的丢包由上层(如DCQCN拥塞控制)或应用层处理
- 硬件卸载友好:网卡(RNIC)可以更简单地解析无状态的UDP头部
三、QUIC:基于UDP的”新TCP”
Google主导的QUIC协议(RFC 9000)将TCP的可靠性语义”上移”到用户态UDP之上:
传统: HTTP/2 ──→ TCP ──→ TLS ──→ IP
QUIC: HTTP/3 ──→ QUIC(含TLS 1.3)──→ UDP ──→ IP
AI产业影响:
- OpenAI API、Claude API的流式传输逐步迁移至HTTP/3/QUIC
- 边缘推理场景中,QUIC的连接迁移(Connection ID而非IP:Port标识)适合移动设备
技术原理(最深一层)
一、协议状态机:无状态的简洁
┌─────────────────┐
│ UDP 处理 │
│ (无状态机) │
└────────┬────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────┐
│ 发送路径 │ │ 接收路径 │ │ 差错处理 │
│ │ │ │ │ │
│·构造头部 │ │·校验和检查│ │·校验和错 │
│·校验和(可│ │·端口匹配 │ │ → 静默丢弃│
│ 选计算) │ │·递交套接字│ │·端口不可达│
│·递交IP层 │ │ │ │ → 返回ICMP│
└─────────┘ └──────────┘ └──────────┘
关键参数:
- 校验和:IPv4中可选(设为0x0000表示不计算),IPv6中强制[RFC 8200]
- 最大报文长度:理论65,535字节(16b长度字段),实际受MTU限制(以太网通常≤1472字节有效载荷,即1500 MTU - 20 IP头 - 8 UDP头)
- 端口号空间:0-65535,与TCP端口空间独立
二、UDP在高性能网络中的协议栈分层
┌─────────────────────────────────────────────────────────────────┐
│ 应用层 │
│ NCCL AllReduce / gRPC Streaming / RTP / QUIC │
├─────────────────────────────────────────────────────────────────┤
│ 可靠性/有序性层 │
│ RDMA (IB Transport) / QUIC Transport / 应用层重传 │
├─────────────────────────────────────────────────────────────────┤
│ ★ UDP 传输层 ★ │
│ 无状态封装、端口复用、最小开销 │
├─────────────────────────────────────────────────────────────────┤
│ 网络层 │
│ IPv4/IPv6 + ECMP(等价多路径,依赖UDP五元组哈希) │
├─────────────────────────────────────────────────────────────────┤
│ 数据链路层 │
│ Ethernet + PFC/ECN(数据中心无损/低损网络) │
├─────────────────────────────────────────────────────────────────┤
│ 物理层 │
│ 25G/50G/100G/400G/800G SerDes │
└─────────────────────────────────────────────────────────────────┘
三、UDP与ECMP的协同:为什么AI网络爱UDP
数据中心交换机使用ECMP(Equal-Cost Multi-Path) 做负载均衡,哈希键通常包含五元组(Src IP, Dst IP, Protocol, Src Port, Dst Port)。
- TCP的长连接导致哈希结果固定,易造成链路拥塞
- UDP无连接状态,应用层可灵活控制源端口(如轮流递增),实现更均匀的流量分布
- 在万卡集群的All-to-All通信中,这一特性对网络利用率至关重要
技术演进史
| 年份 | 里程碑 | 意义 |
|---|---|---|
| 1980 | RFC 768发布(Jon Postel) | UDP诞生,仅3页规范,可能是最简洁的RFC之一 |
| 1981 | RFC 791/793 | IPv4/TCP同期定义,TCP/IP协议栈基本成型 |
| 1998 | RFC 2460 | IPv6规范中UDP校验和变为强制(因IPv6取消了IP层校验和) |
| 2003 | RTP(RFC 3550) | 实时音视频传输基于UDP标准化,互联网流媒体时代开启 |
| 2002 | iWARP提出 | RDMA over TCP,但内核协议栈开销成为瓶颈 |
| 2010 | RoCE v1发布 | IBTA提出,RDMA直接封装以太网帧,但不支持L3路由 |
| 2014 | RoCE v2发布 | ★用UDP封装RDMA,支持L3路由+ECMP,奠定AI集群网络基础 |
| 2016 | QUIC(Google私有版) | 基于UDP的传输协议,HTTP/3前身 |
| 2021 | QUIC成为RFC 9000 | IETF标准化,HTTP/3时代开启 |
| 2023-2024 | Ultra Ethernet Consortium成立 | 面向AI/HPC的以太网演进,UDP/RDMA是核心讨论点 |
技术路线对比
UDP vs TCP vs RDMA语义对比
| 特性 | UDP | TCP | RDMA (InfiniBand原生) |
|---|---|---|---|
| 连接状态 | 无 | 有(三次握手) | 有(Queue Pair建立) |
| 可靠性 | 不保证 | 保证(重传+确认) | 保证(硬件级) |
| 有序性 | 不保证 | 保证 | 可选(可靠/不可靠) |
| 头部开销 | 8字节 | 20-60字节 | IB: ~16字节 |
| 延迟 | 极低 | 中(拥塞控制+重传) | 极低(硬件卸载) |
| CPU占用 | 低 | 高(内核协议栈) | 极低(内核旁路) |
| 拥塞控制 | 无(应用自理) | 内置(如CUBIC/BBR) | DCQCN/ECN |
| 典型AI用途 | RoCE v2封装、流媒体 | 模型下载、参数存储 | 集合通信(AllReduce) |
| 万卡集群适配 | ★★★★★ | ★★☆☆☆ | ★★★★★(但需以太网+UDP封装) |
UDP上层可靠性方案对比
| 方案 | 可靠性机制 | 延迟开销 | AI场景适用性 |
|---|---|---|---|
| 应用层重传 | 自定义超时+重传逻辑 | 取决于实现 | 小规模/特定场景 |
| RoCE v2 + DCQCN | ECN标记+速率调节,依赖无损/低损网络 | 极低 | ★万卡训练集群主流 |
| QUIC | 用户态可靠传输+TLS集成 | 中 | LLM API流式服务 |
| SCTP | 内核级多流可靠UDP替代 | 中 | 电信领域,AI领域少用 |
上下游
上游(UDP依赖什么)
┌─────────────────────────────────────────────────────┐
│ 硬件层 │
│ · 网卡/RNIC:NVIDIA ConnectX/Mellanox、Intel E810 │
│ · 交换芯片:Broadcom Memory、NVIDIA Spectrum │
│ · 光模块/铜缆:25G→100G→400G→800G │
├─────────────────────────────────────────────────────┤
│ 内核/驱动层 │
│ · OS内核网络栈(Linux: ksoftirqd/netfilter) │
│ · DPDK(用户态数据平面开发套件,绕过内核) │
│ · RDMA驱动(mlx5_core, bnxt_re) │
├─────────────────────────────────────────────────────┤
│ 协议标准层 │
│ · IETF RFC 768/8085 │
│ · IEEE 802.3 (Ethernet) │
│ · IBTA RoCE v2规范 │
└─────────────────────────────────────────────────────┘
下游(UDP服务什么)
┌─────────────────────────────────────────────────────┐
│ AI基础设施 │
│ · 集合通信库:NCCL (NVIDIA)、Gloo (Meta) │
│ · 分布式框架:PyTorch DDP、DeepSpeed、Megatron │
│ · 推理框架:vLLM、TensorRT-LLM、TGI │
├─────────────────────────────────────────────────────┤
│ 应用层协议 │
│ · 流媒体:RTP/RTCP、HLS/DASH分发 │
│ · API服务:gRPC(可用UDP模式)、HTTP/3 (QUIC) │
│ · 物联网:MQTT-SN(基于UDP的轻量消息协议) │
├─────────────────────────────────────────────────────┤
│ 端侧应用 │
│ · 云游戏/云渲染(实时交互) │
│ · 自动驾驶V2X通信(低延迟要求) │
│ · AR/VR实时渲染流传输 │
└─────────────────────────────────────────────────────┘
关键指标
| 指标 | 典型值/范围 | 备注 |
|---|---|---|
| 头部大小 | 8字节(固定) | TCP为20-60字节 |
| 最大有效载荷 | 65,507字节(理论) | 实际受MTU限制,以太网通常1472字节 |
| 端口范围 | 0-65535 | 与TCP端口空间独立 |
| RoCE v2标准端口 | 4791 | IBTA分配的UDP目标端口 |
| 校验和覆盖 | 伪首部+UDP头+数据 | IPv4可选,IPv6强制 |
| 典型数据中心UDP流量占比 | 30-60%[估算] | 在RDMA集群中可能更高 |
| UDP单跳转发延迟 | <1μs(现代交换机) | 对比TCP内核栈处理可达数十μs |
供需与市场数据
UDP本身是开放协议,无直接市场收入——但其承载的基础设施有明确市场
| 细分市场 | 规模估算 | 增长驱动 |
|---|---|---|
| RDMA网卡(RNIC) | 2024年约$30-50亿[行业估算] | AI训练集群爆发,每万卡需数千RNIC |
| 数据中心交换机 | 2024年约$150-200亿[行业估算] | 400G/800G升级周期,UDP/ECMP是标配功能 |
| QUIC/HTTP3 CDN | 快速渗透中 | 主流云厂商(Cloudflare、AWS CloudFront)已全面支持 |
| 边缘AI网关 | 早期市场 | 车联网、工业IoT的UDP传输需求 |
RDMA部署趋势
RDMA在AI集群中的渗透率(估算):
2020: ██░░░░░░░░ 20% ← 主要InfiniBand
2022: ████░░░░░░ 40% ← RoCE v2开始放量
2024: ███████░░░ 70% ← 万卡集群标配
2026E: █████████░ 85%+ ← Ultra Ethernet演进
(数据为定性估算,基于公开报道趋势)
代表公司与资本映射
直接关联(生产UDP/RDMA核心硬件)
| 公司 | 产品/角色 | 与UDP的关联 |
|---|---|---|
| NVIDIA (NVDA) | ConnectX-7/8 RNIC、Spectrum-4交换机 | RoCE v2 网卡供给侧处于领先位置;未锁定可复核第三方份额口径前,不写具体市占率或排名 |
| Broadcom (AVGO) | Memory系列交换芯片 | 数据中心交换机芯片龙头,UDP/ECMP是基础功能 |
| Intel (INTC) | E810网卡、IPU | 支持UDP RSS/RDMA,争夺第二供应商地位 |
| AMD (AMD) | Pensando DPU | 智能网卡中的UDP/RDMA加速 |
间接受益(使用UDP系基础设施)
| 公司 | 场景 |
|---|---|
| Microsoft/AWS/Google | 自建AI集群大量部署RoCE v2 |
| Meta (META) | PyTorch+NCCL+自建RDMA网络 |
| Cloudflare (NET) | QUIC/HTTP3全球部署先驱 |
中国关联
| 公司 | 角色 |
|---|---|
| 中际旭创 | 800G光模块,支撑400G/800G UDP/RDMA网络 |
| 盛科通信 | 交换芯片国产替代探索 |
| 锐捷网络 | 数据中心交换机,支持RoCE v2 |
投资逻辑
核心框架:UDP是”卖铲子的铲子”
AI模型越大 → 需要越多GPU → 需要越快的卡间/节点间通信
↓
RDMA over Ethernet (RoCE v2)
↓
★ UDP 封装层 ★
↓
需要更快的网卡/交换机/光模块
↓
NVIDIA/Broadcom/中际旭创等
关键投资逻辑点
- 万卡集群是确定性趋势:从GPT-4(~25K GPU)到下一代可能50K-100K GPU,RDMA/UDP基础设施需求线性增长
- 带宽升级周期:数据中心网络正从400G→800G→1.6T演进,每次升级是光模块/交换机的换代机会
- Ultra Ethernet Consortium:2023年成立,目标是以太网原生支持AI/HPC工作负载,可能带来新协议层(但仍基于UDP/IP)
- 边缘AI + 实时传输:自动驾驶、机器人等场景对低延迟UDP通信的需求刚起步
风险因素
- InfiniBand与Ethernet路线之争可能反复
- 硅光子/CPO等新技术改变光模块格局
- 中美科技博弈影响高端网卡/交换芯片供应
常见误读纠偏
误读1:「UDP不可靠,所以不适合AI/关键任务」
纠偏:UDP的”不可靠”是协议层的选择,不是系统层的结论。现代AI集群的可靠性由多层机制保障:
应用层: 框架级容错(PyTorch checkpoint、DeepSpeed elastic)
传输层: RDMA可靠语义 + DCQCN拥塞控制
链路层: PFC流控 + ECN标记
物理层: FEC前向纠错
UDP的角色是提供最轻量的封装,将可靠性决策权交给上层——这恰恰是正确设计,因为上层(如RDMA硬件)可以比通用TCP内核栈做得更好。
误读2:「UDP没有拥塞控制,会把网络打爆」
纠偏:
- 标准UDP确实没有内置拥塞控制(RFC 8085建议应用层自行实现)
- 但在AI集群中,RoCE v2使用DCQCN(Data Center Quantized Congestion Notification) 实现了硬件级拥塞控制
- QUIC协议内置了类似TCP的拥塞控制(如CUBIC/BBR)
- “裸UDP”(无拥塞控制)主要存在于低速率场景(如DNS查询、IoT遥测),不足以影响网络
误读3:「TCP比UDP更安全」
纠偏:
- TCP的”面向连接”提供的是可靠性,不是安全性
- 传输层安全由TLS/DTLS提供,与选择TCP或UDP无关
- QUIC在UDP之上原生集成TLS 1.3,实际上比传统TCP+TLS更早完成加密握手(0-RTT)
误读4:「InfiniBand和UDP是对立的」
纠偏:
- InfiniBand原生确实使用自己的传输层(不经过UDP)
- 但RoCE v2(RDMA over Converged Ethernet v2)将InfiniBand的传输层语义封装在UDP之上,使其能在标准以太网上运行
- 当前AI集群的主流选择正是”RDMA语义 + 以太网物理层 + UDP封装”,两者是协同而非对立
学习路径
入门级(1-3天)
- RFC 768原文:仅1.5页,必读,体会协议设计的极简美学
- 《Computer Networking: A Top-Down Approach》Ch3:Kurose经典教材传输层章节
- 动手实验:用
netcat -u(nc -u)发送UDP包,用Wireshark抓包观察
进阶级(1-2周)
- RFC 8085(UDP使用指南):理解何时该/不该用UDP
- RoCE v2技术白皮书(NVIDIA/Mellanox发布):理解RDMA如何使用UDP
- QUIC RFC 9000概览:理解UDP如何承载复杂传输语义
- 实验:用
iperf3对比TCP/UDP吞吐量,用sockperf测量UDP延迟
专家级(持续)
- DCQCN论文:“Congestion Control for Large-Scale RDMA Deployments”(SIGCOMM 2015)
- NCCL源码:观察集合通信库如何与UDP/RDMA层交互
- Ultra Ethernet Consortium规范进展:跟踪下一代AI网络协议演进
- 内核源码:Linux
net/ipv4/udp.c,理解UDP在内核中的实现
一句话总结
UDP是互联网协议栈中”做最少、让上层做最多”的哲学典范;在AI时代,它通过RoCE v2封装成为万卡集群RDMA通信的基石——不是因为UDP本身多强大,而是因为它足够”空”,让整个栈可以做最正确的分层决策。
延伸阅读与来源
| 资源 | 类型 | 说明 |
|---|---|---|
| RFC 768 | 原始规范 | UDP定义,仅1.5页,必读 |
| RFC 8085 | 使用指南 | UDP使用最佳实践 |
| RoCE v2 Specification | 行业规范 | IBTA发布,RDMA over UDP的定义 |
| QUIC RFC 9000 | 新兴协议 | UDP承载的现代传输协议 |
| DCQCN (SIGCOMM 2015) | 学术论文 | 数据中心RDMA拥塞控制 |
| NVIDIA RoCE Best Practices | 厂商文档 | RDMA/UDP部署指南 |
| Ultra Ethernet Consortium | 行业组织 | AI以太网演进方向 |
| 《UNIX Network Programming Vol.1》 | 经典书籍 | W.Richard Stevens著,UDP编程权威参考 |
本页撰写日期:2025年。协议规格基于IETF RFC;市场数据标注为[行业估算]的为综合公开信息的定性判断,非精确定量数据。