Ritardi, perdite e throughput nelle reti a commutazione di pacchetto

Un pacchetto che parte da un host sorgente e raggiunge un host di destinazione attraversa diversi router e collegamenti. In ogni tappa il pacchetto può subire vari tipi di ritardo: ritardo di elaborazione, ritardo di accodamento, ritardo di propagazione e ritardo di trasmissione. La somma di questi ritardi restituiscono il ritardo totale di nodo (nodal delay).

Ritardo di elaborazione
...

È il tempo che occorre al router per esaminare l'intestazione del pacchetto e capire in quale collegamento dirigerlo.

Ritardo di accodamento
...

È il tempo che occorre al pacchetto per essere spedito sul collegamento adatto alla sua intestazione. Tale ritardo dipende dal numero di pacchetti in coda. Se il traffico è intenso e ci sono molti pacchetti, il ritardo di accodamento sarà dell'ordine dei microsecondi o dei millisecondi. Se non c'è alcun pacchetto in coda, il ritardo di accodamento sarà nullo.

Ritardo di trasmissione
...

È il tempo che occorre per trasmettere tutti i bit di un pacchetto da un nodo all'altro ().

Ritardo di propagazione
...

Una volta che un bit del pacchetto è immesso nel collegamento questo deve raggiungere la destinazione. La velocità con cui si sposta varia a seconda del mezzo fisico, che varia dai m/s a m/s (velocità della luce).

  • è la distanza da percorrere
  • è la velocità
  • è il ritardo di propagazione del bit sul collegamento.
    Nelle reti molto estese è dell'ordine dei millisecondi.

Differenza ritardo di propagazione e ritardo di trasmissione
...

Il ritardo di trasmissione è il tempo che ci vuole per trasmettere in uscita il pacchetto e dipende dalla grandezza del pacchetto e dalla velocità del collegamento. Il ritardo di propagazione è il tempo che impiega il bit, immesso nel collegamento, per raggiungere la destinazione e dipende dalla distanza fra i due router.
(Possiamo dire in modo molto grezzo che il ritardo di trasmissione è il tempo che impiega il router per processare i pacchetti. Mentre il tempo di propagazione è il tempo per propagarli nel collegamento verso la destinazione).

Ritardo end-to-end
...

Fino a qui abbiamo visto solo i ritardi su un singolo router. Supponiamo che ci siano router tra l'host sorgente e l'host di destinazione. Ipotizziamo che non ci siano ritardi di accodamento.
Il ritardo di elaborazione di ciascun router e presso il mittente è di .
La velocità di trasmissione in uscita ad ogni router e dall'host sorgente è di bps.
La propagazione su ciascun collegamento sia di .
Il ritardo end-to-end Dove ancora e la dimensione del pacchetto.

Il tool traceroute

Con il programma traceroute in Linux (tracert in Windows) si può tracciare il percorso dei pacchetti verso un certo host di destinazione, esso calcola anche i ritardi riportarti dai pacchetti durante il viaggio verso la destinazione.
Pasted image 20230918105011.png

Throughput
...

Oltre al ritardo e alla perdita di pacchetti, un'altra misura critica delle prestazioni è il throughput (letteralmente portata). Per darne una definizione supponiamo che debba essere inviato un file voluminoso da un nodo A ad un nodo B. Il throughput istantaneo è la velocità a cui il nodo B sta ricevendo il file. Se il file è di bit e il trasferimento richiede secondi il throughput medio è di bps. Per far si che alcune applicazioni funzionino come si deve a volte si richiede che il throughput medio sia sopra una certa soglia.

Consideriamo un esempio per approfondire:
Pasted image 20230918114508.png
Sia la velocità del collegamento tra server e router e la velocità del collegamento tra client e router. Il server invia una file di un certa dimensione a una velocità e chiaramente non può inviarlo ad una velocità maggiore, l'host lo riceve ad una velocità .

  • Se allora il throughput dipende da
  • Se allora il throughput dipende da
Il throughput è il minimo tra la velocità dei due collegamenti

Il tempo necessario a traferire un grosso file dal server al client quindi richiede: In questo caso abbiamo fatto riferimento ad una rete con due collegamenti e un solo router.
In caso di più collegamenti, il ragionamento è identico. Il throughput è il .

Vediamo un altro caso. Supponiamo che ci siano 10 server che inviano file (10 downloads) e 10 client che li ricevono. Supponiamo i collegamenti passino per un unico nucleo.

  • Ogni server invia a velocità
  • Ogni client riceve a velocità
  • Il nucleo della rete inoltra i dati a velocità
    Se è molto più grande sia di , che di , allora il throughput per ogni coppia di server-client sarà il minimo tra le rispettive velocità di trasferimento dei singoli collegamenti.
    Pasted image 20230918121514.png
Ma se è dell'ordine di grandezza di e , la situazione cambia

Esaminiamo un caso specifico:

Il collegamento comune suddivide equamente la propria velocità di trasmissione tra i 10 downloads. Quindi il collo di bottiglia non è più il minimo tra ed , ma . In sostanza, quando non c'è traffico, il throughput può essere approssimato al minimo tra le velocità di trasmissione dei collegamenti attraversati dal file, se c'è traffico il throughput varia in base a diversi fattori.

Prossimo argomento: Protocolli di rete