tcptrace splitted trace file (incomplete connections) and cwin calculation

From: Xavier Dubois (xdubois@info.fundp.Ac.be)
Date: 10/28/04


From: Xavier Dubois <xdubois@info.fundp.Ac.be>
Subject: tcptrace splitted trace file (incomplete connections) and cwin calculation
Date: Fri, 29 Oct 2004 01:23:05 +0200
Message-Id: <200410290123.05957.xdubois@info.fundp.ac.be>

Hello!

I'm using tcptrace to analyze ns2 traces. Sometimes it is useful to split a
trace file in several parts, and thus it is possible the first packet that
tcptrace see from a connection is an ack.

This is not a problem for almost all the analyzed informations, but the cwin
is not well calculated in this case (a very very very high value). I don't
know if a new version of tcptrace can manage with this or not, but in any
case there is a little patch to "repair" the traces. It only delete the
unwanted ack from the traces.

I suppose there must be the same problems with traces from other sources, so
if you need it you only have to change the $5, $9 and $10 in the script
below, that are respectively the 5,9 and 10th "word" of a line in the traces.

If you have any comment, please send me an email

Xavier

-- 
Xavier Dubois
xdubois@kom.auc.dk
xdubois@info.fundp.ac.be
#!/bin/sh
# This little patch is for the partial traces. Indeed it is possible that the 
first packet
# we see from a TCP connection is an ack, so tcptrace don't understand it and 
give a
# wrong wavg cwin value.
awk '
	BEGIN {
		long=0
		pres[0]=-1
	}
	function isOk(addr){
		ok=0
		i=0
		while((i<long)&&(ok==0)){
			if(pres[i]==addr) ok=1
			i=i+1
		}
		return(ok)
	}
	{
	if (!($5=="ack" && isOk($10)==0)) print
	if (($5 == "tcp") && (isOk($9)==0)) {
		pres[long]=$9
		long=long+1
	}
}' $1
----------------------------------------------------------------------------
To unsubscribe, send a message with body containing "unsubscribe tcptrace" to
majordomo@tcptrace.org.


This archive was generated by hypermail 2.1.7 : 10/29/04 EDT