Esercizio - Collegamento Terra-Luna, RTT, BDP ed efficienza
In questa pagina 8
Testo. Un collegamento satellitare punto-punto con bitrate Mbps collega la Terra a una colonia lunare. La distanza Terra-Luna è circa km e i dati viaggiano alla velocità della luce ( m/s). Calcolare:
- l'RTT minimo del collegamento;
- l'RTT se il centro di controllo sulla Terra invia alla base lunare un'immagine da MB;
- il BDP (usando come ritardo l'RTT del punto precedente);
- l'utilizzazione (efficienza) del collegamento se il centro invia un'altra immagine da MB solo dopo aver ricevuto l'ACK dalla Luna;
- l'efficienza se il centro invia l'immagine successiva senza aspettare l'ACK.
Teoria usata: Analisi delle prestazioni di reteLe prestazioni di una rete si misurano con tre famiglie di metriche: traffico (bitrate $R_0$ massimo del collegamento, throughput $S\le R_0$ dati consegnati con successo, goodput al livello applicazione), ritardo (end-to-end $d_{tot}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$ con $d_{trans}=L/R$ e $d_{prop}=d/v$; jitter; RTT) e capacità del tubo (BDP $=R\cdot$ ritardo, bit che riempiono il collegamento), più l'affidabilità (PER, PDR, PLR). Il throughput di un percorso è quello del collegamento collo di bottiglia, $\min$ dei bitrate, ricordando che i collegamenti condivisi dividono la capacità.Analisi delle prestazioni di rete →, Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective RepeatARQ (Automatic Repeat reQuest) rende affidabile un collegamento che sbaglia: il ricevitore conferma (ACK) i frame ricevuti bene, il trasmettitore ritrasmette allo scadere del timeout. Servono timeout (contro il deadlock) e numeri di sequenza (contro i duplicati). Con $t_G=t_F+2\tau_p+t_A$ e probabilità di errore $p$: Stop-and-Wait $\rho=\frac{t_F(1-p)}{t_G}$; Go-Back-N con finestra $N\ge t_G/t_F$ $\rho=\frac{1-p}{1+(N-1)p}$; Selective Repeat $\rho=1-p$. Efficienza $\eta=\rho,I/F$. La finestra ottima è la capacità del tubo in pacchetti. In Selective Repeat esiste anche una lunghezza ottima del frame: con overhead $o$ e probabilità di errore sul bit $P_b$, $x_{ott}\simeq\frac o2+\sqrt{o/P_b}$ (frame più corti se il canale sbaglia di più).Protocolli ARQ - Stop-and-Wait, Go-Back-N e Selective Repeat →, Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat → (efficienza dello stop-and-wait).
Dati e conversioni
- km m, m/s, Mbit/s bit/s.
- Il testo parla di MB (megabyte) per i dati e di Mbps (megabit al secondo) per il bitrate: prima di dividere bisogna portare tutto in bit. MB Mbit.
(1) RTT minimo
L'RTT è la somma del ritardo dell'andata (pacchetto di dati) e di quello del ritorno (ACK). Ritardi di elaborazione e di accodamento sono trascurabili (nessun router in mezzo), quindi per ciascuna delle due direzioni restano trasmissione e propagazione: Il minimo si ha con il pacchetto più piccolo possibile (1 bit) e un ACK di dimensione trascurabile, quindi ns, cioè zero rispetto ai secondi della propagazione: È la fisica: nessun protocollo può scendere sotto questo valore (la luce impiega s per arrivare sulla Luna).
(2) RTT con l'immagine da 25 MB
Ora la trasmissione dell'immagine non è più trascurabile: bisogna "versare" Mbit sul collegamento. L'ACK è piccolo e la sua trasmissione si trascura, quindi
(3) BDP
Il bandwidth-delay product è il numero di bit che "riempiono" il collegamento nel tempo scelto come ritardo; qui il ritardo richiesto è l'RTT di (2): Quindi mentre il primo bit va e torna come ACK, la sorgente potrebbe trasmettere MB.
(4) Efficienza se si attende l'ACK (stop-and-wait)
L'efficienza è il rapporto tra quanto si invia davvero e quanto si sarebbe potuto inviare nello stesso tempo (la "capacità" del collegamento, cioè il BDP): Lo stesso numero si ottiene come tempo utile su tempo totale: . Il collegamento trasmette per s ogni s, il resto del tempo è attesa dell'ACK. È la formula dello stop-and-wait con propagazione normalizzata : , la stessa cosa perché diviso per dà .
Grafico interattivo: Efficienza dello stop-and-wait sul collegamento Terra-Luna (R = 100 Mbit/s, RTT di propagazione 2,57 s) in funzione della dimensione M del messaggio: η = t_tx/(t_tx + 2,57 s) con t_tx = 0,08·M secondi (M in MB); per 25 MB vale 0,438
Il grafico mostra che per avere un'efficienza alta con stop-and-wait servono messaggi enormi: sul collegamento Terra-Luna conviene non aspettare l'ACK (finestra scorrevole).
(5) Efficienza senza attendere l'ACK
Se l'immagine successiva parte subito dopo la precedente, il collegamento non resta mai vuoto per aspettare l'ACK: l'unica "attesa" è il ritardo end-to-end del singolo invio, , perché il primo bit deve arrivare e l'ultimo deve essere trasmesso. Il numero di bit che il collegamento può contenere in quel ritardo è Lo stesso rapporto è . Non arriva a perché con una sola immagine il collegamento resta comunque "vuoto" per il tempo di propagazione dopo l'ultimo bit trasmesso.
| Caso | Ritardo usato | ||
|---|---|---|---|
| (4) attende l'ACK | s | MB | |
| (5) non attende | s | MB |
Confronto con la soluzione ufficiale
Ufficiale: RTT s, RTT s, BDP Mbit, , . I primi tre valori coincidono. Per le efficienze la soluzione manoscritta usa gli stessi rapporti ( e MB) ma tronca invece di arrotondare: e . Con l'arrotondamento si ha e : la differenza è solo di arrotondamento, il metodo è lo stesso. Nel manoscritto la conversione MB Mbit è scritta come .
Errori comuni
- Dividere MB per Mbps senza convertire i byte in bit: darebbe s invece di s.
- Dimenticare che l'RTT contiene due propagazioni () e scrivere .
- Usare la distanza in km con in m/s (fattore di errore).
- Confondere BDP in bit con BDP in byte nel calcolo di (numeratore e denominatore devono avere la stessa unità).
(Verificato con Python: s; s; s; s; Mbit MB; ; Mbit; .)
Versione ripasso
- s; s (1 bit trasmesso in ns).
- s; s.
- Mbit MB.
- Attende l'ACK: .
- Non attende: MB, .
- Ufficiale e : troncati, non arrotondati.
- Errori: MB non convertiti in bit; una sola propagazione nell'RTT.