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

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

In questa pagina 6

Testo. Si consideri la rete in figura: i nodi R1R_1, R2R_2, R3R_3 e AA sono in catena. 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=128C_1=128 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=512C_3=512 kbps t3=1t_3=1 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

I nodi intermedi sono store-and-forward: un router comincia a ritrasmettere un pacchetto solo quando lo ha ricevuto per intero, e ogni collegamento trasmette un pacchetto alla volta (se arriva un secondo pacchetto mentre il collegamento è occupato, aspetta in coda). Un pacchetto che comincia a essere trasmesso sul collegamento ii all'istante ss occupa il collegamento fino a s+L/Cis+L/C_i e raggiunge il nodo successivo a s+L/Ci+tis+L/C_i+t_i.

Tempi di trasmissione di un pacchetto di L=512L=512 bit (k=103k=10^3): τ1=512128 000=4 ms,τ2=512256 000=2 ms,τ3=512512 000=1 ms.\tau_1=\frac{512}{128\,000}=4\ \text{ms},\qquad\tau_2=\frac{512}{256\,000}=2\ \text{ms},\qquad\tau_3=\frac{512}{512\,000}=1\ \text{ms}. Il collegamento più lento è il primo (C1C_1): è il collo di bottiglia e si trova all'inizio del percorso, quindi i pacchetti sono già distanziati prima di arrivare ai collegamenti più veloci.

Pacchetto 1

Tappa Inizio tx Fine tx Arrivo al nodo successivo
link 1 (R1→R2R_1\to R_2) 00 44 4+1=54+1=5 ms
link 2 (R2→R3R_2\to R_3) 55 77 7+2=97+2=9 ms
link 3 (R3→AR_3\to A) 99 1010 10+1=1110+1=\mathbf{11} ms

Controllo: nessun accodamento, quindi basta τ1+τ2+τ3+t1+t2+t3=7+4=11\tau_1+\tau_2+\tau_3+t_1+t_2+t_3=7+4=11 ms.

Pacchetto 2

Il secondo pacchetto può cominciare sul link 1 solo quando il primo l'ha finito (a 44 ms).

Tappa Inizio tx Fine tx Arrivo Nota
link 1 44 88 8+1=98+1=9
link 2 99 1111 11+2=1311+2=13 il link 2 è libero da 77 ms
link 3 1313 1414 14+1=1514+1=\mathbf{15} il link 3 è libero da 1010 ms

Grafico interattivo: Occupazione dei collegamenti (ms): il pacchetto 1 (colore 1) e il pacchetto 2 (colore 2) non si aspettano mai in coda, perché ogni collegamento è più veloce del precedente; il secondo arriva 4 ms dopo il primo, cioè τ1

Nessuna attesa nei router: quando il pacchetto 2 arriva a R2R_2 (9 ms) il pacchetto 1 ha già lasciato il link 2 (7 ms), e quando arriva a R3R_3 (13 ms) il link 3 è libero da tempo (10 ms). La coda non si forma perché ogni collegamento successivo è più veloce del precedente: il pacchetto 2 resta distanziato dal primo di τ1=4\tau_1=4 ms e questa distanza non si riduce. Infatti 15=11+415=11+4. Regola generale: con pacchetti uguali, il pacchetto nn arriva a T1+(n−1) τbnT_1+(n-1)\,\tau_{bn}, dove T1T_1 è l'arrivo del primo e τbn\tau_{bn} il tempo di trasmissione sul collo di bottiglia (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 →): qui 11+(2−1)⋅4=1511+(2-1)\cdot4=15 ms.

Risultato

  • Primo pacchetto ricevuto in AA a 11 ms\mathbf{11\ ms};
  • secondo pacchetto ricevuto in AA a 15 ms\mathbf{15\ ms}.

Confronto con la soluzione ufficiale

Ufficiale: primo pacchetto dopo 1111 ms, secondo dopo 1515 ms. Coincide. La slide delle soluzioni scrive "first packet" per entrambi i numeri, ma i due valori sono gli arrivi del primo e del secondo pacchetto, come risulta dal calcolo.

Errori comuni

  • Sommare le propagazioni ma dimenticare di trasmettere il pacchetto su ogni hop (store-and-forward): t1+t2+t3=4t_1+t_2+t_3=4 ms invece di 1111.
  • Far partire il secondo pacchetto da R1R_1 a t=0t=0 (il link 1 è occupato fino a 44 ms).
  • Calcolare i tempi di trasmissione con L=512L=512 byte invece di 512512 bit.

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

Versione ripasso

Dati. R1→R2→R3→AR_1\to R_2\to R_3\to A; C=128/256/512C=128/256/512 kbps, t=1/2/1t=1/2/1 ms; L=512L=512 bit; due pacchetti pronti 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=4, 2, 1\tau=L/C=4,\ 2,\ 1 ms (link 1 = collo di bottiglia).
  • Pacchetto 1: 4+1→54+1\to5; +2+2→9+2+2\to9; +1+1→11+1+1\to\mathbf{11} ms.
  • Pacchetto 2: parte dal link 1 a 44: arriva a R2R_2 a 99, a R3R_3 a 1313, ad AA a 15\mathbf{15} ms (nessuna coda: i link a valle sono più veloci).
  • 15=11+τ115=11+\tau_1.
  • Coincide con l'ufficiale.
  • Errore tipico: ignorare la trasmissione su ogni hop o il link 1 occupato.

Lezioni in cui compare

Teoria collegata