home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / protocol / tcpip / 5906 < prev    next >
Encoding:
Text File  |  1993-01-10  |  1.9 KB  |  36 lines

  1. Newsgroups: comp.protocols.tcp-ip
  2. Path: sparky!uunet!cs.utexas.edu!sdd.hp.com!think.com!ames!purdue!mentor.cc.purdue.edu!dls
  3. From: dls@mentor.cc.purdue.edu (David L Stevens)
  4. Subject: Re: time outs in FIN-WAIT2??
  5. Message-ID: <C0o42L.EI4@mentor.cc.purdue.edu>
  6. Organization: PUCC UNIX Group
  7. References: <1993Jan9.164215.20972@jupiter.sun.csd.unb.ca> <C0nu19.8z7@comp.vuw.ac.nz>
  8. Date: Mon, 11 Jan 1993 02:25:32 GMT
  9. Lines: 25
  10.  
  11. In article <C0nu19.8z7@comp.vuw.ac.nz>, duncan@comp.vuw.ac.nz (Duncan McEwan) writes:
  12. ....
  13. > It claims this is done as a work around because "certain other TCP
  14. > implementations (incorrectly) fail to send a FIN on a receive-only connection.
  15. > Connections to such hosts will remain in FIN_WAIT_2 state forever unless the
  16. > system times them out".
  17.  
  18.     It's actually worse than that, in that it doesn't require a non-
  19. conforming TCP to break things. When you're in FIN_WAIT_2, all data you've
  20. sent has been acknowledged and the user has already done a close(). All
  21. you're waiting for is the FIN from the other side. If the other machine
  22. crashes, there isn't anything to cause you to delete the entry or ever
  23. resend another packet, so the TCB will hang around forever.
  24.     In old 4.2 BSD implementations, these used to collect until a reboot
  25. was required to get back the resources they were holding. Adding the timer
  26. prevents that, but has its own problems. Having a timer, but a long one,
  27. is a compromise. Our Berkeley derivatives timeout after 30 minutes, which
  28. is probably long enough; the #define is still named "TCPT_2MSL" (RFC 793
  29. says 2MSL'd be 4 minutes).
  30.     If I remember right, the original poster said 10 seconds-- a good
  31. implementation will restart the TIME_WAIT timer each time it receives a
  32. segment, so it really is timing the "dead interval" when the other side may
  33. have crashed. Fixing that (or asking the vendor to) may be the solution.
  34. -- 
  35.                     +-DLS  (dls@mentor.cc.purdue.edu)
  36.