Salta al contenuto
Note per Studenti Esercizio - Tempo di consegna in commutazione di circuito

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

  • NN: numero di collegamenti (hop) da A a B; qui N=2N=2.
  • tpt_p: ritardo di propagazione di un collegamento.
  • tst_s: tempo di commutazione (di "decisione") di uno switch.
  • MM: lunghezza del messaggio in bit; RR: bitrate di ogni collegamento.
  • Tempo di trasmissione del messaggio: ttx=M/Rt_{tx}=M/R.

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.

  1. Richiesta di connessione. Un piccolo pacchetto di segnalazione parte da A, attraversa il primo collegamento (tpt_p), lo switch lo elabora e riserva le risorse (tst_s), poi attraversa il secondo collegamento (tpt_p) fino a B. Costo: NtpN t_p più il tempo di commutazione.
  2. Conferma. B risponde e la risposta torna indietro fino ad A passando di nuovo per lo switch: NtpN t_p più il tempo di commutazione. Solo quando A riceve la conferma il circuito è pronto.
  3. Trasferimento dati. A trasmette tutto il messaggio (M/RM/R) 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é tst_s né una ritrasmissione per hop. Il primo bit parte, l'ultimo bit viene trasmesso a M/RM/R e poi si propaga in NtpN t_p fino a B.

Risultato

Sommando propagazioni e commutazioni delle tre fasi: T=N tp+ts⏟richiesta+N tp+ts⏟conferma+MR+N tp⏟dati ⟹ T=3N tp+N ts+MRT=\underbrace{N\,t_p+t_s}_{\text{richiesta}}+\underbrace{N\,t_p+t_s}_{\text{conferma}}+\underbrace{\frac MR+N\,t_p}_{\text{dati}}\ \Longrightarrow\ \boxed{T=3N\,t_p+N\,t_s+\frac MR} con N=2N=2, ovvero T=6 tp+2 ts+M/RT=6\,t_p+2\,t_s+M/R. (Per NN generico, gli N−1N-1 switch intermedi sono attraversati dalle due fasi di segnalazione: i termini di commutazione sono 2(N−1) ts2(N-1)\,t_s; la formula con N tsN\,t_s coincide per N=2N=2, perché 2(2−1)=2=N2(2-1)=2=N. Per N=4N=4 la differenza sarebbe 2(N−1)ts=6ts2(N-1)t_s=6t_s contro 4ts4t_s: con ts=0,5t_s=0{,}5 ms 33 ms contro 22 ms, trascurabile rispetto a TT.) Il termine N tsN\,t_s è trascurabile rispetto agli altri, quindi T≃3N tp+MR.T\simeq3N\,t_p+\frac MR. 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

M=1M=1 Mbit, R=10R=10 Mbps, tp=1t_p=1 ms, ts=0,5t_s=0{,}5 ms, N=2N=2: T=3⋅2⋅1 ms+2⋅0,5 ms+106107 s=6+1+100=107 ms.T=3\cdot2\cdot1\ \text{ms}+2\cdot0{,}5\ \text{ms}+\frac{10^6}{10^7}\ \text{s}=6+1+100=107\ \text{ms}. Il setup pesa 77 ms su 107107: per messaggi lunghi è trascurabile, per messaggi corti domina. In generale la quota di tempo spesa nel setup è 77+M/R\dfrac{7}{7+M/R}, con M/RM/R in ms (qui R=10R=10 Mbit/s =10=10 kbit/ms, quindi M/R=M/10M/R=M/10 ms con MM 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 T=3Ntp+Nts+M/RT=3N t_p+N t_s+M/R con NN numero di collegamenti: coincide con la formula ricavata qui. Nel manoscritto è disegnata la sequenza richiesta-risposta-dati con tst_s nello switch sia alla richiesta sia alla risposta e nessun tst_s 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 2Ntp2N t_p invece di 3Ntp3N t_p.
  • Contare M/RM/R su ogni hop (è store-and-forward, non commutazione di circuito: il circuito è trasparente ai dati).
  • Aggiungere tst_s ai dati: lo switch ha già riservato il circuito.

(Verificato con Python: T(N=2,M=1 Mbit,R=10 Mbps,tp=1 ms)=0,106T(N=2,M=1\text{ Mbit},R=10\text{ Mbps},t_p=1\text{ ms})=0{,}106 s senza tst_s; 0,1070{,}107 s con ts=0,5t_s=0{,}5 ms.)

Versione ripasso

Dati. A - switch - B, N=2N=2 collegamenti uguali; tpt_p propagazione, tst_s commutazione, MM bit, RR 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 Ntp+tsN t_p+t_s, conferma Ntp+tsN t_p+t_s (il circuito serve solo dopo la conferma).
  • Dati: M/R+NtpM/R+N t_p, nessun tst_s (circuito già riservato, niente store-and-forward).
  • T=3Ntp+Nts+M/R≃3Ntp+M/RT=3N t_p+N t_s+M/R\simeq3N t_p+M/R.
  • Esempio: M=1M=1 Mbit, R=10R=10 Mbps, tp=1t_p=1 ms, ts=0,5t_s=0{,}5 ms: 107107 ms.
  • Coincide con l'ufficiale.
  • Errore tipico: dimenticare la conferma (2Ntp2N t_p al posto di 3Ntp3N t_p).

Lezioni in cui compare

Teoria collegata