搜索 K
Appearance
作者:AirPick 实验室 · 分布式网络架构组 更新时间:2026-01 · 适用对象:从新手到进阶的跨境链路使用者
下文把三套口径的底层机理、量化对照矩阵、分场景选型、抓包命令与避坑清单一次性讲透。
ping 命令默认发送 ICMP Type 8(Echo Request),目标回 Type 0(Echo Reply)。RTT(Round-Trip Time)就是请求到回复的时间差。
问题在于:ICMP 是网络层协议,不携带端口、不建立状态、不经过任何代理逻辑。运营商和 IDC 的边界路由器普遍对 ICMP 执行以下策略之一:
100 pps 甚至更低,高并发下 RTT 被排队延迟污染。所以当你看到面板上写着"香港 8ms",很可能测的是 CDN 边缘 PoP,而流量真正走的是"广州 → 香港中转 → 洛杉矶落地",真实链路 160ms 起跳。这种脱节就是"Ping 低但连不上/连上很卡"的核心成因。
tcping 或 nping --tcp 走的是完整 TCP 三次握手:SYN → SYN-ACK → ACK。它比 ICMP 靠谱得多,因为:
但 TCP 握手只到传输层,它依然不证明"能建立 TLS、能发出 HTTP 请求、能收到响应"。一条被 GFW 中途 Reset 的链路,tcping 443 完全可能通、但 TLS ClientHello 一发就被 RST。
这是唯一值得作为主指标的口径。一次完整的 HTTPS 请求包含:
[ DNS 解析 ] → [ TCP 三次握手 ] → [ TLS 1.3 握手 ] → [ HTTP 请求 ] → [ 首字节 TTFB ]真连接延迟通常定义为:从发起连接到收到 HTTP 首字节的耗时,也就是 curl 里的 time_starttransfer。它把网络 RTT、TLS 计算开销、代理转发链路、出口回程一并算进去了。相同线路下,真连接延迟一般是 TCP RTT 的 2.5x ~ 4x,因为 TLS 1.3 至少要一次额外往返,若无 session resumption / 0-RTT 就是两次。
跨境流量的实际路径由 BGP 选路决定,而 BGP 的最优路径是"AS 跳数短"而非"物理距离近"。常见现象:上海到东京,物理 1,800km,光在光纤里 12ms 可以到;但 BGP 可能把你导到香港 → 新加坡 → 洛杉矶 → 东京,RTT 直接翻十倍。
带宽延迟积 BDP = 带宽 × RTT。一条 100Mbps / 200ms 的链路,BDP 约 2.5MB。传统 CUBIC 在丢包场景下会大幅降窗,导致"延迟不高但速度上不去"。BBRv3 把丢包重传判定和带宽探测彻底解耦,对 1%–3% 随机丢包的跨境链路吞吐提升非常明显。所以延迟相同时,落地是否启用 BBRv3 直接决定你的 4K 会不会缓冲。
下表是 AirPick 实验室对主流节点在真实条件下采集的口径对照,用于评估一条线路的真实质量:
| 指标 | 单位 | 采样工具 | 优质阈值 | 说明 |
|---|---|---|---|---|
| ICMP Echo RTT | ms | ping -c 50 | 参考值,不作决策 | 易被 QoS 降级/伪造 |
| TCP SYN RTT | ms | tcping -p 443 | 与 ICMP 差值 低于 30% | 反映传输层可达性 |
| TLS 握手耗时 | ms | curl time_appconnect | 低于 3× TCP RTT | 反映节点 CPU / 指纹计算开销 |
| 真连接延迟 TTFB | ms | curl time_starttransfer | 低于 350ms(东亚) | 端到端体感核心指标 |
| 抖动 Jitter | ms | mtr -rwzbc 100 | 低于 10ms | 影响音视频实时性 |
| 丢包率 | % | mtr 尾段 | < 1% | 高于 3% 会导致 TCP 反复降窗 |
| 下行带宽(单线程) | Mbps | iperf3 -P 1 | 晚高峰不低于标称 40% | 单线程才暴露超售 |
| 下行带宽(多线程) | Mbps | iperf3 -P 8 | 接近标称值 | 多线程看总量 |
| 修复重传率 | % | ss -ti | < 0.5% | 侧面反映链路稳定性 |
判定原则:以 TCP SYN RTT 为基线,若真连接延迟超过基线的 4 倍,说明 TLS 或代理转发层有瓶颈;若 TCP RTT 与 ICMP RTT 差值超过 3 倍,则 ICMP 数据不可用。
日流量 低于 20GB,对峰值带宽要求不高,但对握手延迟敏感——Google Scholar、arXiv、Discord 全是小请求高频往返。这类用户应优先看 TTFB 而不是带宽,选 IEPL 小口子套餐反而比大带宽 BGP 更顺。
Netflix 4K 单流需 15Mbps 稳定带宽,YouTube 4K 需 20Mbps,且首次起播对 TTFB 敏感。选带宽充裕、晚高峰不塌的 BGP+BBRv3 线路即可,不必迷信低延迟。
抖动和丢包是唯一的敌人,RTT 只要不超过 80ms 都体感可接受。必须选 IEPL 类型,且用 mtr 验证尾段零丢包。
看单线程带宽与修复重传率,延迟次要。BBRv3 落地是刚需。
url-test proxy-groups:
- name: Auto-Fast
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 80 # 关键:容差过小会导致频繁切换造成连接重置
lazy: false避坑:interval 设成 30 秒会让客户端每 30 秒向所有节点发一次探测,多设备场景下等于自建 DDoS,部分机场会据此触发风控。tolerance 建议 50–100ms,否则节点在地铁、电梯里来回跳,TCP 连接被打断,表现为"网页加载一半卡住"。
使用 test-url + test-timeout 组合,把探测 URL 换成真实会访问的站点(如 https://www.google.com/generate_204 不行就用 https://cp.cloudflare.com/generate_204)。默认的 http://www.apple.com 在国内 CDN 有缓存,测出来全是绿的,纯属自欺。
DNS 分流必须走 dnsmasq + smartdns 配合 fake-ip,否则每次冷启动都吃一次真实 DNS 解析延迟。把 cache-size 提到 10000 以上,减少重复解析。
# 1. ICMP 基线
ping -c 50 -i 0.2 node.example.com
# 2. TCP 握手(Linux 用 nping,Windows 用 tcping)
nping --tcp -p 443 -c 30 node.example.com
# 3. 端到端真连接延迟
curl -o /dev/null -s -w \
"DNS: %{time_namelookup}s\nTCP: %{time_connect}s\nTLS: %{time_appconnect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" \
https://www.google.com
# 4. 路由与丢包
mtr -rwzbc 100 1.1.1.1
# 5. 连接状态与重传
ss -ti dst node.example.com| 异常阶段 | 典型症状 | 根因定位 |
|---|---|---|
time_namelookup 高(高于 200ms) | 每次冷启动都慢 | 本地 DNS 污染或上游解析器远,改用 DoH/DoT |
time_connect - time_namelookup 高 | TCP 握手慢 | 链路拥塞或节点过载,换中转入口 |
time_appconnect - time_connect 高 | TLS 卡 | 节点 CPU 吃满或 Reality 指纹计算开销大 |
time_starttransfer - time_appconnect 高 | TTFB 高 | 代理出口到目标站回程差,或目标站限速 |
time_total 高但 TTFB 正常 | 传输慢 | 带宽瓶颈、CUBIC 未换 BBRv3 |
mtr 尾段丢包 高于 3% | 卡顿、断连 | 落地或中转丢包,必须换线 |
ss -ti 重传率 高于 1% | 速率上不去 | 拥塞或线路质量问题 |
| 宣传话术 | 真相 | 自检方法 |
|---|---|---|
| "全网最低延迟 8ms" | 测的常是 CDN 边缘 | 对真实落地 IP 做 tcping |
| "IEPL 专线" | 多为 BGP 中转包装 | mtr 看路径是否经过公网骨干 AS |
| "原生 IP 解锁 Netflix" | 多为 DNS 解锁,非原生 | 查 IP 归属 + 试播 Netflix 自制剧 |
| "不限速/不限量" | 超售严重 | 晚高峰 21:00–23:00 单线程测速 |
| "IP 永不更换" | 用共享 IP,随时掉 | 三次不同时段查出口 IP |
| "支持秒开 4K" | 起播快但拖进度条缓冲 | 手动拖到 80% 观察加载 |
核心原则:所有"延迟"宣传都要求对方给出真连接延迟口径的截图,而非 ICMP Ping 截图。
Q1:为什么我 Ping 20ms 却打不开 YouTube? 大概率是 ICMP 被边缘代答,真实链路走的是绕行路径。用 curl 测 TTFB 验证,若 TTFB 超过 800ms,说明真实路径严重绕行或被 QoS 限速。
Q2:面板延迟和实际体验差很多,是面板在骗我吗? 不一定是骗,是口径不同。面板用 ICMP �� TCP 到入口节点,浏览器走的是完整 HTTPS 到落地。要求面板方提供 TTFB 口径就一致了。
Q3:TCPing 通了但代理连不上? 典型 SNI 阻断或 TLS 指纹被识别。检查客户端是否启用了 uTLS / Reality,或更换 ECH、伪造 SNI 策略。
Q4:为什么不同节点面板显示延迟一样? 多半是客户端缓存或探测失败后显示超时默认值。关掉 lazy、把 interval 调到 300s 观察是否仍有差异。
Q5:延迟低就一定快吗? 不一定。低延迟 + 高丢包 = 体感极差;高延迟 + BBRv3 + 零丢包 = 4K 流畅。延迟只决定"响应快不快",带宽和丢包决定"流畅不流畅"。
Q6:UDP 测速和 TCP 测速哪个准? 看用途。看视频、玩游戏走 UDP(QUIC)时用 iperf3 -u;网页、下载走 TCP。两者数值差异超过 30% 说明链路存在 UDP QoS 或 QUIC 阻断。
Q7:为什么晚高峰延迟翻倍? 跨境公网链路在 19:00–23:00 处于拥塞高峰,BGP 绕行变化、缓冲区膨胀(bufferbloat)共同推高 RTT。IEPL 专线是唯一能规避这一现象的方案。
写在最后:理解 Ping、RTT 与真连接延迟的区别,本质上是从"看数字选节点"进化到"看口径选线路"。一个专业的用户不该被面板上的漂亮数字喂饱,而应该拿着 curl -w 与 mtr 去亲手验证链路。希望这篇文章能让你少踩几个"延迟 8ms 但打不开网页"的坑。
AirPick · 用工程师的视角评测每一条线路。