Lezione 35Stima del timeout di ritrasmissione ed esercizi
In questa pagina 3
Data: mercoledì 21 maggio 2025 · Fonte: slide del corso Internet, UniPD (TCP: stima dell'RTO ed esercizi)
Argomenti trattati
- Intestazione TCP: campi principali, flag, opzione timestamp, protezione dal ritorno a zero dei numeri di sequenza (wraparound).
- Timeout di ritrasmissione (RTO): perché serve, misura dell'RTT con un solo timer e granularità , stima di Jacobson con media mobile esponenziale (), deviazione media (MAD, ), .
- Algoritmo di Karn: si ignorano gli RTT dei segmenti ritrasmessi; confronto con RFC 739 ().
- Esercizio di sintesi sul modello di TCP (rete con 5 nodi e 7 collegamenti, tre flussi , , ): throughput TCP e a livello applicazione di un flusso in isolazione (RTT end-to-end, probabilità di errore sul collegamento senza fili con ARQ a tentativi, RTO come , formula del modello), effetto di , flusso limitato da , flussi concorrenti sul collegamento collo di bottiglia, RTT massimo che sfrutta tutta la capacità.
- MAD e deviazione standard di una variabile gaussiana: .
Teoria
- Stima del timeout di ritrasmissione (RTO)TCP ritrasmette un segmento se il suo ACK non arriva entro il timeout di ritrasmissione (RTO), che deve seguire il tempo di andata e ritorno (RTT) della rete: troppo corto provoca ritrasmissioni inutili, troppo lungo rallenta il recupero. L'RTT si misura con un solo timer per connessione (granularità G del clock). Si mantengono una media mobile esponenziale SRTT_i = (1-α)SRTT_{i-1} + α·rtt_i con α = 1/8 e la deviazione media MAD_i = (1-ρ)MAD_{i-1} + ρ|rtt_i - SRTT_{i-1}| con ρ = 1/4 (in RFC 6298 RTTVAR, β = 1/4); RTO = SRTT + 4·MAD, con minimo di 1 s. L'algoritmo di Karn ignora le misure dei segmenti ritrasmessi (non si sa a quale trasmissione si riferisce l'ACK) e a ogni timeout consecutivo il valore raddoppia fino a 64 volte T0. Per un RTT gaussiano la deviazione media vale MAD = σ·sqrt(2/π) ≈ 0,797σ.Stima del timeout di ritrasmissione (RTO) →
- Modello analitico del tasso di invio di TCPIl modello analitico del corso calcola il tasso di invio a regime B (segmenti al secondo) di un flusso TCP Reno in funzione della probabilità di perdita p, dell'RTT, del parametro di ACK ritardato b e del timeout T0. Il tempo è diviso in round di durata RTT; il ciclo della finestra tra due perdite segnalate da tre dupACK (TDP) ha media E[W] = (2-3b)/(3b) + sqrt(((3b-2)/(3b))^2 + 8(1-p)/(3bp)) e il tasso è B = E[Y]/E[A] (pacchetti inviati diviso durata di un TDP). Per p piccolo si ottiene la formula della radice quadrata B = (1/RTT) sqrt(3/(2bp)) (circa 1,22/(RTT sqrt p) per b = 1 e 0,87/(RTT sqrt p) per b = 2). Con i timeout si aggiungono la probabilità Q che una perdita finisca in timeout, E[R] = 1/(1-p) pacchetti e E[Z^TO] = T0 f(p)/(1-p) secondi di attesa: B = (E[Y] + Q E[R])/(E[A] + Q E[Z^TO]). Con la finestra massima Wmax il tasso non supera Wmax/RTT.Modello analitico del tasso di invio di TCP → — la formula usata nell'esercizio
- TCP - connessione, affidabilità e controllo di flussoTCP (Transmission Control Protocol) è il protocollo di trasporto con connessione e affidabile: trasforma il servizio senza connessione e inaffidabile di IP in un flusso di byte ordinato, senza errori né duplicati. La connessione si apre con l'handshake a tre vie (SYN, SYN+ACK, ACK) e si chiude con tre o quattro segmenti (FIN). I byte sono numerati: il numero di sequenza è quello del primo byte del segmento, il numero di ACK (cumulativo) è il prossimo byte atteso. Il mittente può inviare $\min(\text{rwnd},\text{cwnd})$ byte non ancora confermati; rwnd (finestra del ricevitore, in un campo di 16 bit) è il controllo di flusso. L'errore si gestisce con checksum, ACK, timeout di ritrasmissione (RTO) e ritrasmissione rapida dopo tre ACK duplicati. Per usare tutto il canale la finestra deve valere almeno il prodotto banda-ritardo (BDP); il throughput massimo è $\text{MSS}\cdot W_{\max}/\text{RTT}$.TCP - connessione, affidabilità e controllo di flusso → — ritrasmissione e timeout
Esercizi
- Esercizio - SRTT, deviazione media e RTO da sette misure di RTT — tabella di esempio delle slide
- Esercizio - throughput TCP di tre flussi con la formula del modello — esercizi Q1-Q6
Lezione precedente: Lezione 24 · Ripasso di esercizi su rete, collegamento e trasporto