对于以下附加的tcptrace输出(取自RTT统计信息下的网站http://tcptrace.org/manual/index.html)
1 arg remaining, starting with 'indica.dmp.gz'
Ostermann's tcptrace -- version 6.4.5 -- Fri Jun 13, 2003
153 packets seen, 153 TCP packets traced
elapsed wallclock time: 0:00:00.128422, 1191 pkts/sec analyzed
trace file elapsed time: 0:00:19.092645
TCP connection info:
1 TCP connection traced:
TCP connection 1:
host a: 192.168.0.70:32791
host b: webco.ent.ohiou.edu:23
complete conn: yes
first packet: Thu Aug 29 18:54:54.782937 2002
last packet: Thu Aug 29 18:55:13.875583 2002
elapsed time: 0:00:19.092645
total packets: 153
filename: indica.dmp.gz
a->b: b->a:
total packets: 91 total packets: 62
. . . . . .
. . . . . .
throughput: 10 Bps throughput: 94 Bps
RTT samples: 48 RTT samples: 47
RTT min: 74.1 ms RTT min: 0.1 ms
RTT max: 204.0 ms RTT max: 38.8 ms
RTT avg: 108.6 ms RTT avg: 8.1 ms
RTT stdev: 44.2 ms RTT stdev: 14.7 ms
RTT from 3WHS: 75.0 ms RTT from 3WHS: 0.1 ms
RTT full_sz smpls: 1 RTT full_sz smpls: 1
RTT full_sz min: 79.5 ms RTT full_sz min: 0.1 ms
RTT full_sz max: 79.5 ms RTT full_sz max: 0.1 ms
RTT full_sz avg: 79.5 ms RTT full_sz avg: 0.1 ms
RTT full_sz stdev: 0.0 ms RTT full_sz stdev: 0.0 ms
post-loss acks: 0 post-loss acks: 0
所以我的问题是,如果你看到a-> b和b-> a的RTT平均值,则值存在重大差异。我不希望它们是相同的,但差别很大。我认为在计算RTT的方式背后会发生一些事情,我不确定。
答案 0 :(得分:4)
摘要: 请务必查看RTT,了解对话的正确部分,具体取决于您进行捕获的位置
This answer解释说tcptrace使用数据段的时间戳和确认它的ACK来计算RTT的时间戳之间的差异。这意味着 RTT计算将取决于您捕获跟踪的位置
例如,如果要捕获节点A上的数据包,在看到从节点B到达的相应段之后几乎会立即看到A的ACK,从而在B-> A段中看到非常低的RTT值。对于A-> B段,您将测量实际RTT,因为在看到A中的段和来自b的相应ACK之间将发生“实际”往返。
如果您在节点b上进行捕获,情况将会逆转,如果您在中间某处进行捕获,则“真实”RTT将近似为A-> B + B-> A的总和。
答案 1 :(得分:0)
RTT计算不在发送方节点进行。它们本来可以沿着这条路走。 a-> b和b-> a不一定在发送器和接收器节点之间。
可能是这样的
S--A--------->R
其中S是发送者,R是接收者,A是S和R之间的某个点.a-> b可以表示从A到R的RTT,而b-> a可以表示来自A的RTT到S。