Subject: [tcpm] RFC2883 DSACK - duplicate SYN

From: "Scheffenegger, Richard" <[email-masked]>
Date: Mon, 9 Sep 2019 12:47:36 +0200

Hi,

Since RFC2883 is silent on the two special flags SYN and FIN, I wanted
to check with you if my understanding is correct:

If a FIN is received (pure or with data) after a gap in the sequence
space, as it consumes a sequence number, it becomes part of the SACK
block reported back to the sender.

So far, so good. But shouldn't the same also be happening for a
duplicate received SYN?

The sender announces that it supports SACK with the SYN, thus a receiver
could choose to send out a DSACK for a duplicate SYN.  At least neither
RFC2018 nor RFC2883 are ruling this out:

  SYN (SACK permitted) ->
   <-  SYN,ACK (SACK permitted)
  (dup) SYN (SACK permitted) ->
   <-  SYN,ACK (SACK permitted, D-SACK for SYN)
  ACK ->

Depending on the sequence of events, a sender could infer network
duplication, or very high RTT, unambigiously when doing a DSACK on a
SYN,ACK....

Best regards,
    Richard