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 , , , ), con capacità e ritardi diversi. All'istante il nodo ha due pacchetti diretti ad . Se tutti i pacchetti sono lunghi bit, trovare per ciascuno l'istante in cui viene ricevuto completamente a destinazione.
| Collegamento | Tra | Bitrate | Propagazione |
|---|---|---|---|
| 1 | - | kbps | ms |
| 2 | - | kbps | ms |
| 3 | - | kbps | 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 bit: Ora i collegamenti diventano più lenti man mano che si avanza e il collo di bottiglia è l'ultimo (): 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 | ms | ||
| link 2 | ms | ||
| link 3 | ms |
Controllo: ms.
Pacchetto 2 (attese in coda)
| Tappa | Arriva al nodo | Link libero da | Inizio tx | Fine tx | Arrivo |
|---|---|---|---|---|---|
| link 1 | (pronto) | (dopo il pacchetto 1) | ms | ||
| link 2 | (attende ms) | ms | |||
| link 3 | (attende ms) | 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 a ms ma il link 2 sta ancora trasmettendo il pacchetto 1 (fino a ms): aspetta ms. Arriva a a ms ma il link 3 trasmette il pacchetto 1 fino a ms: aspetta ms. Una volta nel collo di bottiglia le due trasmissioni sono una dopo l'altra: il secondo pacchetto arriva esattamente ms dopo il primo (), cioè con e 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 →).
Risultato
- Primo pacchetto ricevuto in a ;
- secondo pacchetto ricevuto in a .
Confronto con la soluzione ufficiale
Ufficiale: ms e 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: non può trasmettere il pacchetto 2 finché non ha finito il pacchetto 1.
- Calcolare il secondo pacchetto come "primo " (che vale solo se il collo di bottiglia è il link 1): qui il passo è ms.
- Far partire il pacchetto 1 sul link 2 prima che sia arrivato per intero a (cioè a ms, non a ms).
(Verificato con Python, simulazione store-and-forward: arrivi a ms e ms.)
Versione ripasso
- ms (collo di bottiglia: link 3).
- Pacchetto 1: ; ; ms.
- Pacchetto 2: link 1 da a , arriva a a ; attende ms (link 2 libero a ), arriva a a ; attende ms (link 3 libero a ), tx da a , arriva a ms.
- .
- Coincide con l'ufficiale.
- Errore tipico: ignorare le code ai router quando i link a valle sono più lenti.