"En este caso, al perderse un segmento, TCP detecta un "hueco" y envía inmediatamente un ACK que reconoce los últimos bytes que llegaron. El emisor al recibir este ACK, reenvía los segmentos."
Entre este texto y la figura que muestra los segmentos TCP que se envían, veo 2 cosas que, según entiendo, no son parte del funcionamiento de TCP:
1) Según la figura pareciera que TCP detecta un hueco por recibir un solo ACK duplicado (no 3 ACK duplicados como indica el protocolo). En este caso me parece que el evento del cual se tendría que inferir una perdida seria el timeout.
2) Una vez detectada la perdida de un segmento, se reenvian todos los segmentos ya enviados no reconocidos. ¿No debería enviarse solamente el segmento que se perdió?