Press "Enter" to skip to content

Why would TCP ever allow a SYN for a connection in the TIME-WAIT state?

        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:
  1. server does active close
  2. server listens again on same port
  3. same client sends a SYN
  4. 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?

Be First to Comment

Leave a Reply

%d bloggers like this: