traduzione ipv4 in ipv6 con dual-stack tunneling e traslation
29.01 2020 | by massimilianoPer facilitare il processo di migrazione verso la nuova versione e la convivenza con l’onnipresente IPv4, IETF ha previsto e […]
https://www.ingegnerianetworking.com/wp-content/uploads/2020/01/dual-stack-ipv6-devices-7cc.png
Per facilitare il processo di migrazione verso la nuova versione e la convivenza con l’onnipresente IPv4, IETF ha previsto e formalizzatodiversi meccanismi di transizione essenzialmente riconducibili a tre principali tipologie:
Dual Stack : coesistenza dei due protocolli (ipv4 & ipv6) sullo stesso dispositivo (router e/o terminali)
Tunneling: incapsulamento dei pacchetti IPv6 all’interno di pacchetti IPv4 per permettere ai pacchetti IPv6 di attraversare isole IPv4.
Translation : conversione di un protocollo in un altro attraverso la trasformazione dell’header ed, eventualmente, del payload.
IPv6 DUAL-STACK
il Dual stack è una soluzione estremamente semplice che consente ai due protocolli di convivere all’interno della stessa rete.
in una rete Dual Stack un router può instradare indifferentemente pacchetti appartenenti al protocollo IPv4 e IPv6.
- – ha almeno un indirizzo IPv4 ed gli indirizzi IPv6 necessari
– usa IPv4 per comunicare con altri host Ipv4
– usa IPv6 per comunicare con altri host Ipv6
– può usare tunneling per raggiungere un host IPv6 non locale se sul link non c’è un router IPv6
IPv6 TUNNELING
il Tunneling consente di trasportare pacchetti di un protocollo (ad es IPv6) in una rete basata su un protocollo diverso (ad es IPv4).
è necessario quando tutti i nodi tra i due End-Point comunicanti non sono Dual Stack.
i tunnel possono essere creati manualmente, in modo dinamico (6to4, ISATAP) o semi auto-matico (Tunnel Broker)
i router su cui cui nasce e termina il Tunnel devono essere Dual Stack.
IPv6 TRANSLATION
Per consentire l’interoperabilità tra i diversi protocolli è necessario ricorrere a meccanismi di translation, ovvero di ‘conversione’ di un protocollo in un altro attraverso la trasformazione dell’header ed, eventualmente, del payload.
La traduzione, che può avvenire a diversi livello nello stack di rete (network, transport e persino applicativo), molto spesso ha il difetto di introdurre perdite di informazioni.
In tutti quei casi in cui non esiste una corrispondenza tra i campi dei due protocolli i valori possono infatti essere persi o impostati a valori standard senza particolare significato; la traduzione di un datagram IPv6 in IPv4 comporterà sicuramente la perdita, ad esempio, del valore di Flow_Label.
In base al funzionamento, i meccanismi di traduzione possono essere distinti in stateless e stateful.
Un traduttore stateless è in grado di effettuare ogni singola conversione indipendentemente dalle altre (ad es SIIT); un traduttore stateful invece necessita di mantenere in memoria informazioni sulle traduzioni effettuate in precedenza (es. NAT-PT).
Con il NAT-PT si perde le trasparenza End-To-End
IPv6 a confronto
Dual Stack:
tutti gli apparati di rete devono avere SW e HW idoneo (tutte le schede di rete devono poter effettuare lo switching del traffico nativo IPv6 in hardware)
apparati, applicazioni, servizi di rete, infrastrutture di sicurezza devono essere aggiornate per operare con entrambi i protocolli
se tutto è “bilingue” l’interazione può avvenire tramite DNS
Tunneling (IPv6 in IPv4 o IPv4 in IPv6):
difficile gestire una rete di tunnel
prestazioni inferiori a quelle di una rete nativa
rete IPv6 dipendente dalla rete IPv4
solo dove necessario
Translation
possibili perdite di informazione
con il NAT-PT viene meno la trasparenza End-to-End
solo come ultima ipotesi