TCP 流时序图是什么
TCP Stream Graphs 是 Wireshark 针对单条 TCP 流画图的工具集:X 轴时间、Y 轴相对序列号,把两个方向的数据绘制成折线,常用的 Time Sequence 图也叫 Stevens 图。图形形态直接对应协议行为——重传是回退或重叠的线段,发送停顿是一段平台,丢包等待补齐是阶梯。同一入口还有吞吐与时延两张图。
基本信息
| 入口 | Statistics → TCP Stream Graphs |
|---|---|
| 前提 | 先在报文列表选中该流的任意一个报文 |
| 图型 | Time Sequence / Throughput / Round Trip Time |
| 方向切换 | 图表窗口内可换方向并缩放 |
| 适用版本 | Wireshark 3.x / 4.x |
典型使用场景
- 怀疑某条长连接吞吐低时,一眼看出瓶颈是丢包、停顿还是拥塞收缩
- 零窗口排查:看平台出现的时刻,与接收端应用日志对齐
- 跨地域传输质量评估:Throughput 图与 RTT 图对照看带宽时延积是否用满
- 向他人解释问题:图表比逐包罗列 seq/ack 更直观
- 验证调优效果:同一业务改造前后各画一次对比形态
操作路径
操作路径
选中报文 → Statistics → TCP Stream Graphs → Time Sequence # 主图
窗口内左键拖动可框选放大,右键可切换方向 # 定位问题区间
Throughput 图看速率抖动 # 速率维度
Round Trip Time 图看时延漂移 # 时延维度图形形态速查
| 图形形态 | 对应行为 | 说明 |
|---|---|---|
| 线段回退或重叠 | 重传 | 序列号停住后又重复出现同一段数据 |
| 水平平台 | 发送停顿 | 多为零窗口通告或应用无数据可发 |
| 阶梯状上升 | 丢包后补齐 | 重传填补缺口后继续爬升 |
| 斜率明显变缓 | 吞吐下降 | 拥塞窗口收缩或链路出现竞争 |
| 两方向线错开明显 | 时延偏大 | 两条线的时间差即为大致 RTT |
图形窗口内可直接切换流编号与方向,不必退回主列表重新选包。
从会话中途开始的抓包基线不完整,图形形态会失真,样本过短时不要据此下结论。
读图要点
- 先确认时间范围覆盖完整会话,样本不足时图形形态不可信
- 鼠标停在折线上可定位到对应报文,图形与列表可以互相跳转定位
- 两条线之间的垂直距离近似单向延迟,水平偏移反映发送与确认的节奏差
- Throughput 图出现规律锯齿,多为拥塞收缩与恢复反复循环
- 同一业务改造前后各画一次,用形态差异说明变化
同一入口下的 RTT 图与 io,stat 的 AVG 结论可能略有差异,前者按 ACK 配对取样本,后者按时间格聚合,混用前先统一口径。