网络基础 WIKI · 知识

TCP、UDP、TLS 是什么?和 Hysteria2、Trojan 等代理协议有什么关系

TCP、UDP、TLS 是什么?本文用通俗语言解释 TCP 的可靠传输、UDP 的轻量快速和 TLS 的加密握手,对照 Trojan、VLESS、AnyTLS、Hysteria2 分别跑在哪一层,说明 UDP 受限时 Hysteria2 容易超时、系统时间不准导致 TLS 握手失败的原因,帮你看懂节点报错。

发布于 最后更新 3 分钟阅读

简要回答 TCP 是可靠、有序的传输方式,UDP 是轻量、不保证送达的传输方式,TLS 是在传输之上加密并验证身份的安全层。Trojan、VLESS、AnyTLS 等协议通常基于 TCP 加 TLS,Hysteria2 则基于 UDP 上的 QUIC。知道这一点,就能理解为什么不同协议的节点会在不同网络环境下表现不同。

TCP、UDP 与 TLS 分层关系以及常见代理协议所在位置的示意图
文章目录 6 节
  1. 三个概念分别是什么
  2. 与常见代理协议的关系
  3. 一次代理连接大致经历了什么
  4. 这些知识能帮你排查什么
  5. 用命令简单验证 TLS 连接
  6. 常见问题

TCP 和 UDP 是两种数据传输方式,TLS 是加在传输之上的加密层。简单说:TCP 可靠但开销较大,UDP 轻快但不保证送达,TLS 负责加密和验证对方身份。常见代理协议里,Trojan、VLESS、AnyTLS 通常跑在 TCP 加 TLS 上,Hysteria2 跑在基于 UDP 的 QUIC 上,所以它们在同一网络下的表现可能差别很大。

三个概念分别是什么

  • TCP:发送前先“握手”建立连接,数据按顺序到达,丢了会重传。网页、下载、邮件大多依赖 TCP。
  • UDP:不建立连接,直接发送数据包,不保证顺序也不自动重传。语音、视频通话、游戏和 DNS 查询常用 UDP。
  • TLS:在连接之上完成加密握手,确认服务器身份并加密内容。浏览器地址栏里的 HTTPS,就是 HTTP 加上 TLS。
对比项 TCP UDP
连接方式 先握手再传输 无需握手
可靠性 丢包自动重传 不保证送达
顺序 保证顺序 不保证顺序
开销 较大 较小
高丢包网络 重传多,速度下降明显 可由上层协议自行处理

与常见代理协议的关系

协议 底层传输 加密方式 特点
Trojan TCP TLS 流量外观接近普通 HTTPS
VLESS TCP(常见) TLS 或 Reality 协议本身轻量,加密依赖外层
AnyTLS TCP TLS 着重处理 TLS 流量特征,介绍见 AnyTLS 是什么
Hysteria2 UDP(QUIC) QUIC 内置 TLS 1.3 在高丢包线路上可能更有优势

QUIC 是一种跑在 UDP 上的传输协议,自带加密和可靠传输机制。Hysteria2 在它的基础上使用自己的拥塞控制思路,因此对 UDP 是否畅通比较敏感。更详细的协议对比见 Hysteria2、VLESS 与 Trojan 对比。

一次代理连接大致经历了什么

以一个基于 TCP 加 TLS 的节点为例,你在浏览器打开海外网站时,大致会发生以下过程:

  1. 浏览器把请求交给本地代理客户端。
  2. 客户端与节点服务器建立 TCP 连接,完成三次握手。
  3. 双方进行 TLS 握手,客户端验证服务器身份并协商加密方式。
  4. 客户端在加密通道中告诉节点“要访问哪个网站”。
  5. 节点代为访问目标网站,并把结果沿原路送回。

Hysteria2 节点的流程类似,只是第 2、3 步合并为一次基于 UDP 的 QUIC 握手,建立连接所需的往返次数更少。任何一步失败,客户端日志里都会留下对应的提示,这也是排查时要先看日志的原因。

这些知识能帮你排查什么

  1. 只有 Hysteria2 节点超时:大概率是当前网络对 UDP 有限制,换 TCP 类协议节点对比,排查思路见 节点超时怎么办。
  2. 提示证书错误或握手失败:多与 TLS 有关,先检查系统时间和订阅是否最新,详见 TLS 握手失败排查。
  3. 网页正常但语音、游戏不通:可能是节点或客户端没有正确转发 UDP 流量。

用命令简单验证 TLS 连接

下面的命令会显示 TLS 握手的详细过程,可以看到证书信息和协商的 TLS 版本(Windows 请使用 curl.exe):

curl -v -I -m 10 https://www.example.com

输出中出现 SSL connection using TLSv1.3 之类的行,说明 TLS 握手成功;如果停在握手阶段报错,就重点排查时间、网络和证书。

编辑推荐 · 综合第 1

二猫云
  • 三网优化 IEPL专线+中转+直连
  • ¥20/月起 · 130GB/月
  • 设备不限 · 运营2年+(2024年4月成立)
  • AI:ChatGPT、Claude、Claude Code、Codex、Gemini

常见问题

Hysteria2 为什么在有些网络下完全连不上?

Hysteria2 基于 UDP,如果当前网络对 UDP 流量限速或限制,节点就可能超时。这时换用同地区基于 TCP 的 Trojan、VLESS 或 AnyTLS 节点通常就能恢复。

TLS 握手失败一般是什么原因?

常见原因包括系统时间偏差过大、节点证书或配置变更而订阅未更新、客户端内核过旧,以及网络中间设备干扰。先校准时间、更新订阅和客户端。

普通用户需要自己选择 TCP 还是 UDP 吗?

不需要手动配置,协议已经决定了底层用哪种方式。你只需要在某类节点表现不好时,换另一类协议的节点对比即可。