I would like to understand how TCP receiver in established state should treat SACK information of out-of-order and fully within receive window segments,
where rcv_nxt < seq_no < rvc_nxt + win.
RFC793 specified how to deal with the following fields
- how to process ack_no field
- how to process window field
- how to treat control bits (SYN, FIN, RST)
- how to protect such fields from being updated by"old" segments, in case of reordering.
But RFC2018 does not specifies how process SACK information in a similar case.
Because limited option space in TCP header, SACK information may be distributed between number of segments, SACked data may reneged and so on.
What to do when belated segment arrives ? How to treat SACK information ? How to treat D-SACK information ? Cannot find proper references in RFC2018 and RFC 2883, please help.