Ritardi di trasmissione e di propagazione
Chi affronta per la prima volta il campo del computer networking può avere difficoltà nel comprendere la differenza tra ritardi di trasmissione e propagazione: una differenza sottile, ma importante.
Il ritardo di trasmissione è la quantità di tempo richiesta da parte del router per trasmettere in uscita il pacchetto, ed è funzione della lunghezza del pacchetto e della frequenza di trasmissione del collegamento, ma non ha niente a che fare con la distanza tra i due router.
Il ritardo di propagazione, invece, è il tempo richiesto per la propagazione di un bit da un router a quello successivo, ed è funzione della distanza tra i due router, ma non ha niente a che fare con la lunghezza del pacchetto o con la frequenza di trasmissione propria del collegamento.
Per meglio chiarire la differenza ricorreremo all’analogia con un’autostrada, dove i tratti tra un casello e l’altro corrispondono ai collegamenti e i caselli ai router.
Si supponga:
- che le automobili viaggiono a una velocità di 100 km/h;
- che dieci automobili, accodate, procedano in ordine fisso (possiamo vedere ogni auto come un bit e l’insieme dei veicoli come un pacchetto);
- che ciascun casello sia in grado di far transitare (ossia trasmettere) un’auto ogni dodici secondi e che queste siano le sole a percorrere in quel momento l’autostrada;
- che la prima auto, una volta raggiunto il casello, prima di superarlo attenda che altri nove veicoli siano allineati dietro di essa.
Quindi tutte le automobili devono raggiungere il casello prima di poter ripartire. Il tempo richiesto al casello per far passare l’intera fila di macchine, che è di 10 auto /(5 auto al minuto) = 2 minuti, equivale al ritardo di trasmissione in un router.
Il tempo richiesto a un’auto per spostarsi dall’uscita di un casello fino al casello successivo, corrisponde invece al ritardo di propagazione.
Di coneseguenza, il tempo che intercorre da quando l’intera colonna di vetture si trova al casello di partenza fino al momento in cui raggiunge quello successivo è la somma del ritardo di trasmissione e del ritardo di propagazione.
Approfondiamo l’analisi dell’analogia.
Cosa succederebbe se il tempo di transito ai caselli fosse superiore al tempo richiesto a un’auto per spostarsi da un casello all’altro?
Per esempio, supponiamo che le auto viaggino alla velocità di 1000 km/h e che il casello faccia passare le auto alla frequenza di una al minuto.
In questo caso il ritardo di viaggio tra due caselli sarà di 6 minuti (considerando come distanza tra due caselli 100 Km) mentre il tempo per far defluire l’intera colonna di auto sarà di 10 minuti, per cui le prime auto della fila arriveranno al secondo casello prima che le ultime abbiano lasciato il primo.
Questa situazione si riscontra anche nelle reti a commutazione di pacchetto: i primi bit di un pacchetto possono pervenire al router successivo mentre molti dei restanti bit del pacchetto sono ancora in attesa di essere trasmessi dal router precedente.
Chiamiamo delab, dacc, dtrasm e dprop rispettivamente i ritardi di elaborazione, accodamento, trasmissione e propagazione; il ritardo totale di nodo sarà allora
dnodo = delab + dacc + dtrasm + dprop
Il contributo di queste componenti del ritardo può variare in modo significativo.
Per esempio, dprop può essere trascurato (pochi microsecondi) per un collegamento che connette due router nello stesso campus universitario; è invece, di centinaia di millisecondi per due router interconnessi tramite un satellite geostazionario, e può risultare il termine dominante nel ritardo totale di nodo.
Anche il dtrasm può essere insignificante o molto importante.
Il suo contributo è in genere trascurabile per frequenze trasmissive di 10Mbps o superiori; invece può risultare di centinaia di millisecondi per grandi pacchetti Internet inviati su collegamenti a bassa velocità con modem dial-up.
Il ritardo di elaborazione, delab è spesso trascurabile, ma può influenzare pesantemente il throughput massimo di un router, che rappresenta la frequenza massima alla quale il router può smaltire i pacchetti.