Cosa succede quando un pacchetto di rete viene perso?
La perdita di pacchetti si verifica quando un pacchetto dati non raggiunge la sua destinazione. Le conseguenze dipendono dal protocollo di trasporto e dall'applicazione.
Effetti immediati
- TCP (web, email, SSH): Il mittente rileva la perdita tramite ACK mancante → retrasmissione dopo RTO (timeout di ritrasmissione) o fast retransmit (3 ACK duplicati). Aggiunge latenza; riduce il rendimento (finestra di congestione dimezzata).
- UDP (gaming, VoIP, streaming): Nessun recupero integrato. L'applicazione vede un gap → glitch, jitter o artefatto. Alcuni codec nascondono (PLC, FEC).
- QUIC / HTTP/3: Recupero a livello di flusso; solo il flusso interessato si blocca.
Impatti a valle
- Picchi di latenza: Le ritrasmissioni aggiungono tempo di andata e ritorno.
- Collasso del rendimento: TCP interpreta la perdita come congestione → riduce cwnd.
- Errori applicazione: File corrotti, chiamate API fallite, desincronizzazione in multiplayer.
- Reset connessione: Perdita persistente → backoff RTO → eventuale abort (timeout keepalive TCP).
Tecniche di mitigazione
- Correzione errori in avanti (FEC): Pacchetti ridondanti (RaptorQ, XOR) recuperano la perdita senza ritrasmettere.
- Controllo della congestione: BBR, CUBIC, Vegas adattano cwnd in modo più aggraziato.
- QoS / DSCP: Priorizza il traffico in tempo reale.
- Ritrasmissione a livello collegamento: Wi-Fi 802.11 ARQ, LTE/5G HARQ mascherano la perdita wireless.
- Percorsi ridondanti: MPTCP, SCTP, o failover dual-WAN.
Diagnosi
Esegui ping -c 100 host o mtr host per misurare la % di perdita. >1% merita indagine (cavo, Wi-Fi, ISP, server).