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 , , e sono in catena. 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
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 all'istante occupa il collegamento fino a e raggiunge il nodo successivo a .
Tempi di trasmissione di un pacchetto di bit (): Il collegamento più lento è il primo (): è 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 () | ms | ||
| link 2 () | ms | ||
| link 3 () | ms |
Controllo: nessun accodamento, quindi basta ms.
Pacchetto 2
Il secondo pacchetto può cominciare sul link 1 solo quando il primo l'ha finito (a ms).
| Tappa | Inizio tx | Fine tx | Arrivo | Nota |
|---|---|---|---|---|
| link 1 | ||||
| link 2 | il link 2 è libero da ms | |||
| link 3 | il link 3 è libero da 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 (9 ms) il pacchetto 1 ha già lasciato il link 2 (7 ms), e quando arriva a (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 ms e questa distanza non si riduce. Infatti . Regola generale: con pacchetti uguali, il pacchetto arriva a , dove è l'arrivo del primo e 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 ms.
Risultato
- Primo pacchetto ricevuto in a ;
- secondo pacchetto ricevuto in a .
Confronto con la soluzione ufficiale
Ufficiale: primo pacchetto dopo ms, secondo dopo 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): ms invece di .
- Far partire il secondo pacchetto da a (il link 1 è occupato fino a ms).
- Calcolare i tempi di trasmissione con byte invece di bit.
(Verificato con Python, simulazione store-and-forward: arrivi a ms e ms.)
Versione ripasso
- ms (link 1 = collo di bottiglia).
- Pacchetto 1: ; ; ms.
- Pacchetto 2: parte dal link 1 a : arriva a a , a a , ad a ms (nessuna coda: i link a valle sono più veloci).
- .
- Coincide con l'ufficiale.
- Errore tipico: ignorare la trasmissione su ogni hop o il link 1 occupato.