[27191] in Athena Bugs

home help back first fref pref prev next nref lref last post

linux 9.4.46 tcp: fails to honor windows

daemon@ATHENA.MIT.EDU (John Hawkinson)
Mon Mar 31 23:38:53 2008

Date: Mon, 31 Mar 2008 23:38:13 -0400
Message-Id: <200804010338.m313cDTl008349@cutter-john.mit.edu>
To: bugs@mit.edu
From: John Hawkinson <jhawk@mit.edu>
X-Spam-Flag: NO
X-Spam-Score: 0.00
Cc: sipb-office@mit.edu
Errors-To: bugs-bounces@mit.edu

Please see /mit/jhawk/tmp/husq.{pcap,txt} for the tcpdump trace. I was
debugging a printing problem, and observed that TCP on this machine
(cutter-john.mit.edu, Athena Linux 9.4.46, Linux 2.6.9-67.EL) seems to
be broken.

This problem occurs over and over throughout the trace, but packets
(lines) 2,3, and 4 of the trace are a good example:

23:05:39.366723 IP
cutter-john.mit.edu.618 > HUSQVARNA.MIT.EDU.printer:
P 1:769(768) ack 0 win 1460 <nop,nop,timestamp 206674347 446175403>

cutter-john transmits byte 1 through 768 to husqvarna. All good so far.
This is the first transmission, by the way, not a retransmission.

23:05:39.368572 IP
HUSQVARNA.MIT.EDU.printer > cutter-john.mit.edu.618:
. ack 769 win 328 <nop,nop,timestamp 446175405 206674347>

husqvarna acknowledges receipt of byte 768 (requesting 769), and
offers a window of 328 bytes.

23:05:39.579459 IP
cutter-john.mit.edu.618 > HUSQVARNA.MIT.EDU.printer:
P 769:2081(1312) ack 0 win 1460 <nop,nop,timestamp 206674560 446175405>

cutter-john sends the next segment, which is 1,312 bytes long,
exceeding the receiver's advertised window of 328. This is wrong.


It's been several years since I've had to look at this sort of thing,
so I'd appreciate if someone could verify that I'm not totally
off-base and misinterpreting these. It's a bit tough for me to
fathom that this is really happening.

Thanks.

--jhawk

p.s.: Shawn Osterman's tcptrace reports stuff like this.
I think the "owin" stuff is referring to this, but I'm
not 100% sure.

================================
TCP connection 3:
        host e:        HUSQVARNA.MIT.EDU:printer
        host f:        CUTTER-JOHN.MIT.EDU:999
        complete conn: no       (SYNs: 0)  (FINs: 0)
        first packet:  Mon Mar 31 23:05:39.795481 2008
        last packet:   Mon Mar 31 23:06:31.387080 2008
        elapsed time:  0:00:51.591599
        total packets: 482
        filename:      husq.pcap
   e->f:                              f->e:
     total packets:           242           total packets:           240      
     ack pkts sent:           242           ack pkts sent:           240      
     pure acks sent:          242           pure acks sent:           77      
     sack pkts sent:            0           sack pkts sent:            0      
     max sack blks/ack:         0           max sack blks/ack:         0      
     unique bytes sent:         0           unique bytes sent:    174864      
     actual data pkts:          0           actual data pkts:        163      
     actual data bytes:         0           actual data bytes:    174864      
     rexmt data pkts:           0           rexmt data pkts:           0      
     rexmt data bytes:          0           rexmt data bytes:          0      
     zwnd probe pkts:           0           zwnd probe pkts:           0      
     zwnd probe bytes:          0           zwnd probe bytes:          0      
     outoforder pkts:           0           outoforder pkts:           0      
     pushed data pkts:          0           pushed data pkts:         91      
     SYN/FIN pkts sent:       0/0           SYN/FIN pkts sent:       0/0      
     req 1323 ws/ts:          N/Y           req 1323 ws/ts:          N/Y      
     urgent data pkts:          0 pkts      urgent data pkts:          0 pkts 
     urgent data bytes:         0 bytes     urgent data bytes:         0 bytes
     mss requested:             0 bytes     mss requested:             0 bytes
     max segm size:             0 bytes     max segm size:          1448 bytes
     min segm size:             0 bytes     min segm size:             8 bytes
     avg segm size:             0 bytes     avg segm size:          1072 bytes
     max win adv:            5068 bytes     max win adv:            1460 bytes
     min win adv:               5 bytes     min win adv:            1460 bytes
     zero win adv:            113 times     zero win adv:              0 times
     avg win adv:             395 bytes     avg win adv:            1460 bytes
     max owin:                  1 bytes     max owin:               7241 bytes
     min non-zero owin:         1 bytes     min non-zero owin:         9 bytes
     avg owin:                  0 bytes     avg owin:               1364 bytes
     wavg owin:                 0 bytes     wavg owin:               623 bytes
     initial window:            0 bytes     initial window:            0 bytes
     initial window:            0 pkts      initial window:            0 pkts 
     ttl stream length:        NA           ttl stream length:        NA      
     missed data:              NA           missed data:              NA      
     truncated data:            0 bytes     truncated data:       170028 bytes
     truncated packets:         0 pkts      truncated packets:       158 pkts 
     data xmit time:        0.000 secs      data xmit time:       51.372 secs 
     idletime max:         1017.4 ms        idletime max:         1018.6 ms   
     throughput:                0 Bps       throughput:             3389 Bps  

home help back first fref pref prev next nref lref last post