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 rete 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, oppure ad aggirare limitazioni realizzate attraverso firewall o configurazioni di routing che non permetterebbero a due host di comunicare direttamente.
  • 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.


Gestire il caso generale di una connessione tra due reti diverse è estremamente difficile. Comunque è fortunatamente gestibile: un host sorgente e un host di destinazione che si trovano sullo stesso tipo di rete, ma che sono separati da una rete differente.

Per inviare un pacchetto IP all'host 2, l'host 1 costruisce il pacchetto contenente l'indirizzo IP dell'host 2, inserisce il tutto in un frame Ethernet indirizzato al router multiprotocollo del mittente e immette i dati nella ethernet. Quando riceve il frame, il router multiprotocollo rimuove il pacchetto IP, lo inserisce nel carico utile di un pacchetto dello strato network della WAN e indirizza quest'ultimo all'indirizzo WAn del router multiprotocollodestinatario. Quando arriva a destinazione, il router destinatario rimuove il pacchetto IP e lo trasmette all'host 2 in un frame Ethernet. La Wan può essere vista come un grande tunnel che si estende da un router multiprotocollo all'altro. Il pacchetto IP viaggia da un'estremità del tunnel all'altra, rannicchiato nella sua bella scatolina. Nè lui nè gli host sulle due Ethernet si devono preoccupare delle operazioni eseguite nella Wan. Solo il router multiprotocollo deve comprendere IP e i pacchetto Wan; in pratica l'intero percorso compreso tra i due router funziona come una linea seriale.


Strumenti personali