I timer di ritrasmissione in TCP sono essenziali per la gestione della trasmissione dei dati e per garantire una consegna affidabile. Determinano quando un mittente dovrebbe retrasmettere pacchetti non riconosciuti. Capire come calcolare questi timer comporta la comprensione della teoria sottostante, degli algoritmi e dei fattori pratici che influenzano la loro impostazione.

Fondazioni teoretiche dei Timer di Retransmission TCP

L'idea principale dietro i timer di retransmission TCP è quella di stimare il tempo di andata e ritorno (RTT) tra mittente e ricevitore. Questa stima aiuta a decidere quando ritrasmettere i dati se i riconoscimenti non vengono ricevuti entro un certo periodo. Il timer deve adattarsi alle condizioni di rete per evitare inutili ritrasmissioni o ritardi.

Algoritmi per il calcolo dei timer di retransmissione

L'algoritmo più comune utilizzato è l'algoritmo Jacobson/Karels, che regola dinamicamente il timeout di ritrasmissione (RTO) basato su RTT misurati.

RTO = SRTT + 4 * RTTVAR[

Questo approccio consente al timer di adattarsi alle mutevoli condizioni di rete, riducendo inutili ritrasmissioni e migliorando l'efficienza.

Considerazioni pratiche nella Calcolo del Timer

In pratica, fattori come la congestione di rete, la perdita di pacchetti e la variabilità nelle impostazioni del timer di influenza RTT. Le implementazioni TCP spesso includono garanzie come valori minimi e massimi RTO per prevenire tempi eccessivamente brevi o lunghi. I valori minimi tipici di RTO sono di circa 200 millisecondi, mentre i massimi possono raggiungere diversi secondi.

Inoltre, le strategie di backoff esponenziali vengono utilizzate dopo ripetute ritrasmissioni per evitare di schiacciare la rete.