# Mecanismes de transició a IPv6

Els mecanismes de transició a IPv6 són tecnologies per facilitar la transició d'Internet des de la infraestructura IPv4 al nou sistema d'adreçament d'IPv6. En concret, són mètodes que permeten que ordinadors connectats només amb IPv4 o IPv6 puguin accedir a recursos que només siguin disponibles utilitzant l'altre protocol.
La IETF organitza grups de treball i discussions mitjançant els processos d'Esborranys d'Internet i documents RFC per desenvolupar aquests mètodes. Alguns mecanismes de transició bàsics estan definits al document RFC 4213.

## Stateless IP/ICMP Translation (SIIT)

Stateless IP/ICMP Translation (Traducció IP/ICMP sense estat) tradueix entre els formats de la capçalera IPv6 i IPv4. El mètode SIIT defineix una classe d'adreces IPv6 anomenada traduïdes d'IPv4. Tenen el prefix ::ffff:0:0:0/96 i es poden escriure com a ::ffff:0:a.b.c.d, on l'adreça formatejada a l'estil IPv4 a.b.c.d es refereix a un node amb IPv6-habilitat. El prefix es va triar perquè donés una suma de verificació zero, per evitar canvis al camp de checksum de la capçalera de transport.
L'algorisme es pot utilitzar en una solució que permeti que ordinadors IPv6, que no tinguin cap adreça IPv4 assignada de forma permanent, es comuniquin amb ordinadors que només tenen IPv4. L'especificació no s'ocupa de l'assignació d'adreces ni dels detalls de l'encaminament.
L'especificació la va preparar el grup de treball NGTRANS IETF, i E. Nordmark de Sun Microsystems en va fer l'esborrany el febrer de 2000, com a document RFC 2765. El document RFC 2765 va quedar obsoleta per l'RFC 6145 el 2011. La part del format de l'adreça del document RFC 2765 es defineix a l'RFC 6052. El marc de la traducció IPv4/IPv6 es defineix a l'RFC 6144.

## 6rd

6rd és un mecanisme per facilitar el desplegament ràpid del servei IPv6 en infraestructures IPv4 de proveïdors de servei d'Internet. Utilitza mapejos d'adreces sense estat entre adreces IPv4 i IPv6, i transmet paquets IPv6 per túnels automàtics que segueixen les mateixes rutes optimitzades entre nodes que els paquets IPv4.
Es va utilitzar per al primer gran desplegament de servei IPv6 amb adreces natives a finals de 2007 (RFC 5569). L'especificació en via d'estàndard del protocol és al document RFC 5969.

## Transport Relay Translation (TRT)

El document RFC 3142 defineix el mètode Transport Relay Translation (TRT). És la forma més comuna de NAT-PT/NAPT-PT, però utilitza la traducció DNS entre registres AAAA i A coneguda com a DNS-ALG, definida a l'RFC 2694.

## NAT64

NAT64 és un mecanisme que permet que els ordinadors IPv6 es comuniquin amb servidors IPv4 (el nom indica NAT de 6 a 4). El servidor NAT64 té assignada com a mínim una adreça IPv4 i un segment de xarxa IPv6 de 32 bits (per exemple 64:ff9b::/96, vegeu els RFC 6052, RFC 6146). El client IPv6 expressa l'adreça IPv4 amb la qual es vol comunicar utilitzant aquests bits, i envia els paquets a l'adreça que en resulta. El servidor NAT64 crea llavors una correspondència de NAT entre l'adreça IPv6 i l'adreça IPv4, permetent que es comuniquin.

## DNS64

DNS64 descriu un servidor DNS que, quan rep una sol·licitud del registre AAAA d'un domini, si només troba registres A, sintetitza els registres AAAA a partir dels registres A. La primera part de l'adreça IPv6 sintetitzada apunta a un traductor IPv6/IPv4 i la segona part conté l'adreça IPv4 del registre A. El traductor en qüestió sol ser un servidor NAT64.
Hi ha dos problemes notables amb aquest mecanisme de transició:
* Només funciona en casos on es fa servir el DNS per trobar l'adreça de l'ordinador remot; si es fan servir adreces literals IPv4, el servidor DNS64 no s'arribarà a utilitzar.
* Com que el servidor DNS64 ha de retornar registres que no ha especificat l'amo del domini, la validació DNSSEC amb l'arrel fallarà en els casos on el servidor DNS que faci la traducció no sigui el de l'amo del domini.

## Dual-Stack Lite (DS-Lite)

