home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!caen!hellgate.utah.edu!cc.usu.edu!jrd
- From: jrd@cc.usu.edu (Joe Doupnik)
- Newsgroups: comp.protocols.tcp-ip
- Subject: Re: time outs in FIN-WAIT2??
- Message-ID: <1993Jan9.164734.62582@cc.usu.edu>
- Date: 9 Jan 93 16:47:34 MDT
- References: <1993Jan9.164215.20972@jupiter.sun.csd.unb.ca>
- Organization: Utah State University
- Lines: 49
-
- In article <1993Jan9.164215.20972@jupiter.sun.csd.unb.ca>, dedgar@mta.ca writes:
- > Hello
- >
- > I was wondering if anyone out there knows anything about a curious thing I've
- > seen while ftping into various machines.
- >
- > I am writing a pc based ftp client program, among other things this software
- > has a hold screen function which is useful for pausing dirs to the screen &
- > etc. Anyway, if the screen is held the incoming directory listing backs up
- > to the limit of my advertised window - just like it is supposed to. If the
- > window happens to be larger than the remaining data the other side will
- > send its fin and (i presume) move to fin-wait1. My side will go to close_wait
- >
- > My side will remain in close-wait because it cannot get rid of the remaining
- > data (the hold screen is on) but will ack the other sides fin which
- > (i presume) moves it to fin_wait2. The problem happens when I release the
- > hold screen. When this happens my side finishes processing the data and sends
- > its own fin, then moves to last ack. I have found that if the wait is long
- > enough (10 sec or so) the other side will ignore my fin and never return an
- > ack - this leaves me in last_ack. Eventually it seems my retransmitted fin
- > will generate a reset from the other side.
- >
- > I interpret this problem to mean that the other side has timed out or retried
- > out in fin-wait2. Is this a valid assumption. Does tcp-ip software do this?
- > It sure isn't in the rfc. Is there another interpretation. I have experienced
- > it with a number of types of machines on the internet (via anonymous ftp) maybe
- > anonymous is a special case in unix boxes?
- >
- > Can anyone definitly confirm (one way or the other) that this is in fact
- > what is going on. I don't rule out bugs in my software, but I checked pretty
- > thouroughly before asking here.
- >
- > Thanks
- > Dale Edgar
- > Cybernetic Control Inc.
- > DEDGAR@MTA.CA
- -----------
- I did some similar thinking recently in my program. The answer depends
- on how one interprets "delivers the data." I finally decided that delivery
- meant placing in a socket buffer so I could send ACKs in the background as
- the buffer filled. Given this position then the buffer belongs to the top
- level application and not to the TCP session. Thus the session can close up
- normally and so on, yet that buffer remains for later draining. This works
- well with systems which insist upon sending reams of goodbye message material
- and my program is busy with other things for a while. For top level app, the
- session is over when both the TCP part has finished completely and the buffer
- is empty.
- Opinions do/will differ on this end to end delivery stuff.
- Joe D.
-