在选择网络代理节点或协议(如 Shadowsocks、VMess、VLESS、Hysteria 2、TUIC)时,经常会看到“支持 UDP 转发”、“适合游戏与语音”等介绍。理解 TCP 与 UDP 的底层差异,对于配置高效的网络环境至关重要。
一、TCP 与 UDP 的底层原理区别
OSI 模型的传输层主要由两大协议组成:
-
TCP(传输控制协议 / Transmission Control Protocol)
- 面向连接:发送数据前必须经过“三次握手”(SYN, SYN-ACK, ACK)。
- 可靠传输:采用序号、确认应答(ACK)、超时重传与拥塞控制。若数据包丢失,TCP 会暂停后续传输并重新发送丢包,确保接收方拿到完整无误的数据。
- 代价:丢包时会产生阻塞(Head-of-Line Blocking),导致整体延迟飙升。
-
UDP(用户数据报协议 / User Datagram Protocol)
- 无连接:无需建立连接,直接向目标 IP 发送数据包。
- 不可靠但极速:不保证按序到达,也不自动重传丢包。
- 优势:没有丢包重传等待,实时性极强。
二、为什么游戏与实时音视频必须依赖 UDP?
在进行联机游戏(如 CS:GO、Valorant、Apex Legends)或语音通话(Discord、Zoom)时:
- 时效性大于完整性:100 毫秒前的玩家位置数据如果丢失,直接丢弃即可,不需要重传旧数据。如果像 TCP 一样触发重传,会导致画面瞬间“回弹”或卡顿。
- 语音通信:即使丢失 1% 的声音数据包,听觉上仅表现为轻微杂音;但如果触发 TCP 队头阻塞,整个语音会停顿数秒。
三、代理协议对 UDP 的支持演进
传统的代理协议在处理 UDP 流量时面临技术挑战:
-
早期的 TCP 封装 UDP:
- 旧版代理软件通过 TCP 管道封装传输 UDP 数据包(UDP-over-TCP)。
- 结果:一旦遭遇公网丢包,TCP 重传机制会导致 UDP 延迟暴增,游戏断线。
-
现代 UDP 盲转(UDP Associate):
- SOCKS5 与 Shadowsocks 支持建立独立的 UDP 关联通道。
-
基于 QUIC/UDP 的新一代协议(Hysteria 2 & TUIC):
- 彻底摒弃 TCP 作为底层载体,直接运行在 UDP 之上。
- 自研拥塞控制算法(如 BBR、Brutal 算法),在弱网高丢包环境(如晚高峰跨国长途)下依然保持极高的吞吐量与极低延迟。
四、如何验证节点是否正常支持 UDP?
-
在客户端检查:
- 查看节点配置是否开启
udp: true。
- 查看节点配置是否开启
-
检测 STUN / WebRTC:
- 打开 Discord 或游戏客户端,观察连接状态是否显示为
UDP Connected/RTC Connected。
- 打开 Discord 或游戏客户端,观察连接状态是否显示为
-
路由分流建议:
- 将普通网页浏览与大文件下载交由稳定的 TCP/TLS 节点(如 VLESS-REALITY)。
- 将实时联机游戏与语音流量分流至专业的 UDP/Hysteria 2 专线节点。
* 点击复制包含绝对主地址的分享链接