Esercizio - Tre pacchetti del server S verso C con traffico concorrente
In questa pagina 7
Testo. Rete a commutazione di pacchetto a datagramma (store-and-forward), code indipendenti per ogni interfaccia di uscita. A la coda di uscita del server S ha tre pacchetti diretti a C, quella dell'host A ha tre pacchetti diretti a B. Pacchetti da byte, trasmissioni che partono a in tutti i nodi. Calcolare l'istante di arrivo dei soli tre pacchetti di S.
Topologia: S e A sono collegati a R1; R1 – R2 – R3 in catena; B è collegato a R2; C e D sono collegati a R3.
| Collegamento | Estremi | Capacità | Propagazione |
|---|---|---|---|
| S – R1 | Mbit/s | ms | |
| A – R1 | Mbit/s | ms | |
| R1 – R2 | Mbit/s | ms | |
| R2 – B | Mbit/s | ms | |
| R2 – R3 | Mbit/s | ms | |
| R3 – C | Mbit/s | ms | |
| R3 – D |
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 →.
Dati mancanti: il collegamento non serve
Nel testo e sono "?". Non servono: collega R3 a D, e nessun pacchetto passa di lì (i pacchetti di S vanno a C, quelli di A a B). Cammini:
- S→C: ;
- A→B: (condivide con S solo ).
Regola di calcolo
, , il pacchetto è pronto al nodo successivo a . Code FIFO per ordine di arrivo del pacchetto completo al router. Con bit (e , per esempio s ms su ):
| Collegamento | |||||
|---|---|---|---|---|---|
| (ms) |
Passo 1: arrivi in R1
S manda i suoi pacchetti a intervalli di ms, A a intervalli di ms:
| S1 | S2 | S3 | A1 | A2 | A3 |
|---|---|---|---|---|---|
Ordine di arrivo in R1: A1 (), S1 (), S2 (), A2 (), S3 (), A3 (). Si nota che S2 arriva appena prima di A2 (): l'ordine di servizio dipende da questo.
Passo 2: la coda su ( Mbit/s, ms per pacchetto)
| Ordine | Pacchetto | pronto | inizio | fine | pronto in R2 () |
|---|---|---|---|---|---|
| 1 | A1 | ||||
| 2 | S1 | ||||
| 3 | S2 | ||||
| 4 | A2 | ||||
| 5 | S3 | ||||
| 6 | A3 |
Grafico interattivo: Occupazione dei collegamenti (ms): su C2 (6 Mbit/s) i pacchetti di S (colore 1) e di A (colore 2) si alternano in ordine di arrivo in R1; i pacchetti di S, dopo C2, passano senza coda su C3 e C4 e arrivano a C a 17,55, 19,55 e 23,55 ms
è il collo di bottiglia ( Mbit/s, contro e prima e dopo): S1 e S2 escono consecutivi (distanziati di ms), mentre tra S2 e S3 c'è in mezzo il pacchetto A2 e la distanza sale a ms.
Passo 3: (R2 → R3) e (R3 → C)
( Mbit/s, ms) è più veloce di e i pacchetti di S arrivano in R2 a , , ms, già distanziati di più di ms: nessuna coda. Anche ( Mbit/s) non fa coda.
| Pacchetto | pronto in R3 () | arrivo a C () | ||
|---|---|---|---|---|
| S1 | ||||
| S2 | ||||
| S3 |
Confronto con la soluzione ufficiale
Ufficiale: , , ms. Coincide. I valori non dipendono da e , come previsto.
Errori comuni
- Provare a usare (incognito): il suo ramo non è nel cammino.
- Ordinare la coda di per istante di partenza (S prima di A) invece che di arrivo: così A1 non passerebbe per primo e tutti i tempi cambierebbero.
- Contare il tempo di trasmissione su come Mbit/s (capacità del primo tratto).
- Aggiungere coda su o : sono più veloci di .
(Verificato con Python: simulatore a eventi FIFO; S1 , S2 , S3 ms; per i pacchetti di A: , , ms a B.)
Versione ripasso
Regola. , , ; code FIFO per arrivo.
- Arrivi in R1: A1 ; S1 ; S2 ; A2 ; S3 ; A3 ms.
- ( ms): A1 , S1 , S2 , A2 , S3 , A3 ; S in R2 a .
- ( ms) e ( ms) senza coda: S in R3 a .
- Arrivi a C: ms (ufficiale: uguale).
- Errore tipico: ordine sbagliato in R1 (S2 arriva a , prima di A2 a ); coda dove non c'è.