Salta al contenuto
Note per Studenti Esercizio - Due pacchetti da R1 ad A con collegamenti 512, 256 e 64 kbps

Esercizio - Due pacchetti da R1 ad A con collegamenti 512, 256 e 64 kbps

In questa pagina 6

Testo. Stessa rete dell'esercizio precedente (catena R1R_1, R2R_2, R3R_3, AA), con capacità e ritardi diversi. All'istante t=0t=0 il nodo R1R_1 ha due pacchetti diretti ad AA. Se tutti i pacchetti sono lunghi 512512 bit, trovare per ciascuno l'istante in cui viene ricevuto completamente a destinazione.

Collegamento Tra Bitrate Propagazione
1 R1R_1-R2R_2 C1=512C_1=512 kbps t1=1t_1=1 ms
2 R2R_2-R3R_3 C2=256C_2=256 kbps t2=2t_2=2 ms
3 R3R_3-AA C3=64C_3=64 kbps t3=4t_3=4 ms

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 →.

Modello

Come nell'esercizio precedente: store-and-forward, un pacchetto alla volta per collegamento, code illimitate. Tempi di trasmissione di 512512 bit: τ1=512512 000=1 ms,τ2=512256 000=2 ms,τ3=51264 000=8 ms.\tau_1=\frac{512}{512\,000}=1\ \text{ms},\qquad\tau_2=\frac{512}{256\,000}=2\ \text{ms},\qquad\tau_3=\frac{512}{64\,000}=8\ \text{ms}. Ora i collegamenti diventano più lenti man mano che si avanza e il collo di bottiglia è l'ultimo (C3C_3): ci aspettiamo che il secondo pacchetto trovi il primo ancora in trasmissione e debba aspettare in coda.

Pacchetto 1 (nessuna attesa)

Tappa Inizio tx Fine tx Arrivo
link 1 00 11 1+1=21+1=2 ms
link 2 22 44 4+2=64+2=6 ms
link 3 66 1414 14+4=1814+4=\mathbf{18} ms

Controllo: τ1+τ2+τ3+t1+t2+t3=11+7=18\tau_1+\tau_2+\tau_3+t_1+t_2+t_3=11+7=18 ms.

Pacchetto 2 (attese in coda)

Tappa Arriva al nodo Link libero da Inizio tx Fine tx Arrivo
link 1 00 (pronto) 11 (dopo il pacchetto 1) 11 22 2+1=32+1=3 ms
link 2 33 44 44 (attende 11 ms) 66 6+2=86+2=8 ms
link 3 88 1414 1414 (attende 66 ms) 2222 22+4=2622+4=\mathbf{26} ms

Grafico interattivo: Occupazione dei collegamenti (ms): il pacchetto 2 (colore 2) aspetta in coda prima del link 2 (1 ms) e prima del link 3 (6 ms), perché il link 3 è ancora occupato dal pacchetto 1 (colore 1) fino a 14 ms; poi i due pacchetti sono uno dopo l'altro

Il pacchetto 2 arriva a R2R_2 a 33 ms ma il link 2 sta ancora trasmettendo il pacchetto 1 (fino a 44 ms): aspetta 11 ms. Arriva a R3R_3 a 88 ms ma il link 3 trasmette il pacchetto 1 fino a 1414 ms: aspetta 66 ms. Una volta nel collo di bottiglia le due trasmissioni sono una dopo l'altra: il secondo pacchetto arriva esattamente τ3=8\tau_3=8 ms dopo il primo (26=18+826=18+8), cioè T1+(n−1)τbnT_1+(n-1)\tau_{bn} con n=2n=2 e collo di bottiglia τbn=τ3\tau_{bn}=\tau_3 (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 →).

Risultato

  • Primo pacchetto ricevuto in AA a 18 ms\mathbf{18\ ms};
  • secondo pacchetto ricevuto in AA a 26 ms\mathbf{26\ ms}.

Confronto con la soluzione ufficiale

Ufficiale: 1818 ms e 2626 ms. Coincide. Regola utile: se il collo di bottiglia è l'ultimo collegamento e il secondo pacchetto lo trova ancora occupato dal primo, l'intervallo tra gli arrivi finali è il tempo di trasmissione del collo di bottiglia.

Errori comuni

  • Trascurare l'attesa in coda al secondo router: R3R_3 non può trasmettere il pacchetto 2 finché non ha finito il pacchetto 1.
  • Calcolare il secondo pacchetto come "primo +τ1+\tau_1" (che vale solo se il collo di bottiglia è il link 1): qui il passo è τ3=8\tau_3=8 ms.
  • Far partire il pacchetto 1 sul link 2 prima che sia arrivato per intero a R2R_2 (cioè a 22 ms, non a 11 ms).

(Verificato con Python, simulazione store-and-forward: arrivi a 1818 ms e 2626 ms.)

Versione ripasso

Dati. R1→R2→R3→AR_1\to R_2\to R_3\to A; C=512/256/64C=512/256/64 kbps, t=1/2/4t=1/2/4 ms; L=512L=512 bit; due pacchetti a t=0t=0 (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 →).

  • τ=L/C=1, 2, 8\tau=L/C=1,\ 2,\ 8 ms (collo di bottiglia: link 3).
  • Pacchetto 1: 1+1→21+1\to2; 2+2+2→62+2+2\to6; 6+8+4→186+8+4\to\mathbf{18} ms.
  • Pacchetto 2: link 1 da 11 a 22, arriva a R2R_2 a 33; attende 11 ms (link 2 libero a 44), arriva a R3R_3 a 88; attende 66 ms (link 3 libero a 1414), tx da 1414 a 2222, arriva a 26\mathbf{26} ms.
  • 26=18+τ326=18+\tau_3.
  • Coincide con l'ufficiale.
  • Errore tipico: ignorare le code ai router quando i link a valle sono più lenti.

Lezioni in cui compare

Teoria collegata