Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

TcpPduTime

TCP PDU Time

Wireshark 会在内部跟踪大量运行在 TCP 之上的协议的 Protocol Data Unit(PDU)边界,因此它甚至能够找到并解析从某个 segment 中间开始的 PDU。 支持此功能的一些协议包括 NFS(ONC-RPC)、iSCSI、NetBIOS/CIFS 等。 Wireshark 只会对跨多个 segment 的 PDU 执行此操作,而不会对已经完全位于单个 segment 内的 PDU 执行此操作。

显示过滤器字段

在跟踪 PDU 边界时,Wireshark 还会跟踪所见到的最后一个完全或部分属于该 PDU 的 TCP segment,以及它的时间戳。 这使 Wireshark 能够测量传输该 PDU 所花费的时间。

tcp.pdu.time

tcp.pdu.time

此字段测量从 PDU 开始所在的第一个 segment 到包含该 PDU 数据的最后一个已见数据包之间的时间。如果在此 PDU 传输过程中发生任何重传超时,导致传输耗时非常非常长,这将反映在 PDU time 中。 此字段会插入到 PDU 开始所在 segment 的 TCP 协议层中。由于它基于捕获文件后续数据包中的信息,因此在你至少重新过滤捕获文件一次之前,此字段不会显示在协议树中。它不会在捕获文件初始加载和解析期间显示。同样,使用此字段的 coloring rules 也要在你至少重新解析一次捕获之后才会生效。TShark 目前完全无法使用此字段 😦

tcp.pdu.last_frame

tcp.pdu.last_frame

此字段放置在 PDU 开始所在 segment 的 TCP 层中,并保存包含该 PDU 数据的最后一个已见数据包的 frame number。其使用限制与 time 字段相同。

有用提示

这种时间测量非常适合查找 TCP 重传超时导致性能下降的位置。传输时间很长的 PDU 通常是由网络拥塞或其他导致 frame loss 的来源造成的,进而导致重传超时,并最终导致性能下降。

显示

这里是这些新字段插入到起始 segment 中的屏幕截图。注意,传输此 PDU 花费了 >1 秒。可以通过普通过滤器或颜色过滤器对此进行过滤。

这是如何将此测量与 Wireshark 的 IoGraph 功能结合使用的屏幕截图。可以看到,很容易发现发生耗时 >1 秒的重传超时的位置。

导入自 https://wiki.wireshark.org/TcpPduTime,时间为 2020-08-11 23:26:27 UTC

原始页面图片

tcp_pdu_time_fields.gif
tcp_pdu_time_fields.gif
tcp_pdu_maxtime_graph.gif
tcp_pdu_maxtime_graph.gif

相关 Wireshark Wiki 页面

网络分析技术档案