From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Description of problem: I am working on TCP analysis. I used tcpdump to monitor a TCP connection from a Red Hat Linux. The sequence captured by tcpdump is as follows, where 192.168.1.12 is a Red Hat Linux 2.4.18-3bigmem. 02:01:02.514466 192.168.1.12.80 > 202.204.14.33.1340: P 2571840263:2571841548 (1285) ack 2400822940 win 6432 (DF) (ttl 64, id 46064, len 1325) 02:01:02.731279 202.204.14.33.1340 > 192.168.1.12.80: . [tcp sum ok] 2400822940:2400822940(0) ack 2571841548 win 0 (DF) (ttl 114, id 3561, len 40) 02:01:03.104191 192.168.1.12.80 > 202.204.14.33.1340: . [tcp sum ok] 2571841547:2571841547(0) ack 2400822940 win 6432 (DF) (ttl 64, id 46065, len 40) The problem is that in the second packet, sequence number 2571841548 is acknowledged by the remote peer. According to my understanding of RFC793, TCP should increase SND.NXT to 2571841548. But in the third packet, Linux sends out a window-probing packet with sequence number 2571841547. I think it is not conformant to RFC793 and the remote peer would just discard this packet. I wonder if it is a bug in the TCP implementation. Or it is designed to do this for some purpose. Thank you. Version-Release number of selected component (if applicable): kernel-2.4.18-3 How reproducible: Sometimes Steps to Reproduce: 1.Monitor tcp connections with tcpdump. (It need some tool to confirm this kind of trace. To reproduce this problem, send window-probing packets to a red-hat linux and get its response. ) 2. 3. Actual Results: the sequence number in a window-probing packet is less than SND.NXT Expected Results: According to my understanding of RFC793, the sequence number in a window-probing packet is less than SND.NXT
You are using a very very old kernel which has been obsoleted by errata updates many times, including kernels with tcp/ip fixes. Please verify that this is fixed in the latest kernel erratum.
(In reply to Arjan van de Ven from comment #1) > You are using a very very old kernel which has been obsoleted by errata > updates > many times, including kernels with tcp/ip fixes. Please verify that this is > fixed in the latest kernel erratum. hello, I also encountered this problem.when i do FTP download, it will be a random occurrence of this bug.It appears in the FTP control process.the tcp sequence number Minus 1 when Retransmission,but the content and size of the payload remains the same. Please tell me is this a kernel of bug? Can you give me a detailed description of it. I shall greatly appreciate your answering my questions. No. Time Source Destination Protocol Sequence number Next sequence number Acknowledgement number Info 13774 2016-11-05 00:40:23.927084 203.146.249.195 10.172.240.250 FTP 234 281 81 Response: 229 Extended Passive Mode Entered (|||6446|). 13775 2016-11-05 00:40:23.962554 10.172.240.250 203.146.249.195 FTP 81 95 281 Request: RETR 5MB.dat 13776 2016-11-05 00:40:24.175095 203.146.249.195 10.172.240.250 FTP 233 280 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13777 2016-11-05 00:40:24.175617 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#1] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2102476 TSecr=2378302243 SLE=233 SRE=280 13778 2016-11-05 00:40:24.255216 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2102484 TSecr=2378302243 13779 2016-11-05 00:40:24.555003 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2102514 TSecr=2378302243 13780 2016-11-05 00:40:24.657289 203.146.249.195 10.172.240.250 FTP 232 279 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13781 2016-11-05 00:40:24.657718 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#2] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2102524 TSecr=2378302243 SLE=232 SRE=279 13782 2016-11-05 00:40:25.155131 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2102574 TSecr=2378302243 13783 2016-11-05 00:40:25.637025 203.146.249.195 10.172.240.250 FTP 231 278 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13784 2016-11-05 00:40:25.637660 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#3] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2102622 TSecr=2378302243 SLE=231 SRE=278 13785 2016-11-05 00:40:26.355240 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2102694 TSecr=2378302243 13786 2016-11-05 00:40:27.591788 203.146.249.195 10.172.240.250 FTP 230 277 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13787 2016-11-05 00:40:27.592280 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#4] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2102817 TSecr=2378302243 SLE=230 SRE=277 13788 2016-11-05 00:40:28.754602 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2102934 TSecr=2378302243 13789 2016-11-05 00:40:31.495609 203.146.249.195 10.172.240.250 FTP 229 276 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13790 2016-11-05 00:40:31.496148 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#5] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2103208 TSecr=2378302243 SLE=229 SRE=276 13791 2016-11-05 00:40:33.565116 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2103415 TSecr=2378302243 13792 2016-11-05 00:40:39.305656 203.146.249.195 10.172.240.250 FTP 228 275 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13793 2016-11-05 00:40:39.306258 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#6] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2103989 TSecr=2378302243 SLE=228 SRE=275 13794 2016-11-05 00:40:43.174971 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2104376 TSecr=2378302243 13795 2016-11-05 00:40:56.745965 203.146.249.195 10.172.240.250 FTP 227 274 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13796 2016-11-05 00:40:56.746454 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#7] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2105733 TSecr=2378302243 SLE=227 SRE=274 13797 2016-11-05 00:41:02.415137 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2106300 TSecr=2378302243 13798 2016-11-05 00:41:26.893959 203.146.249.195 10.172.240.250 FTP 226 273 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13799 2016-11-05 00:41:26.894620 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#8] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2108748 TSecr=2378302243 SLE=226 SRE=273 13800 2016-11-05 00:41:40.854869 10.172.240.250 203.146.249.195 TCP 81 95 281 [TCP Retransmission] 41282→ftp(21) [PSH, ACK] Seq=81 Ack=281 Win=42496 Len=14 TSval=2110144 TSecr=2378302243 13801 2016-11-05 00:42:29.525131 203.146.249.195 10.172.240.250 FTP 225 272 81 [TCP Spurious Retransmission] Response: 229 Extended Passive Mode Entered (|||6446|). 13802 2016-11-05 00:42:29.525884 10.172.240.250 203.146.249.195 TCP 95 281 [TCP Dup ACK 13775#9] 41282→ftp(21) [ACK] Seq=95 Ack=281 Win=42496 Len=0 TSval=2115011 TSecr=2378302243 SLE=225 SRE=272
(In reply to Arjan van de Ven from comment #1) > You are using a very very old kernel which has been obsoleted by errata > updates > many times, including kernels with tcp/ip fixes. Please verify that this is > fixed in the latest kernel erratum. Hi,Mr sir Can you give me a detailed description of it. I shall greatly appreciate your answering my questions.