TCP/UDP/双栈协议说明
一句话版:隧道协议决定数据坐哪种"车"进隧道——TCP 是签收快递,丢一件都要补发;UDP 是直播弹幕,快字当头、过去就过去;双栈是两条道一起开,两种车同时跑。
一、是什么
除了网页访问的 HTTP/HTTPS,每条隧道还有一个传输协议属性,决定数据在隧道里以哪种形式跑:
| 协议 | 全称 | 一句话理解 |
|---|---|---|
| 🔌 TCP | 传输控制协议 | 可靠签收:每个包都确认送达、丢了补发,适合不能丢数据的服务 |
| 📡 UDP | 用户数据报协议 | 实时直送:不排队确认、快字当头,适合"过时作废"的实时数据 |
| ♻️ 双栈(TCP+UDP) | — | 一条隧道同时开通 TCP 和 UDP 两种通道 |
在控制台开通隧道(或隧道设置)时选择,产品里的选项就叫 TCP / UDP / 双栈。
二、工作原理
你的内网服务 ←────── 隧道 ──────→ 公网访客
TCP 隧道:数据排成一队、逐包确认,丢一个补一个
(数据库、SSH、网页后端 —— 一字都不能少)
UDP 隧道:数据即到即发、不做补发
(游戏联机、语音视频、DNS —— 旧包没到就别等了)
双栈隧道:同一条隧道里两条通道并行
同一个「域名:端口」,TCP 访客和 UDP 访客都能进
三种形式的访问入口都是 域名:端口 端口直连,都不经过网页协议(HTTP/HTTPS)那一套开关。
三、怎么选
| 你的服务 | 选什么 | 原因 |
|---|---|---|
| 数据库、SSH、远程桌面 | TCP | 数据一字不能丢,要可靠传输 |
| 游戏联机、语音视频、DNS 查询 | UDP | 实时性优先,补发的旧数据反而没用 |
| 控制通道走 TCP、数据/语音流走 UDP 的服务 | 双栈 | 一条隧道两种都要,不必开两条 |
| NAS 隧道 | TCP(固定) | 产品侧不提供双栈选项 |
四、注意事项与常见误区
- 改协议要重连:隧道协议是连接建立时拿到的"快照",修改协议后需要重建连接才会生效,改完没反应先重连一次。
- 双栈带宽是共享的:双栈隧道的 TCP 与 UDP 流量共用这条隧道的带宽额度,不按协议各分一半。
- 并发限制只管 TCP:隧道设置里的并发连接数限制针对 TCP 连接;UDP 不按"连接"计数,不受这个数值约束。
- 隧道协议 ≠ Web 协议:Web 协议管的是网页客人走 HTTP 还是 HTTPS(见 HTTP/HTTPS 开关说明);隧道协议管的是底层传输形式,两个是独立的设置,别搞混。
- UDP 服务连不上先查协议:服务是 UDP 的、隧道却选了 TCP,包是进不来的——这是最常见的翻车点。
五、相关文档
- 各种协议分别适合什么服务:支持协议
- 端口直连入口的开关:端口访问开关说明
- 网页访问的协议开关(别和本篇混淆):HTTP/HTTPS 开关说明
- 隧道全景速览:隧道基础说明
记住内网云:TCP 签收要可靠,UDP 直送拼实时;两种都要选双栈,改完协议重连一次才生效。