我想計算TCP數據包的往返時間。使用Wireshark的TCP數據包的RTT時序
但是在wireshark中,我看不到任何特定字段的RTT時序,例如TCP數據包的RTP數據包。
Wireshark做計算RTT圖,但我沒有找到它如何計算。
有人能幫我找出用於相同的公式嗎?
我想計算TCP數據包的往返時間。使用Wireshark的TCP數據包的RTT時序
但是在wireshark中,我看不到任何特定字段的RTT時序,例如TCP數據包的RTP數據包。
Wireshark做計算RTT圖,但我沒有找到它如何計算。
有人能幫我找出用於相同的公式嗎?
TCP內部沒有任何內容給出往返時間。內核根據發送的數據接收ACK需要多長時間來估計它。它記錄了給定序列號何時發生的時間戳,並將其與相應ACK的時間戳進行比較。最初的3次握手爲此提供了一個體面的起始值。
但是,這只是一個估計值,因爲如果接收器感覺它可以用單個回覆響應多個傳入數據包,它可以在短時間內自由延遲ACK。
由於網絡條件的變化,RTT在會話期間頻繁變化。遠離端點的效果(顯然)更明顯。
http://www.wireshark.org/lists/wireshark-users/200906/msg00068.html – NitinG
如果您使用Wireshark的,它顯示iRtt =初始往返每個發送的數據包的往返時間,只要看看「在新窗口/ SEQ/ACK顯示數據包分析」
如果你想獲得RTT的通過的wireshark/tshark的計算的值,以下所做的特技爲我在stdout打印它們:
tshark -r myfile.pcap -Y 'ip.addr == AA.BB.CC.DD' -T fields -e tcp.analysis.ack_rtt
(其中I中使用的顯示器用濾光器-Y
後限制分析只有一個遠程主機)
時間隱含在TCP(RTP,顧名思義,明確涉及時間)。 RTT是由Wireshark在具有過去分段的ACK的分組上計算的,並且被計算爲原始分組的SEQ和該分組的ACK之間的時間增量。由於它是計算出來的,你可以在數據包的[SEQ/ACK分析]下看到它,而不是字段。 – onon15