From: KOUFALAS P. <Pau...@te...> - 2006-01-18 03:52:59
|
G'day list, I'm using iperf to obtain goodput measurements for 2 PCs communicating over point to point serial links using IPSec tunnels. Iperf is great but I'm seeing an issue on very low rate links, an interrmittent long wait on closing TCP connections. My setup is as follows Win2kSrv--hub--IPSec VPN gw--router--channel simulator--router--IPSec VPN gw--hub--WinXPclient The VPN gw is just a PC running Linux with 2 Ethernet NICs and IPSec enabled. The channel simulator can introduce delay and errors on the serial link. When the channel simulator is set to 9.6kbps (it's lowest rate), I've found that iperf can often take a *long* time to close the TCP connection...resulting in a much lower than expected goodput measurement. But this doesn't always happen, i.e. it is intermittent, but not infrequent. I installed Ethereal at the server end to check out TCP flow behaviour. I can clearly see TCP packets with FIN associated with this delay. The timestamps clearly show a long wait...here is the flow graph from Ethereal for a particularly bad example, where the transfer of (random) data finished at ~90 sec, but there is a wait of ~68 sec before the TCP connection is closed and iperf reports its results! [huge snip] |88.393 | ACK | |Seq = 1 Ack = 96901 | |(2502) <------------------ (5001) | |89.458 | ACK - Len: 1404 |Seq = 96901 Ack = 1 | |(2502) -------------------> (5001) | |89.566 | PSH, ACK - Len: 24 |Seq = 98305 Ack = 1 | |(2502) -------------------> (5001) | |89.566 | ACK | |Seq = 1 Ack = 98329 | |(2502) <------------------ (5001) | |157.623 | FIN, ACK | |Seq = 98329 Ack = 1 | |(2502) -------------------> (5001) | |157.623 | ACK | |Seq = 1 Ack = 98330 | |(2502) <------------------ (5001) | |157.623 | FIN, ACK | |Seq = 1 Ack = 98330 | |(2502) <------------------ (5001) | |157.922 | ACK | |Seq = 98330 Ack = 2 | |(2502) -------------------> (5001) | Now my question is: Is this perhaps a bug in iperf 1.7.0 on Windows, or is it legitimate behaviour, or something that needs to be further investigated? Any comment / advice is much appreciated. Cheers, Paul Koufalas |