A causa de l'esgotament de les adreces IPv4, es va dissenyar Dual-Stack Lite per permetre que un proveïdor d'Internet eviti haver d'assignar cap adreça IPv4 a l'equip domèstic (CPE) de l'usuari. En comptes d'això, només es proporcionen adreces públiques IPv6 (El Dual-Stack normal assigna adreces públiques tant IPv4 com IPv6).
El router domèstic reparteix adreces privades IPv4 als clients de la xarxa local, igual que un dispositiu NAT dels habituals. La informació de subxarxa la tria arbitràriament l'usuari, igual que amb el model de NAT. Això no obstant, en comptes de fer el NAT ell mateix, l'equip domèstic encapsula el paquet IPv4 dins d'un paquet IPv6. El router utilitza la seva connexió pública IPv6 per lliurar el paquet a l'equip de NAT massiu (Large Scale NAT, o Carrier Grade NAT) de l'ISP, que té una adreça IPv4 pública. El paquet IPv6 es desencapsula, recuperant el paquet original IPv4. Es fa NAT amb el paquet IPv4, i s'envia cap a la Internet IPv4 pública. El NAT massiu identifica de forma única els fluxos de trànsit mantenint l'estat de l'adreça pública IPv6 del router domèstic, l'adreça IPv4 privada, i el port TCP o UDP com a informació de sessió.

## Esborranys

Aquests mecanismes encara estan en fase de discussió a l'IETF.

### 4rd

4rd és un mecanisme per facilitar el desplegament residual del servei d'IPv4 en xarxes IPv6. Com 6rd, utilitza correspondències d'adreces sense estat entre IPv6 i IPv4. Suporta una extensió de l'adreça IPv4 basada en el port del nivell de transport. Això és semblant a A+P, però amb un conjunt de fins a 4 rangs de ports per a cada client, i amb conjunts de ports que deriven de forma algorítmica des prefixos IPv6 del client.

## Abandonats

Els següents mecanismes han estat abandonats per l'IETF.

### NAT-PT

Network Address Translation/Protocol Translation (és a dir "Traducció d'Adreces de Xarxa/Traducció de Protocol", o NAT-PT) es defineix al document RFC 2766, però degut a problemes diversos, s'ha declarat obsolet a l'RFC 4966 i abandonat a estat històric. Típicament s'utilitzava conjuntament amb una implementació de "porta de nivell d'aplicació" de DNS (DNS-ALG).

### NAPT-PT

Encara que era gairebé idèntica a NAT-PT, "Traducció de Port i Adreça de Xarxa/Traducció de Protocol" (Network Address Port Translation + Protocol Translation), que també es descriu a l'RFC 2766, afegeix traducció dels ports a més de l'adreça. Això es fa primordialment per evitar que dos ordinadors d'un dels costats del mecanisme utilitzin i exposin el mateix port a l'altra banda del mecanisme, cosa que podria causar inestabilitat de les aplicacions i/o problemes de seguretat. També s'ha declarat obsolet a l'RFC 4966.

## Implementacions

* stone (programari), traductor de ports per a sistemes Windows i Unix-like.
* faithd, implementació de TRT estàtica basada en BSD pel projecte KAME.
* TAYGA, una implementació de NAT64 per Linux
* naptd, NAT-PT a nivell d'usuari
* Ecdysis, una passarel·la NAT64
* Address Family Transition Router Arxivat 2011-05-16 a Wayback Machine., una implementació de DS-Lite
* niit Arxivat 2011-07-18 a Wayback Machine.
* IVI Arxivat 2011-07-07 a Wayback Machine. (second page Arxivat 2011-11-02 a Wayback Machine.)
* Microsoft Forefront Unified Access Gateway, una solució de VPN i proxy invers que implementa DNS64 i NAT64

## Referències

* ↑ RFC 2765 - Stateless IP/ICMP Translation Algorithm (SIIT), E. Normark (febrer 2000)
* ↑ RFC 6145 IP/ICMP Translation Algorithm
* ↑ RFC 6052 - IPv6 Addressing of IPv4/IPv6 Translators
* ↑ RFC 6144 - Framework for IPv4/IPv6 Translation
* ↑ RFC 5569 IPv6 Rapid Deployment on IPv4 Infrastructures (6rd)
* ↑ RFC 5969 IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) -- Protocol Specification
* ↑ RFC 6146 Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers
* ↑ RFC 6147 DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers
* ↑ RFC 6333 - Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion

## Enllaços externs

* IPv6 - Prospects and problems: a technical and management investigation into the deployment of IPv6
* Network World: Understanding Dual-Stack Lite Arxivat 2011-10-20 a Wayback Machine.
* IETF Draft: Framework for IPv4/IPv6 Translation
* IPv4 and IPv6 Transition and Coexistence, 6DEPLOY project, 2011