home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / sys / sun / apps / 2955 < prev    next >
Encoding:
Internet Message Format  |  1993-01-12  |  2.3 KB

  1. Xref: sparky comp.sys.sun.apps:2955 comp.protocols.tcp-ip:5943
  2. Path: sparky!uunet!olivea!sgigate!odin!twilight!florida.wpd.sgi.com!skibo
  3. From: skibo@florida.wpd.sgi.com (Thomas Skibo)
  4. Newsgroups: comp.sys.sun.apps,comp.protocols.tcp-ip
  5. Subject: Re: tcp_mss "downshift" with consecutive rcp's
  6. Keywords: tcp_mss is reduced from 1460 to 512
  7. Message-ID: <uppm1fs@twilight.wpd.sgi.com>
  8. Date: 12 Jan 93 17:59:30 GMT
  9. References: <1993Jan12.003854.5821@cbnewsd.cb.att.com>
  10. Sender: news@twilight.wpd.sgi.com ( CNews Account at twilight.wpd.sgi.com )
  11. Distribution: usa
  12. Organization: Silicon Graphics, Inc.
  13. Lines: 42
  14.  
  15. In article <1993Jan12.003854.5821@cbnewsd.cb.att.com>, pccl@cbnewsd.cb.att.com (paul.c.liu) writes:
  16. |> A while ago, I recall a netter from SGI posted an article
  17. |> detailing a BSD TCP bug fix for the tcp_mss "downshift" symptom.
  18. |> 
  19. |> Symptom: consecutive "rcp remhost:remfil locfil" will result
  20. |>      in smaller TCP payload (i.e. from 1460-byte to 512-byte),
  21. |>      unless there is 60+ seconds time gap in between.
  22. |> 
  23. |> To reproduce: use three Suns, on sun_a, do 
  24. |>     rcp sun_b:file1 file1, and
  25. |>     rcp sun_b:file2 file2
  26. |>     and run tcpdump/etherfind on sun_c to trace the network traffic.
  27. |> 
  28. |> Pointers are appreciated!
  29. |> 
  30. |> Paul.C.Liu@ATT.COM
  31.  
  32. I don't know if a fix was given but I think I know what the problem is.
  33.  
  34. When a SYN segment is received on a TCP in TIME_WAIT, the old TCP end-point
  35. is closed (tcp_close()) and the BSD code jumps back up to start over
  36. processing the SYN segment from scratch (look for the "goto findpcb;").
  37. The problem is that the TCP options (MSS) are processed and discarded in the
  38. first pass and so are missing on the pass that actually creates the new
  39. connection.  The new connection defaults to tcp_mssdflt (roughly 512 bytes).
  40.  
  41. I ran into this problem while implementing RFC 1323 (window scaling/
  42. time stamps).  The options in the SYN were discarded in those cases
  43. and so window scaling and time stamps wouldn't occur on those
  44. connections.
  45.  
  46. Apparantly, rlogin and rcp use the SOREUSEADDR flag and they tend to
  47. hit on this problem (since they'll use the same local port number over
  48. as soon as it's available).
  49.  
  50. This problem will be fixed in the IRIX releases that have RFC 1323
  51. TCP extensions.
  52.  
  53.  
  54. -- 
  55. ---
  56. Thomas Skibo     Advanced Networking, Silicon Graphics     skibo@sgi.com
  57.