Salta al contenuto
Note per Studenti Esercizio - Stima della banda con il comando ping (dispensa del corso)

Esercizio - Stima della banda con il comando ping (dispensa del corso)

In questa pagina 4

Teoria: Metriche e prestazioni di rete per i servizi multimedialiUna rete è una pila di livelli: ogni livello offre un servizio al superiore tramite un'interfaccia e dialoga con il livello pari con un protocollo; il pacchetto di un livello è il payload del livello inferiore ($\mathrm{PDU}n=\mathrm{PCI}n+\mathrm{SDU}n$), con efficienza $\eta=\frac{|\mathrm{SDU}n|}{|\mathrm{PDU}n|}$. Metriche: bit-rate $R_0$ (livello fisico) $\ge$ throughput $S$ $\ge$ goodput (throughput a lungo termine a livello applicazione). Ritardo nodale $d=d{proc}+d{queue}+d{trans}+d{prop}$ con $d{trans}=\frac LR$ e $d_{prop}=\frac xc$; ritardo end-to-end = somma dei nodali; jitter = variabilità del ritardo; BDP $=S\cdot\mathrm{RTT}$ (con il bit-rate minimo del percorso). Affidabilità: nel canale binario simmetrico $\mathrm{PER}=1-(1-\varepsilon)^L$ e $P(\ell)=\binom L\ell\varepsilon^\ell(1-\varepsilon)^{L-\ell}$; codici di canale $R=\frac kn$, parità, Hamming, interleaving per i burst; perdite per errori o congestione, $\mathrm{PDR}=1-P_{\text{LOSS}}$.Metriche e prestazioni di rete per i servizi multimediali → (ritardo nodale, RTT, jitter, sezione sul comando ping) e Protocollo ICMPIPv4 non ha meccanismi per segnalare o correggere gli errori né per interrogare host e router: li fornisce l'ICMP (Internet Control Message Protocol), un protocollo di rete i cui messaggi viaggiano dentro datagrammi IP con campo Protocol $=1$. I messaggi sono di errore (destination unreachable, tipo 3; time exceeded, tipo 11; redirect, tipo 5; parameter problem, tipo 12), sempre inviati alla sorgente originale e con l'intestazione IP più i primi 8 byte del datagramma che ha causato l'errore, oppure di interrogazione (echo request 8 e reply 0, timestamp 13-14). ICMP segnala ma non corregge. Con l'echo si fanno ping (RTT) e scoperta dell'MTU (bit D, codice 4, payload massimo $1500-20-8=1472$ byte); con time exceeded e port unreachable si fa traceroute ($n+1$ messaggi con TTL crescente). Attacchi: smurf e redirect.Protocollo ICMP →. Fonte: dispensa "Strumenti per la valutazione delle prestazioni di rete" del corso di Reti di Calcolatori, Ing. Informatica UniPD 2025-26 (il modello); i dati numerici sono costruiti per l'esercizio sul modello della dispensa (la dispensa mostra solo i grafici di una misura reale su un server remoto, con pacchetti da 10 a 1450 byte). Conti verificati in Python.

Il modello

ping invia a una destinazione pacchetti ICMP di LL bit e misura il tempo di andata e ritorno (RTT). Con nn link nel percorso complessivo (andata più ritorno), ciascuno con throughput SiS_i, ritardo di accodamento qi(k)q_i(k) (variabile alla kk-esima misura) e propagazione costante τi\tau_i (il processing si trascura), l'RTT osservato è RTT(L,k)=∑i=1n(LSi+qi(k)+τi)=aL+Q(k)+T,a=∑i=1n1Si,  Q(k)=∑iqi(k),  T=∑iτi.\mathrm{RTT}(L,k)=\sum_{i=1}^n\left(\frac L{S_i}+q_i(k)+\tau_i\right)=aL+Q(k)+T,\qquad a=\sum_{i=1}^n\frac1{S_i},\ \ Q(k)=\sum_iq_i(k),\ \ T=\sum_i\tau_i. L'accodamento Q(k)Q(k) è casuale e maschera la dipendenza da LL. Si elimina prendendo il minimo su KK misure con LL costante: prima o poi un pacchetto trova tutte le code vuote (Q=0Q=0), quindi RTTmin⁡(L)=min⁡k=1..KRTT(L,k)≈aL+T,\mathrm{RTT}_{\min}(L)=\min_{k=1..K}\mathrm{RTT}(L,k)\approx aL+T, una retta in LL con pendenza aa e intercetta TT. Dalla pendenza (per esempio con i minimi quadrati) si ricava il throughput:

  • se tutti gli nn link hanno lo stesso throughput SS: a=nS⇒S=naa=\frac nS\Rightarrow S=\frac na;
  • se c'è un collo di bottiglia molto più lento degli altri, uguale in andata e ritorno: a≈2Sbn⇒Sbn≈2aa\approx\frac2{S_{\text{bn}}}\Rightarrow S_{\text{bn}}\approx\frac2a.

