3075
0
9264
超级版主
导语 日常开发经常遇到诡异现象:网络信号显示满格、ping 没有大规模丢包,但 AI 网页 SSE 流式对话经常卡顿、打字机输出断断续续、接口偶发超时断开。很多人第一反应怀疑是大模型推理服务出 Bug,实际根源往往是底层 TCP 网络的丢包‑重传机制。TCP 号称可靠传输,但 “可靠” 不是永不丢包,而是检测丢包并且做重传补偿。本期通俗拆解丢包产生原因、超时重传、快速重传、累计确认、拥塞控制整套逻辑,结合 vLLM SSE 流式场景,梳理故障现象、排查手段与工程避坑要点。
通俗快递类比:TCP 就像严谨的快递物流系统。每一份数据被切分成多个数据包(快递包裹)。发送出去之后,必须收到接收方的签收回执(ACK 确认)。如果包裹中途丢失,物流系统会自动补发。但补发不是没有代价,一旦判定网络拥堵,还会主动降低发送速度,避免整条线路彻底瘫痪。
短板:完全依赖定时器,一旦发生丢包,往往要等待几百毫秒才会补发,对 SSE 流式这类对延迟敏感业务体验影响很大。
经典示例:发送 SEQ1、SEQ2、SEQ3、SEQ4、SEQ5;SEQ2 丢失,SEQ3/4/5 陆续到达。接收端收到 SEQ1 正常确认;收到 3、4、5 的时候,持续返回ACK=2,代表期待序号 2。发送方连续收到 3 次完全相同的重复 ACK,不等 RTO 超时,立刻重传丢失的 SEQ2。
为什么是 3 次重复 ACK?少量乱序也会产生重复 ACK;3 次作为阈值,降低误判概率。快速重传把丢包恢复从几百毫秒超时级别,缩短到毫秒级。
现实坑点:无线网络(WiFi/5G)很多丢包只是无线干扰误码,链路本身并不拥堵。但 TCP 依旧会识别为拥塞,主动降速。现象就是手机信号满格,但是 SSE 流式对话突然卡顿、输出变慢,过一段时间才慢慢恢复吞吐量。
重要提醒:SSE 是应用层协议,本身没有重传能力;完全依赖 TCP 底层重传。TCP 重传会修复字节流,但会带来肉眼可见业务延迟抖动。
注意:ping、ICMP 报文被运营商限速丢弃是常见现象,ping 丢包不代表 TCP 业务一定丢包,优先看 TCP 层面统计。
举报
本版积分规则 发表回复 回帖后跳转到最后一页
相关侵权、举报、投诉及建议等,请发 E-mail:2026@typc.net
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|晋ICP备2026008270号-1|晋公网安备14010602111293号