Lezione 3 · Canale 1 · lunedì 28 settembre 2026

Packet switching, ritardi e throughput

FCI · Reti

Internet come rete di reti

Nel packet switching i dati sono divisi in pacchetti, che attraversano i nodi con il meccanismo store and forward: il nodo riceve il pacchetto intero e solo dopo lo inoltra sul collegamento successivo. Nessuna risorsa è riservata in anticipo, e le risorse sono condivise a richiesta (multiplazione statistica). Quando le richieste superano ciò che il collegamento offre, i pacchetti aspettano nei nodi.

Internet è una rete di reti. Ogni rete è un Internet Service Provider (ISP) e gli ISP sono organizzati in livelli:

  • Livello 1: grandi ISP con copertura nazionale o internazionale (Verizon, Sprint, AT&T). Sono collegati direttamente fra loro e comunicano alla pari (peer).
  • Livello 2: ISP più piccoli, clienti di un ISP di livello 1, da cui ottengono la connettività con il resto della rete. Possono non essere collegati direttamente fra loro; per un collegamento diretto si usa un Internet Exchange Point.
  • ISP locali (livello 3): danno accesso agli utenti finali e sono clienti di un ISP di livello 2.

Un pacchetto sale dall'ISP locale ai livelli superiori, può attraversare due ISP di livello 1 alla pari e poi scende fino alla destinazione. Il percorso cambia con il destinatario.

Riservare risorse lungo un percorso che attraversa tante reti eterogenee, di dimensioni e paesi diversi, è complesso. Il trasferimento a pacchetto è più semplice da realizzare, a prezzo di code e ritardi.

I quattro ritardi

Un pacchetto che passa da un nodo al collegamento successivo subisce quattro ritardi, uno dopo l'altro:

Quattro cause di ritardo

ABR1R2,
In R1 il pacchetto di A subisce elaborazione e, se B usa lo stesso collegamento in uscita, accodamento; verso R2 subisce trasmissione, al bitrate , e propagazione lungo .
dlink=delab+dqueue+dtrasm+dpropd_{\text{link}}=d_{\text{elab}}+d_{\text{queue}}+d_{\text{trasm}}+d_{\text{prop}}
  • Elaborazione delabd_{\text{elab}}: il nodo legge l'intestazione, controlla errori sui bit e sceglie il collegamento di uscita (instradamento). È spesso piccolo e dipende dalla CPU del router.
  • Accodamento dqueued_{\text{queue}}: se due pacchetti devono uscire sullo stesso collegamento, parte per primo quello arrivato per primo; a parità di arrivo e senza priorità l'ordine è casuale. Ogni pacchetto attende la trasmissione di quelli che lo precedono, e pacchetti di lunghezze diverse producono attese diverse. Dipende dal traffico concorrente, quindi non si conosce a priori.
  • Trasmissione dtrasmd_{\text{trasm}}: tempo per immettere sul collegamento tutti i bit del pacchetto. Dipende dalla lunghezza LL del pacchetto (in bit) e dal bitrate RR del collegamento (in bit/s): dietro un pacchetto lungo si aspetta di più.
  • Propagazione dpropd_{\text{prop}}: tempo che il segnale impiega a percorrere il mezzo fisico, di lunghezza dd, con velocità di propagazione ss. La luce nel vuoto viaggia a circa 3×1083\times10^8 m/s, su un collegamento fisico a circa 2×1082\times10^8 m/s, cioè 1/s=5 μs/km1/s=5\ \mu\text{s}/\text{km}.
dtrasm=LRdprop=ds\begin{aligned} d_{\text{trasm}}&=\frac{L}{R}\\ d_{\text{prop}}&=\frac{d}{s} \end{aligned}

ss e RR sono grandezze diverse: RR dice quanto in fretta i bit escono dal nodo, ss quanto in fretta il segnale viaggia. Con elaborazione e accodamento trascurabili, il ritardo del collegamento è L/R+d/sL/R+d/s.

Una colonna di auto

Dieci auto fra due caselli, tempo in minuti

12345678910tempoCasello 1Casello 210 auto arrivate
Ogni fascia è un'auto. A 100 km/h pesa la propagazione; con km/h e un'auto al minuto la prima arriva mentre altre aspettano ancora al primo casello.

Quali ritardi si possono ridurre

  • Elaborazione: spesso trascurabile, e negli esercizi si trascura se è detto.
  • Accodamento: è trascurabile se non ci sono altri pacchetti in transito. Per scaricare un file si può scegliere un momento di poco traffico; per un servizio interattivo o un video in diretta no.
  • Trasmissione: si riduce aumentando RR. Ridurre LL la riduce a sua volta, ma si trasmettono meno dati.
  • Propagazione: si riduce accorciando il percorso. Per questo la vicinanza del server conta nei servizi a bassa latenza, come i videogiochi.