Testo (dati costruiti)

Per ogni lunghezza LL si eseguono K=5K=5 ping; i RTT osservati (ms) sono:

LL (bit) misure (ms)
2000 115,90; 114,80; 116,30; 115,20; 117,00
4000 115,40; 116,00; 115,05; 118,20; 115,70
8000 116,40; 115,55; 116,90; 115,90; 117,50
12000 116,80; 117,40; 116,05; 118,90; 116,60

Stimare il throughput del collo di bottiglia e il ritardo di propagazione complessivo TT; confrontare con la stima fatta sulle medie.

Soluzione

1. Minimi. RTTmin⁡\mathrm{RTT}_{\min}: 114,80114{,}80 (L=2000L=2000), 115,05115{,}05 (40004000), 115,55115{,}55 (80008000), 116,05116{,}05 (1200012000) ms. Differenze: da 2000 a 4000 bit +0,25+0{,}25 ms (0,252000=1,25⋅10−4\frac{0{,}25}{2000}=1{,}25\cdot10^{-4} ms/bit); da 4000 a 8000 +0,50+0{,}50 ms (1,25⋅10−41{,}25\cdot10^{-4}); da 8000 a 12000 +0,50+0{,}50 ms (1,25⋅10−41{,}25\cdot10^{-4}): i punti sono allineati.

2. Retta. Pendenza a=1,25⋅10−4a=1{,}25\cdot10^{-4} ms/bit =1,25⋅10−7=1{,}25\cdot10^{-7} s/bit. Intercetta T=114,80−2000⋅1,25⋅10−4=114,55T=114{,}80-2000\cdot1{,}25\cdot10^{-4}=114{,}55 ms (è l'RTT di un pacchetto "vuoto", cioè la somma dei ritardi di propagazione e di quelli fissi: L→0L\to0).

3. Throughput. Con un collo di bottiglia simmetrico: Sbn≈2a=21,25⋅10−7=1,6⋅107S_{\text{bn}}\approx\frac2a=\frac2{1{,}25\cdot10^{-7}}=1{,}6\cdot10^7 bit/s =16=16 Mbit/s. Se invece tutti i link avessero lo stesso throughput e il percorso (andata più ritorno) fosse di n=12n=12 link: S=na=121,25⋅10−7=96S=\frac na=\frac{12}{1{,}25\cdot10^{-7}}=96 Mbit/s. Le due ipotesi danno risposte diverse: serve sapere (o assumere) com'è fatto il percorso; con un vero collo di bottiglia il termine dominante di aa è quello del link lento (presente due volte, all'andata e al ritorno), quindi a≈2Sbna\approx\frac2{S_{\text{bn}}}.

4. Perché il minimo e non la media o il massimo. I minimi sono esattamente allineati. Le medie per L=2000,4000,8000,12000L=2000,4000,8000,12000 sono 115,84; 116,07; 116,45; 117,15115{,}84;\ 116{,}07;\ 116{,}45;\ 117{,}15 ms, con deviazioni standard di circa 0,80{,}8-1,21{,}2 ms; adattando una retta alle medie si ottiene a=1,28⋅10−4a=1{,}28\cdot10^{-4} ms/bit e Sbn≈15,6S_{\text{bn}}\approx15{,}6 Mbit/s (errore del 2%, ma solo perché i dati sono pochi e regolari). Con i massimi si ottiene a=1,39⋅10−4a=1{,}39\cdot10^{-4} ms/bit e Sbn≈14,4S_{\text{bn}}\approx14{,}4 Mbit/s (errore del 10%): il massimo è dominato da code occasionali. Nella dispensa (100 misure per lunghezza, pacchetti da 10 a 1450 byte) l'RTT minimo cade in una fascia di circa 2 ms (l'asse del grafico va da 114,6 a 116,6 ms) e segue una retta, mentre l'asse dei massimi arriva a 500 ms e quello della deviazione standard a 40 ms. Quindi: il minimo isola i ritardi deterministici (trasmissione e propagazione), la media e il massimo includono l'accodamento, che è aleatorio.

5. Cautele. L'ipotesi è che nessun altro nodo cambi SiS_i durante la misura e che il minimo Q=0Q=0 si osservi davvero (serve KK abbastanza grande); si trascura il processing (può contare nei router software); la dimensione LL è quella a livello di rete (la dispensa usa pacchetti da 10 a 1450 byte, cioè fino a 11 60011\,600 bit).

