Salta al contenuto
Note per Studenti Esercizio - Ritardo end-to-end su 10 collegamenti e BDP

Esercizio - Ritardo end-to-end su 10 collegamenti e BDP

In questa pagina 5

Testo. Stesso scenario dell'esercizio precedente (PHY R=100R=100 Mbps, PDU fisica di 12601260 B). La connessione è ora formata da k=10k=10 collegamenti tutti uguali, ciascuno lungo 1010 km, con i router R1,…,R9R_1,\dots,R_9 in mezzo. Calcolare:

  1. il ritardo punto-punto e il ritardo end-to-end;
  2. il bandwidth-delay product (BDP).

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 →, Commutazione di circuito e di pacchettoUn nodo di commutazione (switch) può collegare ingresso e uscita in tre modi. Commutazione di circuito: si stabilisce prima un collegamento fisico dedicato (rete telefonica), tempo di consegna $T=3Nt_p+Nt_s+M/R$. Commutazione di pacchetto a datagramma: il messaggio è diviso in $K$ pacchetti con intestazione, ognuno è instradato indipendentemente con store-and-forward, $T=Nt_p+(N+K-1)\frac{M/K+H}{R}$, con $K_{ott}=\sqrt{(N-1)M/H}$. A circuito virtuale: tre fasi (setup, dati, chiusura), connessione logica dedicata ma senza risorse dedicate, identificatore locale che cambia a ogni salto.Commutazione di circuito e di pacchetto →; per la velocità del segnale nel cavo 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 →.

Dati e ipotesi

  • R=100R=100 Mbit/s, L=1260L=1260 B =10 080=10\,080 bit, d=10d=10 km per collegamento, k=10k=10.
  • Velocità di propagazione sul cavo: 2⋅1082\cdot10^8 m/s (valore tipico di un mezzo cablato, usato nelle slide; è quello che dà i 5050 µs della soluzione ufficiale).
  • Ritardi di elaborazione e di accodamento trascurabili. I router sono store-and-forward: ricevono tutto il pacchetto prima di ritrasmetterlo, quindi la trasmissione si paga su ogni collegamento.

(1) Ritardi

Su un singolo collegamento: tprop=104 m2⋅108 m/s=50 μs,ttx=10 080108=100,8 μs.t_{prop}=\frac{10^4\ \text{m}}{2\cdot10^8\ \text{m/s}}=50\ \mu\text{s},\qquad t_{tx}=\frac{10\,080}{10^8}=100{,}8\ \mu\text{s}. Il ritardo punto-punto è tp2p=ttx+tprop=150,8 μst_{p2p}=t_{tx}+t_{prop}=\mathbf{150{,}8\ \mu s}.

Il pacchetto attraversa 1010 collegamenti uno dopo l'altro, e ad ogni router viene ricevuto per intero prima di essere rilanciato, quindi i 1010 ritardi si sommano: te2e=k (ttx+tprop)=10⋅150,8=1508 μs.t_{e2e}=k\,(t_{tx}+t_{prop})=10\cdot150{,}8=\mathbf{1508\ \mu s}.

(2) BDP

Il BDP è il bitrate per il ritardo: BDP=R⋅te2eBDP=R\cdot t_{e2e}. Con il ritardo end-to-end appena calcolato: BDP=108⋅1,508⋅10−3=150 800 bit≃150,8 kbit.BDP=10^8\cdot1{,}508\cdot10^{-3}=150\,800\ \text{bit}\simeq\mathbf{150{,}8\ kbit}. Questo equivale a circa 1515 pacchetti da 12601260 B (150 800/10 080=14,96150\,800/10\,080=14{,}96) "in volo" sul percorso: per tenere il percorso pieno un protocollo a finestra dovrebbe avere una finestra di circa 1515 pacchetti, mentre lo stop-and-wait ne manda uno alla volta (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 →). Con il ritardo del solo collegamento singolo si avrebbe invece 15,0815{,}08 kbit.

Confronto con la soluzione ufficiale

Ufficiale: tprop=50t_{prop}=50 µs, ttx=100,8t_{tx}=100{,}8 µs, ritardo punto-punto 150,8150{,}8 µs, end-to-end 15081508 µs: coincidono. Per il BDP la soluzione ufficiale riporta 133133 kbit, che non si riesce a riprodurre con i dati del testo e della soluzione stessa. Tutte le definizioni ragionevoli danno altro:

Definizione Valore
R⋅te2e=108⋅1508R\cdot t_{e2e}=10^8\cdot1508 µs (usata qui) 150,8150{,}8 kbit
solo propagazione R⋅10⋅50R\cdot10\cdot50 µs 5050 kbit
R⋅RTTR\cdot RTT con RTT=2 te2eRTT=2\,t_{e2e} 301,6301{,}6 kbit
un solo collegamento, R⋅150,8R\cdot150{,}8 µs 15,0815{,}08 kbit

Il valore 133,3133{,}3 kbit viene fuori esattamente (e solo) se si usa c=3⋅108c=3\cdot10^8 m/s per la propagazione (33,333{,}3 µs per tratta) e si arrotonda il tempo di trasmissione a 100100 µs: 10⋅(33,3+100) μs=133310\cdot(33{,}3+100)\ \mu\text{s}=1333 µs. È una versione precedente dei dati, incoerente con i 5050 µs riportati nella stessa slide. Il valore da usare per il metodo è quindi 150,8150{,}8 kbit.

Errori comuni

  • Contare la propagazione ma non la trasmissione su ogni collegamento (o viceversa): in store-and-forward si sommano entrambe, kk volte.
  • Moltiplicare per k−1k-1 (numero di router) invece che per kk (numero di collegamenti).
  • Usare c=3⋅108c=3\cdot10^8 m/s sul cavo invece di 2⋅1082\cdot10^8 m/s: la soluzione usa 2⋅1082\cdot10^8.

(Verificato con Python: tprop=50t_{prop}=50 µs; ttx=100,8t_{tx}=100{,}8 µs; tp2p=150,8t_{p2p}=150{,}8 µs; te2e=1508t_{e2e}=1508 µs; BDP=150 800BDP=150\,800 bit; variante c=3⋅108c=3\cdot10^8 con ttx=100t_{tx}=100 µs: 133 333133\,333 bit.)

Versione ripasso

Dati. R=100R=100 Mbps, L=1260L=1260 B =10 080=10\,080 bit, k=10k=10 collegamenti da 1010 km, v=2⋅108v=2\cdot10^8 m/s, store-and-forward (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 →).

  • tprop=104/2⋅108=50t_{prop}=10^4/2\cdot10^8=50 µs; ttx=10 080/108=100,8t_{tx}=10\,080/10^8=100{,}8 µs; tp2p=150,8t_{p2p}=150{,}8 µs.
  • te2e=k tp2p=1508t_{e2e}=k\,t_{p2p}=1508 µs (trasmissione e propagazione su ogni collegamento).
  • BDP=R te2e=150,8BDP=R\,t_{e2e}=150{,}8 kbit ≈15\approx15 pacchetti.
  • Ufficiale: ritardi uguali; BDP ufficiale 133133 kbit non riproducibile (133,3133{,}3 solo con c=3⋅108c=3\cdot10^8 e ttx=100t_{tx}=100 µs).
  • Errore tipico: k−1k-1 al posto di kk, o propagazione senza trasmissione.

Lezioni in cui compare

Teoria collegata