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