Σχετικά με τη συζήτηση στο μάθημα με το ποια πακέτα ανα-μεταδίδει το TCP: Στο window σχήμα που περιγράψαμε γίνεται acknowledge το τελευταίο πακέτο που έγινε received από μία ακολουθία (cumulative acknowledgement). Δηλαδή, αν ο receiver λάβει τα πακέτα 1, 2, 5, 6, 3 θα γίνει acknowledge μέχρι και το 3. Αυτό φυικά δημιουργεί προβλήματα. Για παράδειγμα, υποθέστε ότι 10,000 bytes στέλνονται σε 10 διαφορετικά TCP πακέτα και το πρώτο πακέτο χάνεται στη μετάδοση. Στο βασικό TCP πρωτόκολλο, o receiver δε μπορεί να πει ότι έχει λάβει τα πακέτα 2 έως 10 αλλά όχι το 1, οπότε ο sender πρέπει να ξαναστείλει ΟΛΑ τα 10,000 bytes. Για να αντιμετωπιστεί το παραπάνω πρόβλημα υπάρχει μια προαιρετική επέκταση του βασικού πρωτοκόλλου, που λέγεται selective acknowledgment (SACK) (RFC 2018) που επιτρέπει να γίνουν acknowledge discontinuous blocks από πακέτα που έχουν ληφθεί σωστά. Το acknowledgement μπορεί να καθορίσει ένα συνεχόμενο διάστημα πακέτων που έχει ληφθεί σωστά. Δηλαδή, στο πρώτο παράδειγμα τo διάστημα 5,6 και στο δεύτερο το 2,9.