Errori tipici

  • Usare la media dei RTT invece del minimo per stimare il throughput: l'accodamento distorce la pendenza.
  • Dimenticare che il RTT attraversa i link due volte (andata e ritorno): per il collo di bottiglia a=2Sbna=\frac2{S_{\text{bn}}}, non 1Sbn\frac1{S_{\text{bn}}}.
  • Esprimere la pendenza in ms/bit e il throughput in bit/s senza convertire (1,25⋅10−41{,}25\cdot10^{-4} ms/bit =1,25⋅10−7=1{,}25\cdot10^{-7} s/bit).
  • Interpretare l'intercetta TT come la sola propagazione: contiene anche processing e altri ritardi fissi.
  • Confondere la pendenza (dipende dalla trasmissione: LS\frac LS) con l'intercetta (dipende dalla propagazione).

Versione ripasso

Modello. RTT(L,k)=aL+Q(k)+T\mathrm{RTT}(L,k)=aL+Q(k)+T con a=∑1Sia=\sum\frac1{S_i} (somma su tutti i link, andata e ritorno), Q(k)=∑qi(k)Q(k)=\sum q_i(k) (accodamento, casuale), T=∑τiT=\sum\tau_i (propagazione, costante). Minimo su KK misure: RTTmin⁡(L)≈aL+T\mathrm{RTT}_{\min}(L)\approx aL+T (code vuote): retta, pendenza aa, intercetta TT. Throughput: link uguali S=naS=\frac na; collo di bottiglia simmetrico Sbn≈2aS_{\text{bn}}\approx\frac2a.

Esempio. K=5K=5 ping per L=2000,4000,8000,12000L=2000,4000,8000,12000 bit; minimi 114,80; 115,05; 115,55; 116,05114{,}80;\,115{,}05;\,115{,}55;\,116{,}05 ms: allineati con pendenza 0,252000=0,54000=1,25⋅10−4\frac{0{,}25}{2000}=\frac{0{,}5}{4000}=1{,}25\cdot10^{-4} ms/bit =1,25⋅10−7=1{,}25\cdot10^{-7} s/bit; intercetta T=114,80−2000⋅1,25⋅10−4=114,55T=114{,}80-2000\cdot1{,}25\cdot10^{-4}=114{,}55 ms.

  • Collo di bottiglia: Sbn≈21,25⋅10−7=16S_{\text{bn}}\approx\frac2{1{,}25\cdot10^{-7}}=16 Mbit/s.
  • Link uguali con n=12n=12: S=121,25⋅10−7=96S=\frac{12}{1{,}25\cdot10^{-7}}=96 Mbit/s.
  • Medie 115,84; 116,07; 116,45; 117,15115{,}84;\,116{,}07;\,116{,}45;\,117{,}15: a=1,28⋅10−4a=1{,}28\cdot10^{-4}, Sbn≈15,6S_{\text{bn}}\approx15{,}6 Mbit/s; massimi: a=1,39⋅10−4a=1{,}39\cdot10^{-4}, Sbn≈14,4S_{\text{bn}}\approx14{,}4 Mbit/s. Il minimo isola i ritardi deterministici; media e massimo includono l'accodamento (nella dispensa l'asse dei massimi arriva a 500 ms, quello della deviazione standard a 40 ms; i minimi stanno in una fascia di circa 2 ms).

Cautele. SiS_i costanti durante la misura, KK abbastanza grande da osservare Q=0Q=0, processing trascurato, LL a livello di rete.

Errori tipici: media al posto del minimo; a=1Sbna=\frac1{S_{\text{bn}}} (manca il fattore 2); ms/bit contro s/bit; TT come sola propagazione; scambiare pendenza e intercetta.

Teoria: Metriche e prestazioni di rete per i servizi multimedialiUna rete è una pila di livelli: ogni livello offre un servizio al superiore tramite un'interfaccia e dialoga con il livello pari con un protocollo; il pacchetto di un livello è il payload del livello inferiore ($\mathrm{PDU}n=\mathrm{PCI}n+\mathrm{SDU}n$), con efficienza $\eta=\frac{|\mathrm{SDU}n|}{|\mathrm{PDU}n|}$. Metriche: bit-rate $R_0$ (livello fisico) $\ge$ throughput $S$ $\ge$ goodput (throughput a lungo termine a livello applicazione). Ritardo nodale $d=d{proc}+d{queue}+d{trans}+d{prop}$ con $d{trans}=\frac LR$ e $d_{prop}=\frac xc$; ritardo end-to-end = somma dei nodali; jitter = variabilità del ritardo; BDP $=S\cdot\mathrm{RTT}$ (con il bit-rate minimo del percorso). Affidabilità: nel canale binario simmetrico $\mathrm{PER}=1-(1-\varepsilon)^L$ e $P(\ell)=\binom L\ell\varepsilon^\ell(1-\varepsilon)^{L-\ell}$; codici di canale $R=\frac kn$, parità, Hamming, interleaving per i burst; perdite per errori o congestione, $\mathrm{PDR}=1-P_{\text{LOSS}}$.Metriche e prestazioni di rete per i servizi multimediali →.

Teoria collegata