Date: Tue, 27 Aug 2002 20:57:13 -0700 From: Jason Eggleston <JEggleston@wwwn.com> To: "'freebsd-bugs@freebsd.org'" <freebsd-bugs@freebsd.org> Subject: TCP RFC 1323 bug Message-ID: <1B588B0FBBADD311A69F00EA00E000E0BF3D11@exchange.wwwn.com>
next in thread | raw e-mail | index | archive | help
Hi,
I have a standard FreeBSD 4.6.2 install running qmail and saw a whole bunch
of TCP sessions that weren't moving along very quickly. Looks like a bug in
FreeBSD's implimentation of RFC 1323 (which is turned on by default). I
turned RFC 1323 off, and my problem went away. Here is the problem that is
hopefully fixed (maybe by PR kern/41552, I don't know). Basically, up until
frame 23 everything appears fine, but there's no good reason to wait 64
seconds and start retransmitting old data, when the TCP window hasn't been
reached... or I don't understand TCP.
I've included the syn and syn-ack, frame 23 and 24, and an overall list of
the conversation taken from ethereal with the payloads mostly deleted.
Please let me know if this is fixed or if there is anything I can do to fix
it. I have the complete packet dump for the TCP session.
Thanks,
-Jason Eggleston
Frame 1 (74 on wire, 74 captured)
Arrival Time: Aug 26, 2002 14:48:52.991788000
Time delta from previous packet: 0.000000000 seconds
Time relative to first packet: 0.000000000 seconds
Frame Number: 1
Packet Length: 74 bytes
Capture Length: 74 bytes
Ethernet II
Destination: 00:90:69:6f:2c:22 (00:90:69:6f:2c:22)
Source: 00:90:27:52:11:02 (00:90:27:52:11:02)
Type: IP (0x0800)
Internet Protocol, Src Addr: 216.237.6.33 (216.237.6.33), Dst Addr:
208.139.198.9 (208.139.198.9)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 60
Identification: 0x497c
Flags: 0x04
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0x7b9c (correct)
Source: 216.237.6.33 (216.237.6.33)
Destination: 208.139.198.9 (208.139.198.9)
Transmission Control Protocol, Src Port: 1863 (1863), Dst Port: 25 (25),
Seq: 1644315094, Ack: 0
Source port: 1863 (1863)
Destination port: 25 (25)
Sequence number: 1644315094
Header length: 40 bytes
Flags: 0x0002 (SYN)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...0 .... = Acknowledgment: Not set
.... 0... = Push: Not set
.... .0.. = Reset: Not set
.... ..1. = Syn: Set
.... ...0 = Fin: Not set
Window size: 57344
Checksum: 0x35a8 (correct)
Options: (20 bytes)
Maximum segment size: 1460 bytes
NOP
Window scale: 0 bytes
NOP
NOP
Time stamp: tsval 24777481, tsecr 0
Frame 2 (74 on wire, 74 captured)
Arrival Time: Aug 26, 2002 14:48:53.051685000
Time delta from previous packet: 0.059897000 seconds
Time relative to first packet: 0.059897000 seconds
Frame Number: 2
Packet Length: 74 bytes
Capture Length: 74 bytes
Ethernet II
Destination: 00:90:27:52:11:02 (00:90:27:52:11:02)
Source: 00:90:69:6f:2c:22 (00:90:69:6f:2c:22)
Type: IP (0x0800)
Internet Protocol, Src Addr: 208.139.198.9 (208.139.198.9), Dst Addr:
216.237.6.33 (216.237.6.33)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 60
Identification: 0x6a75
Flags: 0x04
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 108
Protocol: TCP (0x06)
Header checksum: 0x2ea3 (correct)
Source: 208.139.198.9 (208.139.198.9)
Destination: 216.237.6.33 (216.237.6.33)
Transmission Control Protocol, Src Port: 25 (25), Dst Port: 1863 (1863),
Seq: 481092603, Ack: 1644315095
Source port: 25 (25)
Destination port: 1863 (1863)
Sequence number: 481092603
Acknowledgement number: 1644315095
Header length: 40 bytes
Flags: 0x0012 (SYN, ACK)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...1 .... = Acknowledgment: Set
.... 0... = Push: Not set
.... .0.. = Reset: Not set
.... ..1. = Syn: Set
.... ...0 = Fin: Not set
Window size: 64240
Checksum: 0x2e82 (correct)
Options: (20 bytes)
Maximum segment size: 1460 bytes
NOP
Window scale: 0 bytes
NOP
NOP
Time stamp: tsval 0, tsecr 0
Frame 23 (1514 on wire, 1514 captured)
Arrival Time: Aug 26, 2002 14:48:53.635669000
Time delta from previous packet: 0.000124000 seconds
Time relative to first packet: 0.643881000 seconds
Frame Number: 23
Packet Length: 1514 bytes
Capture Length: 1514 bytes
Ethernet II
Destination: 00:90:69:6f:2c:22 (00:90:69:6f:2c:22)
Source: 00:90:27:52:11:02 (00:90:27:52:11:02)
Type: IP (0x0800)
Internet Protocol, Src Addr: 216.237.6.33 (216.237.6.33), Dst Addr:
208.139.198.9 (208.139.198.9)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 1500
Identification: 0x49d6
Flags: 0x04
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0x75a2 (correct)
Source: 216.237.6.33 (216.237.6.33)
Destination: 208.139.198.9 (208.139.198.9)
Transmission Control Protocol, Src Port: 1863 (1863), Dst Port: 25 (25),
Seq: 1644322640, Ack: 481092996
Source port: 1863 (1863)
Destination port: 25 (25)
Sequence number: 1644322640
Next sequence number: 1644324088
Acknowledgement number: 481092996
Header length: 32 bytes
Flags: 0x0010 (ACK)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...1 .... = Acknowledgment: Set
.... 0... = Push: Not set
.... .0.. = Reset: Not set
.... ..0. = Syn: Not set
.... ...0 = Fin: Not set
Window size: 57920
Checksum: 0xbca2 (correct)
Options: (12 bytes)
NOP
NOP
Time stamp: tsval 24777546, tsecr 1098818
Frame 24 (1514 on wire, 1514 captured)
Arrival Time: Aug 26, 2002 14:49:57.632424000
Time delta from previous packet: 63.996755000 seconds
Time relative to first packet: 64.640636000 seconds
Frame Number: 24
Packet Length: 1514 bytes
Capture Length: 1514 bytes
Ethernet II
Destination: 00:90:69:6f:2c:22 (00:90:69:6f:2c:22)
Source: 00:90:27:52:11:02 (00:90:27:52:11:02)
Type: IP (0x0800)
Internet Protocol, Src Addr: 216.237.6.33 (216.237.6.33), Dst Addr:
208.139.198.9 (208.139.198.9)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 1500
Identification: 0x9aa1
Flags: 0x04
.1.. = Don't fragment: Set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0x24d7 (correct)
Source: 216.237.6.33 (216.237.6.33)
Destination: 208.139.198.9 (208.139.198.9)
Transmission Control Protocol, Src Port: 1863 (1863), Dst Port: 25 (25),
Seq: 1644316640, Ack: 481092996
Source port: 1863 (1863)
Destination port: 25 (25)
Sequence number: 1644316640
Next sequence number: 1644318088
Acknowledgement number: 481092996
Header length: 32 bytes
Flags: 0x0010 (ACK)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...1 .... = Acknowledgment: Set
.... 0... = Push: Not set
.... .0.. = Reset: Not set
.... ..0. = Syn: Not set
.... ...0 = Fin: Not set
Window size: 57920
Checksum: 0xf924 (correct)
Options: (12 bytes)
NOP
NOP
Time stamp: tsval 24783946, tsecr 1098818
No. Time Source Destination Protocol
Info
1 0.000000 216.237.6.33 208.139.198.9 TCP
1863 > 25 [SYN] Seq=1644315094 Ack=0 Win=57344 Len=0
2 0.059897 208.139.198.9 216.237.6.33 TCP 25
> 1863 [SYN, ACK] Seq=481092603 Ack=1644315095 Win=64240 Len=0
3 0.059995 216.237.6.33 208.139.198.9 TCP
1863 > 25 [ACK] Seq=1644315095 Ack=481092604 Win=57920 Len=0
4 0.062078 208.139.198.9 216.237.6.33 SMTP
Response: 220 rocky.extendthereach.com ESMTP Server (Microsoft Exchange
Internet Mail Service 5.5.2656.59) ready
5 0.062258 216.237.6.33 208.139.198.9 SMTP
Command: EHLO mail.globalpac.com
6 0.122730 208.139.198.9 216.237.6.33 SMTP
Response: 250-rocky.extendthereach.com Hello [mail.globalpac.com]
7 0.122958 216.237.6.33 208.139.198.9 SMTP
Command: MAIL FROM:<> SIZE=33467
8 0.257376 208.139.198.9 216.237.6.33 SMTP
Response: 250 OK - mail from <>; can accomodate 33467 bytes
9 0.257536 216.237.6.33 208.139.198.9 SMTP
Command: RCPT TO:<barmstrong@extendthereach.com>
10 0.322357 208.139.198.9 216.237.6.33 SMTP
Response: 250 OK - Recipient <BARMSTRONG@EXTENDTHEREACH.COM>
11 0.322459 216.237.6.33 208.139.198.9 SMTP
Command: DATA
12 0.426724 208.139.198.9 216.237.6.33 SMTP
Response: 354 Send data. End with CRLF.CRLF
13 0.435471 216.237.6.33 208.139.198.9 SMTP
Message Body
14 0.435482 216.237.6.33 208.139.198.9 SMTP
Message Body
15 0.435934 216.237.6.33 208.139.198.9 SMTP
Message Body
16 0.435945 216.237.6.33 208.139.198.9 SMTP
Message Body
17 0.436398 216.237.6.33 208.139.198.9 SMTP
Message Body
18 0.436409 216.237.6.33 208.139.198.9 SMTP
Message Body
19 0.436851 216.237.6.33 208.139.198.9 SMTP
Message Body
20 0.436862 216.237.6.33 208.139.198.9 SMTP
Message Body
21 0.643440 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644316640 Win=64240 Len=0
22 0.643757 216.237.6.33 208.139.198.9 SMTP
Message Body
23 0.643881 216.237.6.33 208.139.198.9 SMTP
Message Body
24 64.640636 216.237.6.33 208.139.198.9 SMTP
Message Body
25 64.860303 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644318088 Win=62792 Len=0
26 64.860662 216.237.6.33 208.139.198.9 SMTP
Message Body
27 64.860788 216.237.6.33 208.139.198.9 SMTP
Message Body
28 128.860708 216.237.6.33 208.139.198.9 SMTP
Message Body
29 129.049428 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644319536 Win=64240 Len=0
30 129.049791 216.237.6.33 208.139.198.9 SMTP
Message Body
31 129.049913 216.237.6.33 208.139.198.9 SMTP
Message Body
32 193.040784 216.237.6.33 208.139.198.9 SMTP
Message Body
33 193.252186 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644320984 Win=62792 Len=0
34 193.252551 216.237.6.33 208.139.198.9 SMTP
Message Body
35 193.252675 216.237.6.33 208.139.198.9 SMTP
Message Body
36 257.250940 216.237.6.33 208.139.198.9 SMTP
Message Body
37 257.456253 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644322432 Win=64240 Len=0
38 257.456649 216.237.6.33 208.139.198.9 SMTP
Message Body
39 257.456773 216.237.6.33 208.139.198.9 SMTP
Message Body
40 321.450986 216.237.6.33 208.139.198.9 SMTP
Message Body
41 321.657035 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644323880 Win=62792 Len=0
42 321.657404 216.237.6.33 208.139.198.9 SMTP
Message Body
43 321.657523 216.237.6.33 208.139.198.9 SMTP
Message Body
44 385.651102 216.237.6.33 208.139.198.9 SMTP
Message Body
45 385.970251 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644325328 Win=64240 Len=0
46 385.970591 216.237.6.33 208.139.198.9 SMTP
Message Body
47 385.970714 216.237.6.33 208.139.198.9 SMTP
Message Body
48 449.961154 216.237.6.33 208.139.198.9 SMTP
Message Body
49 450.173323 208.139.198.9 216.237.6.33 TCP 25
> 1863 [ACK] Seq=481092996 Ack=1644326776 Win=62792 Len=0
50 450.173636 216.237.6.33 208.139.198.9 SMTP
Message Body
51 450.173755 216.237.6.33 208.139.198.9 SMTP
Message Body
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1B588B0FBBADD311A69F00EA00E000E0BF3D11>
