Imbustamento
# Imbustamento

Imbustamento (o incapsulamento), nelle reti di calcolatori, è un termine che indica l'operazione, spesso ripetuta più volte, di inserimento di un payload di un certo livello N dello strato architetturale tra dati di controllo (intestazioni o header) di livello N-1. Il risultato è un pacchetto di livello N-1, che diventa quindi il carico utile per il protocollo di rete di livello N-2, e così via.

## Descrizione

In tali reti infatti i dati informativi da trasmettere sono suddivisi in segmenti finiti chiamati pacchetti costituiti da dati di controllo (PCI Protocol Control Information ovvero intestazione e checksum) e dai dati veri e propri (carico utile o payload o SDU Service Data Unit). Le intestazioni sono aggiunte in ciascuno strato da ciascun protocollo di rete utilizzato nella comunicazione.

Ad ogni livello un protocollo di rete aggiunge alla rete funzioni di complessità via via crescenti, basandosi sui servizi offerti dai livelli inferiori. Questo è il meccanismo principale di modularizzazione del software nelle telecomunicazioni.

Ad esempio, una pagina web viene imbustata in intestazioni HTTP (protocollo applicativo) per essere trasmessa su una connessione TCP (protocollo di trasporto, livello 4). TCP si occupa di segmentare il flusso di dati in pacchetti di dimensione adatta alla rete sottostante, aggiunge ad ogni pacchetto le sue intestazioni, e li passa a IP (protocollo di rete, livello 3). IP aggiunge a sua volta la propria intestazione e la passa al protocollo di rete locale, ad esempio Ethernet. Ethernet aggiunge le proprie intestazioni e passa il pacchetto (trama) da trasmettere al trasmettitore, il quale li invia sul mezzo fisico (ad esempio, un cavo in rame).

Analizzando il pacchetto (con uno sniffer), vedremo prima l'intestazione ethernet (con tra l'altro MAC address sorgente e destinazione), poi l'intestazione IP (con indirizzo IP sorgente e destinazione), poi quella TCP (porte sorgente e destinazione, numeri di sequenza e altro), poi l'intestazione HTTP (richiesta del client e risposta del server), e infine un pezzo del contenuto della pagina (tipicamente scritto in HTML).

In ricezione, avviene il processo inverso: a partire dai livelli più bassi ogni protocollo analizza il proprio header, compie le operazioni di elaborazione/controllo preposte, ed infine passa al protocollo di livello superiore quello che per lui è carico utile.

Operazioni di imbustamento sono spesso effettuate anche quando, all'attraversare dispositivi di rete che si interfacciano tra segmenti di rete eterogenei ovvero funzionanti con protocolli di comunicazione diversi, si ha la necessità di un cambiamento di protocollo (protocol switching): per ovvi motivi di semplicità di implementazione il pacchetto di ingresso è incapsulato nel rispettivo pacchetto di uscita del nuovo protocollo di trasporto.

Spesso nell'implementazione reale di una rete di telecomunicazioni il meccanismo dell'incapsulamento consente di accoppiare più protocolli di uno stesso strato in soluzioni studiate ad hoc che offrono determinati vantaggi nella particolare situazione d'interesse (tunneling).

