"Paul Albrecht" [off-list ref] writes:
This statement is inconsistent with the description of this scenario in
Steven's TCP/IP Illustrated. Specifically, continuing the handshake in the
TCP layer, i.e., sending a syn/ack and moving to the syn_recd state, is
incorrect if the limit of the server's socket backlog would be exceeded.
How do you account for this discrepancy between linux and other
berkeley-derived implementations?
The 4.4BSD-Lite code described in Stevens is long outdated. All modern
BSDs (and probably most other Unixes too) do it in a similar way to what
Nivedita described. The keywords are "syn flood attack" and "DoS".
-Andi