Esercizio - Tempo di consegna in commutazione di circuito
In questa pagina 6
Testo. Calcolare il tempo di consegna di un messaggio dall'host A all'host B, con in mezzo uno switch che implementa il paradigma di commutazione di circuito. Si trascurano i tempi di accodamento ed elaborazione. Tutti i collegamenti sono uguali (stessa lunghezza, stesso bitrate). Topologia: host A, switch, host B, in catena (due collegamenti).
Teoria usata: 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 →, 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 →.
Simboli
- : numero di collegamenti (hop) da A a B; qui .
- : ritardo di propagazione di un collegamento.
- : tempo di commutazione (di "decisione") di uno switch.
- : lunghezza del messaggio in bit; : bitrate di ogni collegamento.
- Tempo di trasmissione del messaggio: .
Le tre fasi della commutazione di circuito
Prima di poter inviare dati bisogna stabilire il circuito (call setup), poi si trasmette, poi (non rilevante per il tempo di consegna) si rilascia il circuito.
- Richiesta di connessione. Un piccolo pacchetto di segnalazione parte da A, attraversa il primo collegamento (), lo switch lo elabora e riserva le risorse (), poi attraversa il secondo collegamento () fino a B. Costo: più il tempo di commutazione.
- Conferma. B risponde e la risposta torna indietro fino ad A passando di nuovo per lo switch: più il tempo di commutazione. Solo quando A riceve la conferma il circuito è pronto.
- Trasferimento dati. A trasmette tutto il messaggio () sul circuito già riservato. Lo switch non deve più decidere nulla e non memorizza il messaggio (il circuito è un "filo" dedicato): non si paga né né una ritrasmissione per hop. Il primo bit parte, l'ultimo bit viene trasmesso a e poi si propaga in fino a B.
Risultato
Sommando propagazioni e commutazioni delle tre fasi: con , ovvero . (Per generico, gli switch intermedi sono attraversati dalle due fasi di segnalazione: i termini di commutazione sono ; la formula con coincide per , perché . Per la differenza sarebbe contro : con ms ms contro ms, trascurabile rispetto a .) Il termine è trascurabile rispetto agli altri, quindi Notare che la propagazione compare tre volte il numero di collegamenti: due per la fase di setup (andata e ritorno del circuito), una per i dati.
Esempio numerico
Mbit, Mbps, ms, ms, : Il setup pesa ms su : per messaggi lunghi è trascurabile, per messaggi corti domina. In generale la quota di tempo spesa nel setup è , con in ms (qui Mbit/s kbit/ms, quindi ms con in kbit):
Grafico interattivo: Quota del tempo di consegna spesa nel setup (3·N·tp + N·ts = 7 ms) in funzione della lunghezza M del messaggio, con R = 10 Mbit/s: vale 6,5 % per M = 1 Mbit (1000 kbit) e supera il 50 % sotto 70 kbit
Confronto con la soluzione ufficiale
La soluzione ufficiale è la formula con numero di collegamenti: coincide con la formula ricavata qui. Nel manoscritto è disegnata la sequenza richiesta-risposta-dati con nello switch sia alla richiesta sia alla risposta e nessun per i dati ("lo switch sa cosa fare"), come sopra. Non ci sono valori numerici nel testo.
Errori comuni
- Dimenticare la fase di conferma (il circuito è utilizzabile solo dopo l'arrivo della risposta in A): si ottiene invece di .
- Contare su ogni hop (è store-and-forward, non commutazione di circuito: il circuito è trasparente ai dati).
- Aggiungere ai dati: lo switch ha già riservato il circuito.
(Verificato con Python: s senza ; s con ms.)
Versione ripasso
Dati. A - switch - B, collegamenti uguali; propagazione, commutazione, bit, bit/s (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 →).
- Setup: richiesta , conferma (il circuito serve solo dopo la conferma).
- Dati: , nessun (circuito già riservato, niente store-and-forward).
- .
- Esempio: Mbit, Mbps, ms, ms: ms.
- Coincide con l'ufficiale.
- Errore tipico: dimenticare la conferma ( al posto di ).