RFC 1122 says this:
When a connection is closed actively, it MUST linger in
TIME-WAIT state for a time 2xMSL (Maximum Segment Lifetime).
However, it MAY accept a new SYN from the remote TCP to
reopen the connection directly from TIME-WAIT state, if it:
(1) assigns its initial sequence number for the new
connection to be larger than the largest sequence
number it used on the previous connection incarnation
Imagine this example:
- server does active close
- server listens again on same port
- same client sends a SYN
- server sets a large ISN and accepts this SYN
Now what if the server started sending data so fast that the sequence number would wrap and reach a number that was used in the previous connection incarnation? Can this not happen within the MSL time?