Appearance
Appearance
本页面可能并不准确。请参阅用户指南中的 TCP Analysis 部分,以获取更新的文档。
默认情况下,Wireshark 和 TShark 会跟踪所有 TCP 会话,并实现其自己粗略版本的 Sliding_Windows。这要求 dissector 保留一些额外的状态信息和内存,但可以更好地检测有意义的 TCP 事件,例如重传。与任何其他协议分析器相比,这可以对丢包和重传进行更好、更准确的测量。(但它仍然并不完美)
此功能不应对 Wireshark 的运行时内存需求产生太大影响,但如有需要可以禁用。
启用此功能后,Wireshark 内部的滑动窗口监控将检测并触发显示 TCP 的有意义事件,例如:
TCP Retransmission - 当发送方在确认超时后重新传输一个数据包时发生。
TCP Fast Retransmission - 当发送方在确认计时器到期前重新传输一个数据包时发生。发送方会收到一些序列号大于已确认数据包的包。发送方应在收到 3 个重复 ACK 时进行 Fast Retransmit。
TCP_Out-of-order - 当在某个连接上看到一个序列号低于此前收到的数据包的包时发生。
TCP Previous segment lost - 当某个数据包到达时,其序列号大于该连接上的“下一个预期序列号”时发生,表示被标记数据包之前的一个或多个数据包未到达。此事件是丢包的良好指示,并且很可能伴随出现 “TCP Retransmission” 事件。
TCP_ACKed_lost_segment -
TCP Keep-Alive - 当序列号等于前一个数据包中最后一个数据字节时发生。用于促使接收方发送 ACK。
TCP Keep-Alive ACK - 不言自明。为响应 “keep-alive” 数据包而发送的 ACK 数据包。
TCP DupACK - 当看到相同的 ACK 号,并且它低于发送方发送的最后一个数据字节时发生。如果接收方检测到序列号中存在间隙,它会为该连接上随后收到的每个数据包生成一个重复 ACK,直到缺失的数据包成功收到(重传)为止。这是数据包被丢弃/缺失的明确指示。
TCP ZeroWindow - 当接收方通告的接收窗口大小为零时发生。这实际上告诉发送方停止发送,因为接收方缓冲区已满。表示接收方存在资源问题,因为应用程序没有及时从 TCP 缓冲区中取走数据。
TCP ZerowindowProbe - 发送方通过发送下一个数据字节来促使接收方发送 ACK,以测试接收方的零窗口条件是否仍然存在。如果窗口仍为零,发送方会在再次探测前将其 persist timer 加倍。
TCP ZeroWindowViolation - 发送方忽略了接收方的零窗口条件,并发送了额外的数据字节。
TCP WindowUpdate - 这表示该段是纯 WindowUpdate 段。当接收端应用程序已经从 RX 缓冲区中消费了已接收的数据,导致 TCP 层向另一端发送 WindowUpdate,以表明缓冲区中现在有更多可用空间时,就会发生 WindowUpdate。通常会在发生 TCP ZeroWindow 条件后看到。一旦接收方上的应用程序从 TCP 缓冲区取走数据,从而释放空间,接收方应发送一个通告当前窗口大小的 TCP WindowUpdate,通知发送方 TCP ZeroWindow 条件不再存在。
TCP WindowFull - 当某个段中的负载数据会完全填满 TCP 会话另一端主机上的 RX 缓冲区时,会在该段上设置此标志。发送方知道它已经发送了足够的数据来填满最后已知的 RX 窗口大小,因此现在必须停止发送,直到至少部分数据被确认(或直到最早未确认数据包的确认计时器到期)。这会导致发送方和接收方之间的数据流延迟,并降低吞吐量。当此事件发生时,另一台主机上可能会出现 ZeroWindow 条件,并且我们可能会看到返回的 TCP ZeroWindow 段。请注意,即使从未触发 ZeroWindow 条件,这种情况也可能发生。例如,如果 TCP WindowSize 太小,无法适应较高的端到端延迟,则会显示 TCP WindowFull,而在这种情况下完全不会有任何 TCP ZeroWindow 指示。--- 这应该拆分到其自己的页面中,并提供更详细的说明。
XXX 为这些事件添加简要说明
这些事件会被前置到摘要显示的信息列中,以便容易发现。为了让这些事件真正醒目,请为 “tcp.analysis.flags” 添加一条着色规则,使用红色背景和黄色文本。这些事件还都会在 TCP 协议展开项中创建一个新的合成展开项,其中包含为什么此 TCP 数据包有意义的信息。
XXX 添加这些展开字段及其过滤器名称的列表
要禁用此功能,请转到 TCP 首选项,并取消勾选 Analyze TCP sequence numbers 的复选框。
Analyze TCP sequence numbers.
Imported from https://wiki.wireshark.org/TCP_Analyze_Sequence_Numbers on 2020-08-11 23:26:28 UTC