Как показано ниже, на этапе 7, когда приемник отправляет ACK (16) отправителю, когда правильный ACK равен (18), отправитель принимает это как ACK для пакета (17)? Если нет, нужно ли повторить передачу SEQ: 17 в SEQ: 19?Поддерживает ли TCP дубликаты ACK правильный полученный пакет?
Sender Receiver
1: SEQ:15 ->
2: SEQ:16 -> (dropped)
3: SEQ:17 ->
4: SEQ:18 ->
5: SEQ:19 ->
6: <- ACK:16 (for SEQ:15 packet)
7: <- ACK:16 (for SEQ:17 packet)
8: <- ACK:16
9: <- ACK:16
10: SEQ:16 ->
так, SEQ: 17, в SEQ: 19 также необходимо повторно передать? Кажется, это не так. Из того, что я понимаю, после повторной передачи SEQ: 16 приемник будет ACK с наивысшим сохраненным SEQ, который в этом случае будет ACK: 20 (для пакета SEQ: 19). Правильно ли я это понимаю? – moeseth