Esercizio - capacita e ritardo di propagazione di un collegamento con due messaggi echo
In questa pagina 5
Testo. Nodo è collegato a tramite il router : il collegamento 1 (-) ha kbit/s e ms, il collegamento 2 (-) ha capacità e ritardo di propagazione incogniti. vuole stimare e e invia due messaggi echo: di byte e di byte. Misura un tempo di andata e ritorno (Round-Trip Time, RTT) di ms per e di ms per . Le risposte di hanno la stessa lunghezza dei messaggi. Determinare e , trascurando la lunghezza delle intestazioni.
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 →, Livello di trasporto - porte e multiplexingIl livello di trasporto (transport layer) offre la comunicazione logica end-to-end tra processi applicativi di host diversi, ed è realizzato solo negli host finali, non nei router. Il livello di rete consegna al computer giusto (indirizzo IP), il trasporto consegna al processo giusto (numero di porta di 16 bit, 0-65535). Una porta più un indirizzo IP formano un socket; la quaterna (IP sorgente, porta sorgente, IP destinazione, porta destinazione) identifica una connessione. I servizi sono: comunicazione processo-processo, indirizzamento, incapsulamento/decapsulamento, multiplexing/demultiplexing e, se il protocollo è affidabile, controllo di errore, di flusso e di congestione. I protocolli sono UDP (senza connessione, inaffidabile), TCP (con connessione, affidabile) e SCTP (combina i due).Livello di trasporto - porte e multiplexing →.
Idea: due equazioni, due incognite
Il metodo è lo stesso che usa il comando ping per misurare un cammino: un messaggio di bit attraversa i due collegamenti in modalità store-and-forward (il router lo riceve per intero prima di rinviarlo), poi la risposta, lunga uguale, rifà il percorso al contrario. Su ogni collegamento il messaggio impiega il tempo di trasmissione (per mettere sul filo tutti i bit) più il ritardo di propagazione . Non c'è accodamento (non c'è altro traffico) né elaborazione.
Un giro completo costa quindi due volte (andata e ritorno) la somma dei due collegamenti: Il RTT dipende dalla lunghezza solo attraverso i termini , mentre ne è indipendente. Misurando con due lunghezze diverse la differenza dei RTT elimina i ritardi di propagazione (che non conosciamo) e lascia solo le capacità: è il motivo per cui l'esercizio fornisce due messaggi.
Visto in funzione di , l'RTT è una retta: la pendenza dipende dalle capacità, l'intercetta (RTT di un messaggio vuoto) è la sola propagazione . Con i risultati trovati sotto, la pendenza è ms per byte e l'intercetta ms:
Grafico interattivo: RTT dell'echo in funzione della lunghezza m del messaggio (in byte): retta RTT = 80 ms + 0,7 ms/B · m, che passa per (1000 B, 780 ms) e (1500 B, 1130 ms); l'intercetta 80 ms è la propagazione di andata e ritorno 2·(10 + 30) ms
Passo 1: la capacità dalla differenza dei RTT
Passiamo ai bit: bit, bit, bit/s. Sottraendo le due equazioni Numeri: ms s e bit, quindi Poiché , resta s/bit, cioè
Passo 2: il ritardo da uno dei due RTT
Con noto usiamo, per esempio, ms, cioè metà giro ms: quindi ms. Controllo con : metà giro ms ms ✓.
(Verificato con Python: kbit/s e ms riproducono entrambi i RTT misurati.)
Confronto con la soluzione ufficiale
Le slide danno kbit/s e per il ritardo scrivono " Kbps": è un refuso evidente, il valore corretto è ms (lo conferma il controllo con qui sopra).
Errori comuni
- Contare una sola volta il percorso: il RTT include l'andata e il ritorno, quindi il fattore 2 davanti alla parentesi (e l'eco ha la stessa lunghezza, quindi ripaga gli stessi tempi di trasmissione).
- Dimenticare il tempo di trasmissione sul collegamento 1: da solo non basta, ms è molto più grande di ms.
- Confondere byte e bit nelle capacità (le capacità sono in bit/s, i messaggi in byte).
Versione ripasso
Dati. --; kbit/s, ms; , incogniti. Echo B ( bit) e B ( bit), risposta di pari lunghezza; RTT e ms (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 →).
- Store-and-forward, andata e ritorno: ; la differenza dei RTT elimina i .
- ms ; con resta , cioè kbit/s.
- Mezzo giro di : ms. Controllo con : .
- Slide: refuso " Kbps" per ms.
Errori: dimenticare il ritorno (fattore ); trascurare ms; confondere bit e byte.