Traffico, code e perdita di pacchetti

Siano aa il numero medio di pacchetti che arrivano al nodo al secondo, ciascuno di LL bit, e RR il bitrate del collegamento in uscita. L'intensità di traffico è

LaR\frac{La}{R}
  • con La/RLa/R vicino a 0 il ritardo di accodamento è molto limitato;
  • con La/RLa/R che tende a 1 cresce in modo non lineare, senza limite;
  • con La/R>1La/R>1 arriva più lavoro di quanto il collegamento ne smaltisca e il ritardo medio è infinito.

Gli arrivi sono casuali: anche con tassi medi uguali in ingresso e in uscita si formano code.

Esempio: molti utenti sullo stesso access point Wi-Fi generano traffico che lo congestiona. Passare a un altro access point cambia la distanza (propagazione) e il numero di utenti che lo condividono (accodamento): non risolve il problema se la causa è la quantità di traffico.

La coda di un router ha memoria finita. Il pacchetto che arriva a coda piena viene scartato: è la perdita di pacchetti. In IP la rete di norma non la recupera, e quando serve ci pensa un livello superiore. La tolleranza dipende dall'applicazione: una piccola perdita lascia comprensibile un messaggio vocale o un video, mentre un file o un testo si corrompono.

Coda e perdita a tassi costanti

00,10,20,30,40,50,60,70,80,91020406080100120140 (s)pacchetti
  • pacchetti in coda
  • pacchetti persi, in totale
Se supera la coda cresce fino alla capienza, poi si perdono pacchetti; altrimenti, a tassi costanti, la coda resta vuota.

Throughput e collo di bottiglia

Il throughput è il bitrate al quale i bit passano dal mittente al ricevente, istantaneo o medio su un periodo. Descrive il trasferimento effettivo lungo tutto il percorso, non il bitrate di una singola linea.

Come l'acqua in tubi di sezione diversa, il flusso è limitato dal tratto più stretto: il throughput è il bitrate più basso lungo il percorso, il collo di bottiglia. Non è la media dei bitrate. Una fibra veloce a un estremo non basta se l'altro estremo è lento.

Connessioni che condividono un collegamento

S1S2S3R1R2C1C2C3
Le connessioni server-client, dieci nell'esempio, si dividono in parti uguali il collegamento : ciascuna è limitata dal più lento fra , e .

Con un server a bitrate RsR_s e un client a bitrate RcR_c il throughput è min⁡(Rs,Rc)\min(R_s,R_c). Se NN connessioni condividono un collegamento di bitrate RR a parti uguali, ciascuna ne ottiene R/NR/N. Con N=10N=10:

throughput=min⁡(Rc, Rs, R10)\text{throughput}=\min\left(R_c,\,R_s,\,\frac{R}{10}\right)
  • R=Rs=Rc=10R=R_s=R_c=10 Mbit/s: min⁡(10, 10, 1)=1\min(10,\,10,\,1)=1 Mbit/s.
  • R=10R=10 Mbit/s, Rs=5R_s=5 Mbit/s, Rc=500R_c=500 kbit/s: min⁡(0,5, 5, 1)=0,5\min(0{,}5,\,5,\,1)=0{,}5 Mbit/s.

Nel primo caso il collo di bottiglia è il collegamento condiviso, nel secondo è il collegamento del client. In pratica il collo di bottiglia è spesso RcR_c o RsR_s.

Throughput di una connessione al crescere delle connessioni

24681012141618200246810Mbit/s
  • throughput
  • quota del collegamento condiviso
  • limite degli estremi
Con poche connessioni il collo di bottiglia è l'estremo più lento; con molte è il collegamento condiviso, la cui quota scende.

Formulario

Ritardo di un collegamento

dlink=delab+dqueue+dtrasm+dprop\begin{aligned} d_{\text{link}}&=d_{\text{elab}}+d_{\text{queue}}\\ &\quad+d_{\text{trasm}}+d_{\text{prop}} \end{aligned}

Trasmissione, con LL in bit

dtrasm=LRd_{\text{trasm}}=\frac{L}{R}

Propagazione

dprop=dsd_{\text{prop}}=\frac{d}{s}

Velocità di propagazione

s≈2⋅108 m/ss\approx2\cdot10^8\ \text{m/s} 1s=5 μs/km\frac1s=5\ \mu\text{s/km}

Intensità di traffico, con aa in pacchetti/s

LaR\frac{La}{R}

Throughput con N=10N=10

min⁡(Rc,Rs,R10)\min\left(R_c,R_s,\frac{R}{10}\right)

Quota di NN connessioni

RN\frac{R}{N}