Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Ethereal-dev: RE: [Ethereal-dev] TCP/IP Retransmission

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Pia Sahlberg" <piabar@xxxxxxxxxxx>
Date: Fri, 26 Mar 2004 09:25:06 +0000
"wrong" and "stupid" are funny terms for open source developers to use
when talking about someones efforts to improve performance (even if you
do not agree with the procedures)...

lets clarify with an example:
It is wrong and stupid since it removes one of the nice features of TCP : reliability.

Without thinking an implementoir might think lets just RST the session after i sent out the last segment to the other and performance will be better than doing it the real way with FIN.

So he writes code that generates packets like :
Server->Client   TCP last segment of the data pdu
Server->Client   TCP RST

Now,   will the server ever know if teh data was received reliably or not?
Will it even work?
Think packet reordering. When the RST arrives to the client before the data segment so the client kills the session before it has even received the data it was waiting for. Bad.
This can not happen if you close the session using FIN.


So essentially that implementation is now using unreliable tcp and no one can figure out why there are sometimes "issues" causing the client to reissue the commands across a new session. Worse, Server does not even know whether the client received the data or not. whats the point in using TCP if not to know whether the data arrived safely to the other end or not.

_________________________________________________________________
What's your house worth? Click here to find out: http://www.ninemsn.realestate.com.au