Tunneling
Da Wikipedia, l'enciclopedia libera.
Nelle reti di calcolatori, il termine tunneling si riferisce a un insieme di tecniche per cui un protocollo viene incapsulato in un protocollo dello stesso livello o di livello superiore per realizzare configurazioni particolari.
Nelle configurazioni normali, un protocollo viene incapsulato in un altro protocollo di livello inferiore. Ad esempio, IP viene incapsulato in ethernet.
- Un insieme importante delle tecniche di tunneling sono quelle usate per realizzare VPN, in cui IP viene incapsulato in IP, TCP o UDP, inserendo uno strato di crittografia. In queste tecniche, due reti IP, o due parti della stessa sottorete IP, entrambe connesse ad internet, vengono interconnesse facendo passare il traffico all'interno di una connessione che viene trasmessa su internet.
- La funzionalità di port forwarding di SSH consente di inoltrare connessioni TCP tra host arbitrari all'interno di una connessione SSH, che a sua volta viaggia su TCP. In questo modo si riesce facilmente a proteggere un protocollo applicativo insicuro per farlo transitare su una rete non fidata.
- L'utilizzo di protocolli di livello rete per trasportare IP, che a sua volta è un protocollo di livello rete, è a sua volta una forma di tunneling. L'esempio tipico è la connessione di due reti IP attraverso un tunnel ATM: in tal caso, il pacchetto IP viene inserito (e opportunamente frammentato) all'interno del campo dati della cella ATM, trasmesso attraverso la rete e quindi spacchettato e ricomposto all'arrivo. In questo modo, gli switch ATM non si renderanno conto di cosa stanno trasmettendo, perché il campo dati è trasmesso così com'è, senza dover essere interpretato. Ai capi del tunnel è necessario inserire router multiprotocollo, che siano in grado di compiere le operazioni di impacchettamento dei dati.
- Per trasportare il protocollo IPv6 all'interno di IPv4, o viceversa, si usano dei tunnel. Un insieme di tecniche di tunneling sono state previste per gestire la transizione da IPv4 a IPv6.