Lezione 4 · Canale 2 · giovedì 1 ottobre 2026
Commutazione di circuito e di pacchetto
FCI · Reti
Riassunto
La commutazione di circuito instaura una connessione, riservando risorse lungo il percorso e configurando i commutatori prima dello scambio informativo. Una volta instaurato il circuito, le prestazioni sono deterministiche e calcolabili a priori. La commutazione di pacchetto, invece, suddivide i dati in unità discrete, i pacchetti, con intestazione e contenuto, e li inoltra singolarmente senza instaurare una connessione preliminare. I router usano il meccanismo store and forward: ricevono il pacchetto completo prima di inoltrarlo, con un ritardo di trasmissione a ogni salto. La multiplazione statistica permette a più flussi di condividere i collegamenti senza riservare risorse in anticipo, ma può causare accodamento e perdita di pacchetti. Un esempio confronta le due tecniche con accesso condiviso: con la commutazione di circuito un collegamento da 1 Mbit/s serve 10 utenti da 100 kbit/s, mentre con la commutazione statistica può servirne di più, poiché ciascuno trasmette solo il 10% del tempo.
Concetti chiave
- Commutazione di circuito — modalità in cui la rete instaura un circuito tra gli endpoint, riservando risorse lungo il percorso e configurando i commutatori prima dello scambio informativo.
- Connection setup — procedura che individua un percorso ammissibile, riserva un canale su ogni collegamento e istruisce i commutatori.
- Circuito virtuale — collegamento logico tra i due host, creato dalla procedura di instaurazione; non è un collegamento fisico diretto.
- TDM (Time Division Multiplexing) — multiplazione che separa gli utenti nel dominio del tempo.
- FDM (Frequency Division Multiplexing) — multiplazione che separa gli utenti nel dominio della frequenza.
- Commutazione di pacchetto — modalità in cui il contenuto informativo viene suddiviso in pacchetti inoltrati singolarmente.
- Connection-oriented — modalità in cui l'utente richiede l'instaurazione di una connessione prima di trasmettere.
- Connectionless — modalità in cui l'utente invia i dati senza instaurare prima un circuito.
- Header — intestazione del pacchetto, contenente informazioni di sistema come l'indirizzo di destinazione.
- Payload — parte del pacchetto che contiene il contenuto informativo dell'utente.
- Tabella di routing — tabella del router che associa l'indirizzo di destinazione all'interfaccia d'uscita.
- Store and forward — meccanismo per cui il router riceve e immagazzina l'intero pacchetto prima di inoltrarlo.
- Multiplazione statistica — condivisione delle risorse senza assegnare in anticipo canali esclusivi.
- Buffer — memoria in cui il router conserva temporaneamente i pacchetti in attesa di trasmissione.
- Ritardo di accodamento — tempo d'attesa quando un pacchetto trova occupata la risorsa di trasmissione.
- Packet loss — perdita di un pacchetto scartato perché il buffer è pieno.
- Overhead — bit aggiuntivi (come quelli dell'header) che servono alla rete ma non sono informazione dell'utente.
Sviluppo
Commutazione di circuito
Nel core, i commutatori di circuito spostano il flusso informativo dall'ingresso all'uscita in base al percorso predisposto durante l'instaurazione. La procedura comincia con una richiesta di connessione che identifica almeno i due endpoint e può specificare requisiti, per esempio una banda minima: in tal caso il routing deve trovare un percorso che li soddisfi.
Durante il connection setup la rete individua il percorso, riserva un canale su ogni collegamento e configura i commutatori. Le risorse sono condivise tramite multiplazione statica: una volta assegnate, restano riservate all'utente fino alla procedura di rilascio. Le due tecniche sono TDM, che separa gli utenti nel tempo con slot diversi, e FDM, che li separa in frequenza con bande diverse.
La tabella del commutatore associa porta e canale d'ingresso a porta e canale d'uscita; per esempio, un segnale ricevuto sulla porta 3, canale 5, può essere inoltrato sulla porta 2, canale 8. Il commutatore inoltra i bit senza leggere intestazioni né interpretare dati, perché il percorso è già stato stabilito. Terminata l'instaurazione, gli host scambiano i dati e, alla fine, chiedono il rilascio delle risorse.
Prestazioni e limiti della commutazione di circuito
Le prestazioni sono deterministiche e calcolabili a priori: una volta noti il percorso, il numero di salti, il ritardo di propagazione e la capacità del circuito, il tempo di trasferimento si può calcolare esattamente. Ciò è utile per applicazioni con requisiti stringenti di banda e ritardo, come la telefonia.
Lo svantaggio principale è il tempo necessario per instaurare il circuito. Se è confrontabile con il tempo di trasferimento, la commutazione di circuito risulta poco efficiente: una telefonata dura spesso da decine di secondi a minuti, mentre una richiesta web consiste in pochi messaggi e in una risposta di pochi kilobyte, scambiati in millisecondi.
Diagramma spazio-tempo e prestazioni del circuito
Il diagramma spazio-tempo rappresenta i dispositivi sull'asse spaziale e assegna a ciascuno un asse verticale per il tempo. Spostarsi da sinistra a destra significa avanzare nello spazio; in un disegno, un tratto orizzontale implicherebbe propagazione nulla, cioè velocità infinita. In alcuni calcoli si può assumere che il ritardo di propagazione sia trascurabile, ma è una semplificazione.
Per stimare il tempo di trasferimento si considera un caso omogeneo: collegamenti della stessa lunghezza, con la stessa multiplazione e canali della stessa capacità. Nel circuito il primo bit può essere inoltrato dal commutatore appena arriva, perché la tabella indica già l'uscita; si assume trascurabile il tempo di permanenza nel commutatore. Ogni bit subisce quindi i ritardi di propagazione sui collegamenti, mentre il tempo necessario a trasmettere l'intero file dipende dalla sua dimensione e dalla capacità del circuito.
Il numero di salti conta i collegamenti tra dispositivi consecutivi lungo il percorso: per esempio, il percorso H1–R1–R5–R6–R4–H2 comprende cinque salti. Si assumono assenti errori binari e perdite.
Dalla trasmissione continua ai pacchetti
Nel circuito, una volta instaurato il collegamento, la sorgente invia il flusso di bit uno dopo l'altro, come un flusso continuo. Nella commutazione di pacchetto il file viene invece diviso in blocchi. La lunghezza dei pacchetti può variare; per semplificare, si considerano pacchetti tutti della stessa dimensione. Per esempio, un file può essere suddiviso in tre pacchetti di quattro bit ciascuno.
Struttura del pacchetto e connectionless
Un pacchetto è come una spedizione: il contenuto da trasferire viene messo in un involucro e sull'involucro si scrivono mittente e destinatario. Il contenuto è il payload; le informazioni per l'inoltro sono nell'header (intestazione).
La commutazione di pacchetto evita la fase di instaurazione del circuito: è connectionless. Se ha dati da inviare, l'host li trasmette senza chiedere prima alla rete di creare un circuito. Gli host di solito hanno una sola interfaccia, attraverso cui inoltrano ciò che è destinato all'esterno.
Inoltro nei router e tabella di routing
Il router è un commutatore multiporta che sceglie dinamicamente l'interfaccia d'uscita per ciascun pacchetto. Legge l'indirizzo di destinazione contenuto nell'header e cerca nella tabella di routing l'interfaccia a cui inoltrare il pacchetto. La tabella viene calcolata da funzioni o protocolli di routing; per il momento si assume che la regola necessaria sia presente.
Store and forward
Nel circuito, il commutatore inoltra i bit in base alla porta e al canale su cui li riceve: il percorso e l'uscita sono già stati configurati. Nel router, invece, la scelta dipende dall'indirizzo di destinazione nell'header. Il router deve perciò ricevere l'intero pacchetto prima di poter leggere quell'informazione e inoltrarlo: questo meccanismo si chiama store and forward.
Ritardo di store and forward
Nel diagramma spazio-tempo si considera un pacchetto di lunghezza inviato da H1 a H2 attraverso due router. Il primo bit raggiunge R1 dopo un tempo di propagazione, ma R1 deve attendere gli altri bit prima di trasmettere. La fase di ricezione dura un tempo di trasmissione, determinato dalla lunghezza del pacchetto e dalla capacità del collegamento.
È come riempire un recipiente: prima si riempie quello in R1; quando è pieno, l'acqua viene trasferita al recipiente in R2 e poi a quello in destinazione. In un esempio omogeneo con tre collegamenti, un singolo pacchetto attraversa tre ritardi di propagazione e tre tempi di trasmissione. Nel circuito, a parità di percorso, si hanno tre ritardi di propagazione e un solo tempo di trasmissione. La differenza deriva dal fatto che, nella rete a pacchetto, ogni nodo deve ricevere il pacchetto completo prima di inoltrarlo.
Multiplazione statistica, buffer e accodamento
I collegamenti restano risorse condivise anche se non si effettua la multiplazione statica. La rete a pacchetto usa la multiplazione statistica: non riserva a ogni utente un canale esclusivo, ma lascia che i flussi usino la capacità del collegamento quando trasmettono.
Come dal barbiere: con una prenotazione si conosce in anticipo quando si verrà serviti; senza prenotazione, si può trovare il barbiere libero oppure occupato, e in quest'ultimo caso il tempo di attesa dipende da quante persone sono già in coda. Nei router i pacchetti in attesa sono conservati in un buffer; il collegamento agisce come un servente con una velocità di servizio pari alla sua capacità.
Questa modalità introduce il ritardo di accodamento, che non è noto a priori: un pacchetto può trovare il collegamento libero oppure dover attendere. Di conseguenza, rispetto al circuito, le prestazioni non sono deterministiche né calcolabili in anticipo.
Perdita di pacchetti
Il buffer può riempirsi. Se arriva un pacchetto quando non c'è più memoria disponibile, il router deve scartarlo: si verifica una packet loss. La perdita è quindi una conseguenza possibile della capacità limitata del buffer.
Dimensione dei pacchetti e overhead
Ridurre la dimensione dei pacchetti diminuisce il tempo necessario a riceverne uno interamente prima di inoltrarlo. Tuttavia, ogni pacchetto porta un header: usare uno scatolone per trasportare un oggetto minuscolo ha un costo sproporzionato rispetto al contenuto.
Pacchetti troppo piccoli aumentano l'overhead, cioè i bit di intestazione che la rete deve trasferire pur non rappresentando dati dell'utente. L'header deve contenere almeno le informazioni necessarie, come l'identificativo di sorgente e destinazione. La lunghezza complessiva del pacchetto comprende quindi header e payload; ridurre eccessivamente il payload porta a un uso inefficiente della capacità.
Osservazione dei pacchetti con uno sniffer
Un packet sniffer, come Wireshark, permette di osservare il traffico generato o ricevuto da un computer, anche quando non si sta usando attivamente un'applicazione. Il programma può mostrare i dati grezzi in esadecimale e interpretarli in una forma leggibile usando le informazioni dei protocolli standard. Nel pacchetto si vedono più intestazioni incapsulate: togliendole progressivamente si arriva al messaggio che interessa all'applicazione.
Esempio: accesso condiviso e numero di utenti
utenti comunicano attraverso una LAN con capacità elevata e un collegamento d'accesso da 1 Mbit/s, che costituisce il collo di bottiglia. Ogni utente alterna uno stato OFF, in cui non trasmette, e uno stato ON, in cui genera traffico costante a 100 kbit/s. Ogni utente è attivo per il 10% del tempo, quindi la probabilità di trovarlo nello stato ON è 0,1.
Con la commutazione di circuito si divide la capacità del collegamento in canali da 100 kbit/s: su 1 Mbit/s si ottengono 10 canali, quindi si possono servire 10 utenti con risorse riservate. La commutazione statistica permette invece la condivisione tra più utenti, dato che ciascuno trasmette solo per una frazione del tempo.
Formule e dimostrazioni
Tempo di trasferimento con commutazione di circuito
è il numero di salti, il ritardo di propagazione su ciascun collegamento, la dimensione del contenuto informativo in bit e la capacità del circuito in bit al secondo. La relazione assume collegamenti omogenei e tempo di permanenza nei commutatori trascurabile.
Tempo di trasferimento di un pacchetto con store and forward
è la lunghezza del pacchetto in bit e la capacità di ciascun collegamento. Il termine è il tempo di trasmissione del pacchetto su un collegamento. La formula assume collegamenti omogenei e non include ritardi di accodamento. Per i tre salti dell'esempio, il tempo è ; nel circuito è .
Composizione della lunghezza del pacchetto
è la lunghezza dell'intestazione e quella del contenuto informativo dell'utente, entrambe misurate in bit.
Numero di canali nel caso a circuito
Dividendo la capacità del collegamento d'accesso per la capacità richiesta da ciascun utente si ottengono 10 canali, quindi 10 utenti servibili con commutazione di circuito nell'esempio.
Probabilità dello stato ON
La probabilità è ricavata dal fatto che ciascun utente è attivo per il 10% del tempo.