把端到端时延拆成传播、排队、握手、重传四段,逐段判断哪些可压缩、哪些不可压缩,并给出普通人可自行执行的测量方法。理解这段拆解之后,就能判断哪些"低延迟"宣称是可信的。
传播时延由光在光纤中的速度与物理距离决定。跨国访问的距离摆在那里,这一段无法通过任何软件手段压缩。任何声称能大幅降低跨境传播时延的说法都不成立——唯一能做的是选择地理上更近的接入点与出口点。
排队时延来自路径上每台设备的缓冲队列。队列长度与链路利用率强相关:利用率低时队列几乎为空,利用率接近饱和时队列长度急剧增长。这是四段里弹性最大的一段,也是优化空间最集中的一段。
握手时延是协议建立连接所需的往返次数。完整握手至少一个往返时间,首包就得等这么久。会话恢复机制可以把重连场景压缩到零往返,但首次连接无法避免。
重传等待是丢包后等待重传并收到数据的时间。它取决于丢包检测机制的灵敏度——检测越保守,等待越久。在丢包率高的链路上,这一段可能成为时延的主要来源。
排队时延的特点是"非线性"。链路利用率从 50% 升到 70% 时,队列长度缓慢增长;从 80% 升到 95% 时,队列长度可能翻好几倍。这意味着晚高峰期间,同一条路径的时延可能比空闲时段高出数倍,而这部分增量不来自距离,纯粹来自排队。
优化排队时延有两个方向。一是避开拥塞路段,把流量引导到利用率较低的路径上;二是减少路径上的转发次数,因为每一次转发都是一次潜在的排队。前者依赖实时探测,后者依赖更直接的路径选择。
需要强调"避开"不等于"绕路"。绕路会引入额外的传播时延。只有当原路径的排队时延增量大于绕路带来的传播时延增量时,重选才是划算的。这个判断需要实时的排队时延估计,而不是固定的绕路策略。
握手压缩的路径是会话恢复。客户端与服务端在一次完整握手后共享会话票据,下一次连接时凭票据直接携带应用数据,省掉往返。这条路有一个必须说明的代价:恢复阶段的数据缺乏前向保密保护,且理论上可被重放。因此合理的做法是只在幂等请求上启用,涉及状态变更的操作仍走完整握手。
重传压缩的路径是减少"等待确认"的时间。在丢包率较高的链路上,与其等确认超时后再重传,不如提前发送冗余数据供接收端直接恢复。这本质上是用带宽换时延——在带宽充裕但丢包严重的场景下是划算的交易。
不需要专业设备,用系统自带工具就能完成一轮有意义的测量:
有了上面的框架,判断标准就清晰了。一段可信的低延迟描述应当说明它优化的是哪一段时延,以及通过什么机制。例如"减少中转跳数以降低排队时延"是可以讨论的;而"保证 30ms 跨境延迟"则与传播时延的物理下限冲突,不可信。
同样,凡是把实验室峰值、理想网络条件下的单次测量当作普遍承诺的说法,都值得警惕。真实体验取决于用户自己的网络条件,可复现的测量方法的价值远高于任何承诺数值。