Lezione 8 · Canale 2 · giovedì 15 ottobre 2026
Architetture a strati e incapsulamento
FCI · Reti
L'effetto pipeline
Frammentare un messaggio in più pacchetti è un compromesso: pacchetti più piccoli alleggeriscono lo store and forward, ma ciascuno porta la propria intestazione. L'overhead cresce linearmente con il numero di pacchetti, mentre il ritardo di store and forward cala come l'inverso di quel numero, fino a fermarsi: un pacchetto non può essere più piccolo di un bit.
Su un percorso di salti, con pacchetti di bit, la capacità e il ritardo di propagazione del collegamento , il primo pacchetto arriva dopo il ritardo end-to-end:
Se la sorgente li trasmette uno dopo l'altro, gli altri arrivano a distanza di l'uno dall'altro, perché il ritmo lo impone il collegamento meno capace:
Il tempo di pacchetti non è : mentre un pacchetto attraversa un collegamento, i precedenti proseguono sui successivi. È l'effetto pipeline: il percorso è un tubo in cui si immette una gocciolina alla volta e che si riempie.
Il tempo di trasferimento di pacchetti
- con la pipeline
- , errato
Strati, servizi e protocolli
In un'architettura a strati le funzioni di comunicazione stanno in livelli distinti. Ogni livello implementa funzioni specifiche e offre servizi; la sua implementazione è indipendente da quella degli altri livelli e trasparente per loro.
Il livello offre servizi al livello , di cui è server, e usa quelli del livello , di cui è client. Il punto in cui si chiede un servizio è un'interfaccia logica simile a un'API, il Service Access Point (SAP).
Ogni livello è realizzato da un protocollo, una procedura standard che descrive le operazioni da svolgere, gli attori coinvolti e i messaggi scambiati.
La pila di riferimento è la pila TCP/IP a cinque livelli, numerati dal basso: 5 applicazione, 4 trasporto, 3 rete, 2 collegamento, 1 fisico. Deriva da OSI, a sette livelli: i primi quattro, dal basso, coincidono, mentre sessione e presentazione sono incorporati nell'applicazione.
Applicazione e trasporto
Applicazione (5). Qui vivono le applicazioni di uso quotidiano, ciascuna con il proprio protocollo: HTTP per il Web, SMTP per la posta. Due processi, in esecuzione su macchine diverse (gli host), di solito client e server, si scambiano messaggi: il client invia una richiesta e riceve una risposta. Nel Web la richiesta indica con un URL il contenuto desiderato e la risposta lo contiene.
Chi sviluppa l'applicazione definisce la logica di client e server e i loro messaggi, senza conoscere la rete sottostante (Wi-Fi, cavo, fibra, rete mobile): gli serve sapere solo quali servizi offre il livello sotto.
Trasporto (4). Dà all'applicazione un collegamento logico punto a punto, senza che veda come la rete lo realizza. Le estremità sono le socket, porte logiche create dal sistema operativo con cui l'applicazione consegna e riceve messaggi: sono il SAP fra il livello 5 e il 4. Due implementazioni classiche:
- TCP (Transmission Control Protocol): trasferimento affidabile dei dati, che consegna tutto e correttamente.
- UDP (User Datagram Protocol): nessuna affidabilità, ammette la perdita di pacchetti. Va bene per il tempo reale, come una chiamata VoIP, dove un breve tratto perso si ricostruisce dal contesto.
Rete
Il livello 3 sposta i pacchetti dall'host sorgente all'host destinazione, attraverso reti e router, con due funzioni:
- il routing trova il percorso, cioè la sequenza di router da attraversare;
- la commutazione inoltra il pacchetto da un'interfaccia d'ingresso a una d'uscita del router, verso la rete successiva.
I dispositivi della stessa rete locale (LAN) comunicano direttamente, come in una stanza dove ci si sente a voce. Per raggiungere un'altra rete serve un intermediario, il router o gateway, che ha un'interfaccia su ciascuna delle due reti.
La rete non è affidabile: i messaggi possono essere alterati, per interferenze o per un intervento malevolo, e i pacchetti possono perdersi quando i buffer si riempiono (congestione), duplicarsi o invertirsi. Il servizio è best effort; a questi difetti rimedia TCP.
Collegamento e fisico
Il livello 2 realizza la comunicazione diretta fra le macchine della stessa LAN, senza router. Una proprietà utile è il broadcast: ciò che una stazione trasmette è ricevuto da tutte. Le stazioni si collegano così:
- collegamento punto a punto, il caso più semplice;
- bus: le stazioni si agganciano con connessioni a T a un conduttore condiviso, lungo il quale il segnale arriva a tutte;
- stella: le stazioni sono collegate a un centro stella, lo switch, un commutatore di livello 2 che lavora solo dentro la rete locale e inoltra il segnale verso la porta della stazione destinataria.
Su un mezzo broadcast due trasmissioni simultanee si sovrappongono (collisione); con lo switch, che sceglie l'uscita, il problema non si pone. Reti diverse lungo lo stesso percorso possono usare tecnologie diverse: Wi-Fi, poi Ethernet, poi fibra ottica.
Il livello fisico (1) prepara l'informazione per il mezzo trasmissivo, per esempio convertendo i bit in una forma analogica, e viceversa.
Incapsulamento e decapsulamento
Per ottenere il servizio del livello sottostante, ogni livello incapsula ciò che riceve da quello superiore, la SDU, in una nuova unità dati, la PDU, aggiungendo le proprie informazioni di controllo, come un foglio messo in una busta. Scendendo la pila:
- Applicazione: il messaggio , per esempio una richiesta HTTP GET con l'URL del contenuto.
- Trasporto: il segmento, con come carico utile (payload) e un'intestazione di livello 4, , che dipende da TCP o UDP e contiene i numeri di porta.
- Rete: il pacchetto, con il segmento come carico utile e un'intestazione di rete con gli indirizzi IP di sorgente e destinazione.
- Collegamento: il frame, per esempio Ethernet, con il pacchetto come carico utile, un'intestazione di collegamento con gli indirizzi MAC e un trailer in fondo.
Il decapsulamento è l'operazione inversa: si risale la pila rimuovendo l'intestazione più esterna. Si decapsula quando l'unità dati raggiunge la sua destinazione al livello considerato: al livello 2 una macchina della rete locale, al 3 l'host indicato nel pacchetto IP, al 5 il processo che riceve il messaggio.
Esempio: host, switch, router, host
Un host sorgente è collegato a uno switch, lo switch a un router, il router a un host destinazione: il router separa due LAN. Il client della sorgente invia al server della destinazione.
Il percorso dei dati
- L'host sorgente costruisce il frame e lo invia.
- Lo switch lavora al livello 2: legge l'intestazione di collegamento e inoltra il frame senza decapsularlo, perché la destinazione di livello 2 è il router.
- Il router è la destinazione di livello 2: toglie e sale al livello 3. La destinazione IP non è lui, quindi non sale al livello 4. Consulta la tabella, sceglie l'interfaccia d'uscita e crea un nuovo frame, con nuovi indirizzi di collegamento di sorgente e destinazione. Il pacchetto prosegue con gli stessi indirizzi IP, il frame è diverso.
- L'host destinazione toglie e verifica che l'indirizzo IP del pacchetto sia il proprio. Al livello 4 il numero di porta indica il processo a cui consegnare .
Multiplazione e demultiplazione
Più processi della stessa macchina, per esempio il browser e la posta, condividono la scheda di rete. Il trasporto permette la condivisione con la multiplazione: ogni unità dati porta il numero di porta, che dice a quale processo appartiene. Al destinatario la demultiplazione consegna ogni segmento al processo giusto.
Formulario
Primo pacchetto
pacchetti
Unità dati
Pila TCP/IP, dal basso: 1 fisico, 2 collegamento, 3 rete, 4 trasporto, 5 applicazione.