Abbiamo detto nei precedenti articoli che Internet può essere vista come un’infrastruttura che fornisce servizi alle applicazioni distribuite che sono in esecuzione sui sistemi terminali.
Idealmente, vorremmo che i servizi Internet fossero in grado di spostare una quantità di dati qualsiasi tra due sistemi terminali , istantaneamente e senza alcuna perdita.
Purtroppo non è possibile raggiungere questo obiettivo nella realtà.
Le reti di calcolatori necessariamente vincolano il throughput, cioè la quantità di dati al secondo che può essere trasferita da due sistemi terminali, introducono ritardi tra questi ultimi e possono addirittura perdere dei pacchetti.
In questo articolo ci occuperemo proprio di questo tema: esaminare e quantificare il ritardo.
Per quanto riguarda invece le perdite e il throughput nelle reti di calcolatori, affronteremo questi temi in altri articoli.
Ricordiamo che un pacchetto parte da un host, passa attraverso una serie di router e conclude il viaggio in un altro host.
A ogni tappa, il pacchetto subisce vari tipi di ritardo a ciascun nodo del tragitto.
Di tali ritardi, i più importanti sono il ritardo di elaborazione del nodo, il ritardo di accodamento, il ritardo di trasmissione e il ritardo di propagazione, che complessivamente formano il ritardo totale di nodo.
Al fine di acquisire un’approfondita comprensione sulla commutazione di pacchetto e sulle reti di calcolatori, occorre comprendere natura e importanza di questi ritardi.
Tipi di ritardo
Come parte del proprio cammino dalla sorgente alla destinazione, un pacchetto viene inviato dal nodo di upstream attraverso un router A verso il router B.
Il nostro scopo è caratterizzare il ritardo di nodo presso il router A.
Si noti che il collegamento in uscita dal router A verso il router B è preceduto da una coda.
Quando il pacchetto arriva al router A dal nodo di upstream, il router ne esamina l’intestazione per determinare il collegamento in uscita appropriato e quindi dirige il pacchetto su tale link.
In questo esempio, il collegamento in uscita per il pacchetto è quello che porta al router B.
Un pacchetto può essere trasmesso su un collegamento solo se non ci sono altri pacchetti in fase di trasmissione e se non esistono pacchetti che lo precedono nella coda; se il collegamento è momentaneamente occupato o se altri pacchetti sono accodati, l’ultimo pacchetto arrivado si metterà in coda.
Ritardo di elaborazione
Il tempo richiesto per esaminare l’intestazione del pacchetto e per determinare dove dirigerlo fa parte del ritardo di elaborazione (processing delay).
Questo può anche includere altri fattori, tra i quali il tempo richiesto per controllare errori a livello di bit eventualmente occorsi nel pacchetto durante la trasmissione dal nodo di upstream al router A.
Nei router ad alta velocità questi ritardi sono solitamente dell’ordine di microsecondi o inferiori.
Dopo l’elaborazione, il router dirige il paccheto verso la coda che precede il collegamento al router B.
Ritardo di accodamento
Una volta in coda, il pacchetto subisce un ritardo di accodamento mentre attende la trasmissione sul collegamento.
La lunghezza di tale ritardo per uno specifico pacchetto dipenderà dal numero di pacchetti precedentemente arrivati, accodati e in attesa di trasmissione sul collegamento.
Se la coda è vuota e non è in corso la trasmissione di altri pacchetti, allora il ritardo di accodamento per il nostro pacchetto sarà nullo.
D’altro canto, se il traffico è pesante e molti altri pacchetti stanno anch’essi aspettando la trasmissione, il ritardo di accodamento sarà lungo. Nella pratica i ritardi di accodamento possono essere dell’ordine dei microsecondi o dei millisecondi.
Ritardo di trasmissione
Assumendo che i pacchetti siano trasmessi secondo la politica first come first served (il primo che arriva è il primo ad essere servito), come avviene comunemente nelle reti a commutazione di pacchetto, il nostro pacchetto può essere trasmesso solo dopo la trasmissione di tutti quelli che lo hanno preceduto nell’arrivo.
Sia L la lunghezza del pacchetto, in bit, e R bps la frequenza di trasmissione del collegamento dal router A al router B.
Per un collegamento a 10 Mbps, la frequenza è R = 10 Mbps; per un collegamento a 100 Mbps, la frequenza è R = 100 Mbps.
Il ritardo di trasmissione (chiamato anche store and forward delay) risulta essere L/R.
Questo è il tempo richiesto per trasmettere tutti i bit del pacchetto sul collegamento.
Anche i ritardi di trasmissione sono di solito dell’ordine dei microsecondi o dei millisecondi.
Ritardo di propagazione
Una volta immesso sul collegamento, il bit deve propagarsi fino al router B.
Il tempo impiegato è il ritardo di propagazione (propagation delay).
Il bit viaggia alla velocità di propagazione del collegamento, che dipende dal mezzo fisico (fibra ottica, doppino in rame e così via) ed è compresa nell’intervallo che va dai
2 * 108 m/s ai 3 * 108 m/s
corrispondente alla velocità della luce.
Il ritardo di propagazione è dato dalla formula d/s dove d è la distanza tra i due router mentre s è la velocità di propagazione del collegamento.
Quando l’ultimo bit del pacchetto raggiunge il nodo B, questo e tutti i bit precedenti del pacchetto sono memorizzati nel router B.
L’intero processo, quindi, prevede che il router B effettui l’inoltro.
Nelle reti più estese, i ritardi di propagazione sono dell’ordine di millisecondi.
[avatar user=”MattiaFelici” size=”thumbnail” align=”center” link=”https://www.computersec.it/informazioni/”]Mattia Felici[/avatar]