Esercizio - Satellite geostazionario e bit in volo prima dell'ACK
In questa pagina 5
Testo. Un collegamento satellitare connette due host A e B (A, satellite, B). Dati: raggio terrestre m; "altitudine" dell'orbita del satellite m; velocità di propagazione dei segnali elettromagnetici m/s; velocità di trasmissione di ciascuna tratta del collegamento satellitare Mbps. Quanti bit si possono trasmettere prima di ricevere l'ACK dal ricevitore?
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 →; per la propagazione nello spazio libero Mezzi di trasmissione - cavi, fibre e collegamenti radioIl mezzo di trasmissione fissa l'attenuazione $a_{ch}$ nel link budget. Nei cavi $H_{ch}=e^{-\gamma d}$ e l'attenuazione in dB cresce con la distanza ($a=\tilde a,d$, dB/km) e con $\sqrt f$. Le fibre ottiche hanno banda larghissima (10¹⁴-10¹⁵ Hz), attenuazione bassa in tre finestre di lunghezza d'onda e limitazione dalla dispersione. Nei collegamenti radio vale la formula di Friis, $g_{ch}=g_{tx}g_{rx}\left(\frac\lambda{4\pi d}\right)^2$, cioè $a_{ch}=32{,}4+20\log_{10}d_{km}+20\log_{10}f_{MHz}-G_{tx}-G_{rx}$ dB.Mezzi di trasmissione - cavi, fibre e collegamenti radio →; per il confronto con la finestra 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 →.
Idea
"Quanti bit prima dell'ACK" significa trasmettere in modo continuo per un intero RTT: è il BDP calcolato con l'RTT, . Serve quindi l'RTT, che qui è dominato dalla propagazione fino al satellite e ritorno.
Geometria: che cos'è
Il valore m è il raggio dell'orbita geostazionaria misurato dal centro della Terra, non l'altezza sulla superficie. Per questo il testo dà anche il raggio terrestre: la distanza tra una stazione a terra e il satellite (supposto sulla verticale della stazione) è
Calcolo
Ritardo di propagazione di una tratta (A-satellite oppure satellite-B):
Il percorso A-satellite-B ha due tratte, quindi il ritardo di sola andata è ms.
L'RTT è andata più ritorno, quindi quattro tratte: Il tempo di trasmissione si trascura: anche per un pacchetto da B è µs, contro ms di propagazione (circa volte meno). Nell'RTT il tempo di trasmissione è irrilevante.
Bit trasmissibili prima dell'ACK:
Che cosa significa. Con pacchetti da B ( bit) i bit in volo prima dell'ACK sono pacchetti. Uno stop-and-wait ne manderebbe uno ogni RTT: efficienza , cioè kbit/s utili su Mbit/s. Per riempire il collegamento servirebbe una finestra di circa pacchetti.
Confronto con la soluzione ufficiale
Ufficiale: ms (dominato dalla propagazione; la trasmissione di B, µs, è trascurabile rispetto ai ms di propagazione) e Mbit. Coincide. Se si usasse come distanza senza sottrarre si avrebbe ms e Mbit, che non è il risultato ufficiale: la soluzione sottrae il raggio terrestre.
Errori comuni
- Usare m come distanza dal satellite (è dal centro della Terra: va sottratto ).
- Contare due tratte invece di quattro per l'RTT.
- Dimenticare che il BDP in bit si ottiene con in bit/s, non in byte/s.
(Verificato con Python: m; ms; ms; Mbit; con non corretto Mbit.)
Versione ripasso
- Distanza a terra-satellite: m; ms.
- A-sat-B sono due tratte; RTT ms (trasmissione trascurabile, µs).
- Bit prima dell'ACK: Mbit.
- Coincide con l'ufficiale.
- Errore tipico: non sottrarre da ; due tratte invece di quattro.