TCP Keepalive Problems

From: Udo A. Steinberg (reality@delusion.de)
Date: Mon Jan 07 2002 - 17:33:17 EST


Hello,

The following is a tcpdump trace between two hosts "Hell" (server) and "fluffy" (client).
Hell runs Linux 2.2.20 and fluffy runs Linux 2.4.4.

Hell has TCP_KEEPALIVE enabled on the socket, fluffy doesn't. The first part is normal
tcp traffic going back and forth. After that the connection goes idle. To illustrate the
effect Hell has tcp_keepalive_time set to 1800. After half an hour of idleness, Hell
starts sending keepalive probes but gets no response. After the 10th probe the socket
times out with ETIMEDOUT in the server application on Hell and gets closed.
fluffy does not see the connection die and then resumes sending packets, but Hell doesn't
respond with RST's.

What's going on here?

Regards,
Udo.

22:24:25.863496 Hell.6666 > fluffy.43187: P 2601325078:2601325121(43) ack 2494537739 win 32120 <nop,nop,timestamp 215371941 332442675> (DF)
22:24:25.893912 fluffy.43187 > Hell.6666: . ack 43 win 11792 <nop,nop,timestamp 332450210 215371941> (DF)
22:24:32.628108 fluffy.43187 > Hell.6666: P 96:121(25) ack 43 win 11792 <nop,nop,timestamp 332450883 215371991> (DF)
22:24:32.628689 Hell.6666 > fluffy.43187: P 43:94(51) ack 121 win 32120 <nop,nop,timestamp 215372617 332450883> (DF)
22:24:32.657614 fluffy.43187 > Hell.6666: . ack 94 win 11792 <nop,nop,timestamp 332450886 215372617> (DF)
22:27:10.664343 fluffy.43187 > Hell.6666: P 121:132(11) ack 94 win 11792 <nop,nop,timestamp 332466687 215372617> (DF)
22:27:10.665168 Hell.6666 > fluffy.43187: P 94:352(258) ack 132 win 32120 <nop,nop,timestamp 215388421 332466687> (DF)
22:27:10.693905 fluffy.43187 > Hell.6666: . ack 352 win 11792 <nop,nop,timestamp 332466690 215388421> (DF)
22:27:27.020721 Hell.6666 > fluffy.43187: P 352:382(30) ack 132 win 32120 <nop,nop,timestamp 215390057 332466690> (DF)
22:27:27.049799 fluffy.43187 > Hell.6666: . ack 382 win 11792 <nop,nop,timestamp 332468326 215390057> (DF)
22:27:27.498982 fluffy.43187 > Hell.6666: P 132:182(50) ack 382 win 11792 <nop,nop,timestamp 332468371 215390057> (DF)
22:27:27.517274 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215390107 332468371> (DF)
22:28:06.040915 Hell.6666 > fluffy.43187: P 382:412(30) ack 182 win 32120 <nop,nop,timestamp 215393959 332468371> (DF)
22:28:06.069619 fluffy.43187 > Hell.6666: . ack 412 win 11792 <nop,nop,timestamp 332472228 215393959> (DF)

22:58:44.400118 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215577800 332472228> (DF)
22:59:59.398260 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215585300 332472228> (DF)
23:01:14.396614 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215592800 332472228> (DF)
23:02:29.394655 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215600300 332472228> (DF)
23:03:44.392456 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215607800 332472228> (DF)
23:04:59.390434 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215615300 332472228> (DF)
23:06:14.388132 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215622800 332472228> (DF)
23:07:29.386190 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215630300 332472228> (DF)
23:08:44.384774 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215637800 332472228> (DF)
23:09:59.382687 Hell.6666 > fluffy.43187: . ack 182 win 32120 <nop,nop,timestamp 215645300 332472228> (DF)

23:16:36.500323 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332763270 215393959> (DF)
23:16:36.725617 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332763293 215393959> (DF)
23:16:37.186041 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332763339 215393959> (DF)
23:16:38.106921 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332763431 215393959> (DF)
23:16:39.946018 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332763615 215393959> (DF)
23:16:43.625845 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332763983 215393959> (DF)
23:16:50.985587 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332764719 215393959> (DF)
23:17:05.705491 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332766191 215393959> (DF)
23:17:35.146231 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332769135 215393959> (DF)
23:18:34.026003 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332775023 215393959> (DF)
23:20:31.786413 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332786799 215393959> (DF)
23:22:31.786432 fluffy.43187 > Hell.6666: P 182:193(11) ack 412 win 11792 <nop,nop,timestamp 332798799 215393959> (DF)
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html



This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:40 EST