使用tcptrace进行RTT计算

时间:2011-09-26 16:23:05

标签: tcp tcpdump tcptrace

对于以下附加的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的方式背后会发生一些事情,我不确定。

2 个答案:

答案 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。