# 6to4

6to4 és un mecanisme de transició per migrar Internet d'IPv4 a IPv6. Permet que els paquets IPv6 es transmetin per una xarxa IPv4 (normalment, la Internet IPv4) sense necessitat de configurar túnels de manera explícita. També hi ha servidors de relleu especials que permeten que les xarxes 6to4 es comuniquin amb xarxes natives IPv6.
6to4 és especialment rellevant durant les fases inicials del desplegament de la connectivitat IPv6 completa, ja que no és necessari que els nodes entre l'ordinador i el seu destí suportin IPv6. Això no obstant, només està previst com a mecanisme de transició, i no es preveu que s'utilitzi de manera permanent.
Tant ordinadors individuals com xarxes locals IPv6 poden utilitzar 6to4. Quan la fa servir un ordinador, ha de tenir activa una adreça IPv4 pública, i l'ordinador s'encarrega de l'encapsulació dels paquets IPv6 sortints i la desencapsulació dels paquets IPv6 que arriben. Si l'ordinador es configura per reenviar paquets d'altres clients, sovint de la seva xarxa local, es considera que és un router.
La majoria de xarxes IPv6 utilitzen l'autoconfiguració, que reserva els 64 bits últims per identificar l'ordinador. Els primers 64 bits són el prefix IPv6. En 6to4, els primers 16 bits del prefix són sempre 2002:, els 32 bits següents són l'adreça IPv4, i els últims 16 bits del prefix els tria el router de manera arbitrària. Com que els ordinadors IPv6 amb autoconfiguració ja han determinat la part baixa de la seva adreça, només han d'esperar que arribi un paquet d'anunci de Router que indiqui els primers 64 bits del prefix per acabar de tenir una adreça IPv6 completa. Un router 6to4 sabrà enviar un paquet encapsulat directament per IPv4 si els setze primers bits són 2002, utilitzant els 32 següents com a adreça destí, o si no enviarà el paquet a un servidor de relleu conegut, que tindrà accés a IPv6 nadiu.
6to4 no facilita la interoperabilitat entre ordinadors només IPv4 i ordinadors només IPv6. 6to4 és simplement un mecanisme transparent utilitzat com a nivell de transport entre node IPv6.
A causa de la gran quantitat d'ordinadors mal configurats i al mal rendiment observat, es va publicar un document amb consells sobre com desplegar-lo l'agost de 2011.

## Com funciona 6to4

6to4 fa tres funcions:
* Assigna un bloc de l'espai d'adreçament IPv6 a qualsevol ordinador o xarxa que tingui una adreça IPv4 pública.
* Encapsula paquets IPv6 dins de paquets IPv4 per transmetre'ls per una xarxa IPv4 fent servir 6in4.
* Encamina trànsit entre xarxes 6to4 i xarxes "natives" IPv6.

### Assignació de blocs d'adreces

Per cada adreça IPv4 pública de 32 bits que s'assigna a un ordinador, es pot construir un prefix IPv6 6to4 de 48 bits perquè l'utilitzi aquest ordinador (i, si cal, la xarxa que hi ha al darrere seu) afegint l'adreça IPv4 a 2002::/16.
Per exemple, l'adreça pública IPv4 192.0.2.42 té el prefix 6to4 corresponent 2002:c000:022a::/48. Això dona una llargada del prefix de 48 bits, que encara deixa espai per un camp de subxarxa de 16 bits i adreces finals de 64 bits dins de les subxarxes.
Qualsevol adreça IPv6 que comenci amb el prefix 2002::/16 es coneix com a adreça 6to4, en comptes d'adreça IPv6 nativa, que no utilitza tecnologies de transició.
Cal observar que utilitzar una adreça IPv4 privada, com les que especifica la RFC 1918, no està definit, perquè aquestes xarxes no poden ser encaminades a la Internet pública. Per exemple, utilitzar 192.168.1.1 com a adreça WAN del router no seria vàlid, perquè el paquet de tornada determinaria que l'adreça IPv4 destí seria inabastable.

### Encapsulació i transmissió

6to4 posa un paquet IPv6 dins de la part de dades d'un paquet IPv4 amb tipus de protocol 41. Per enviar un paquet IPv6 per una xarxa IPv4 cap a una adreça de destí 6to4, s'enganxa al paquet IPv6 una capçalera IPv4 amb tipus de protocol 41. L'adreça de destí per la capçalera IPv4 deriva de l'adreça IPv6 de destí del paquet interior (que també ha de tenir format d'adreça 6to4), extraient els 32 bits que segueixen immediatament el prefix 2002::/16 de l'adreça destí. L'adreça origen de la capçalera IPv4 és la mateixa de l'ordinador o router que envia el paquet per IPv4. El paquet IPv4 resultant es dirigeix cap a la seva adreça destí igual que qualsevol altre paquet IPv4.

### Encaminament entre 6to4 i IPv6 natiu

Per permetre que els ordinadors i xarxes que utilitzen adreces 6to4 intercanviïn trànsit amb ordinadors que utilitzen adreces IPv6 "natives", s'han establert "routers de relleu". Un router de relleu es connecta alhora a una xarxa IPv4 i una d'IPv6. Les dades IPv6 contingudes dins dels paquets 6to4 que arribin per una interfície IPv4 s'encaminaran cap a la xarxa IPv6, mentre que els paquets que arribin a la interfície IPv6 amb una adreça destí de 2002::/16 s'encapsularan i enviaran per la xarxa IPv4.
Hi ha una diferència entre un "router de relleu" i un "router de frontera" (border router), conegut també com a "6to4 border router". Una router de frontera 6to4 és un router IPv6 que suporta una pseudo-interfície 6to4. Normalment és el router frontera entre un lloc que utilitza IPv6 i una xarxa WAN IPv4, on el lloc IPv6 utilitza 2002::/16, amb l'adreça IPv4 utilitzada després. Per altra banda, un "router de relleu" és un router 6to4 configurat per a moure trànsit de pas entre adreces 6to4 i adreces natives pures IPv6.
Per permetre que un ordinador 6to4 es comuniqui amb la Internet IPv6 nativa, ha de tenir el seu router per defecte IPv6 configurat a una adreça 6to4 que conté l'adreça IPv4 d'un router de relleu 6to4. Per estalviar als usuaris de configurar-ho manualment, l'adreça anycast de 192.88.99.1 s'ha reservat per enviar paquets a un router de relleu 6to4. Cal observar que en format 6to4, amb els camps de subxarxa i host posats a zero, aquesta adreça IPv4 (192.88.99.1) es converteix en l'adreça IPv6 address 2002:c058:6301::. Per assegurar la propagació de l'encaminament BGP, s'ha reservat un prefix curt, 192.88.99.0/24 per les rutes que apuntin a routers de relleu 6to4 que utilitzen aquesta adreça IP anycast. Els proveïdors que vulguin donar servei 6to4 als seus clients o a altres proveïdors han d'anunciar el prefix anycast com qualsevol altre prefix IP, i encaminar el prefix cap al seu relleu 6to4.
Els paquets de la Internet IPv6 dirigits cap a sistemes 6to4 s'han d'enviar cap a un router de relleu 6to4 amb els mètodes d'encaminament normals d'IPv6. L'especificació marca que aquests routers de relleu només poden anunciar 2002::/16 i no les seves subdivisions, per evitar que les rutes IPv4 embrutin les taules de routing dels routers IPv6. Des d'aquí ja es poden enviar per la Internet IPv4 cap al seu destí.
Una extensió de 6to4 anomenada IPv6 rapid deployment evita el requeriment de dependre d'un servidor de relleu extern que podria estar mal configurat.

## Delegació inversa DNS

Quan un lloc que utilitza 6to4 té una adreça IPv4 pública fixa, el seu prefix IPv6 6to4 també queda fixat. Llavors és possible de sol·licitar la delegació inversa del DNS per a un prefix 6to4 de 48 bits dins de la zona 2.0.0.2.ip6.arpa a la Number Resource Organization. El procés és totalment automàtic.

## Consideracions de seguretat

Segons la RFC 3964, els routers i relleus 6to4 han d'assegurar que:
* o l'adreça origen o la destinació (o totes dues) de qualsevol paquet encapsulat ha d'estar dins del prefix IPv6 de 6to4 2002::/16,
* si l'adreça IPv6 origen és una adreça IPv6 6to4, l'adreça IPv4 origen a la capçalera d'encapsulació coincideix amb l'adreça IPv4 del router 6to4 corresponent,
* de manera similar, si l'adreça destinació IPv6 és una adreça IPv6 6to4, l'adreça IPv4 del router 6to4 corresponent concorda amb l'adreça IPv4 destí de la capçalera d'encapsulació IPv4,
* qualsevol adreça IPv4 d'un router 6to4 que hi estigui continguda sigui unicast pública.

## Relleus 6to4
### Webs i llistes

* Routers de relleu 6to4 públics: Vegeu la cache a Archive.org
* Routers de relleu 6to4 relay a BGPmon.net: Llista sistemes autònoms (ASs) que anuncien prefixos anycast 6to4 IPv4 i IPv6 amb el temps actiu.

### Altres ordinadors

* swi6netCE1.switch.ch @ 2001:620:0:c000::1
* Comcast opera relleus 6to4 com a part de les seves proves IPv6. Els relleus 6to4 es van engegar el 17 d'agost de 2010. Aquests relleus 6to4 estan disponibles per mitjà de l'adreça IP anycast estàndard que, segons la RFC 3068 és 192.88.99.1. Els dispositius que intentin utilitzar 6to4 dins de la xarxa Comcast haurien de descobrir i utilitzar automàticament aquests relleus 6to4, sense intervenció ni configuració per part de l'usuari final.

## Referències

* B. Carpenter & K. Moore. Connection of IPv6 Domains via IPv4 Clouds. RFC 3056, febrer de 2001.
* R. Gilligan & E. Nordmark. Transition Mechanisms for IPv6 Hosts and Routers. RFC 2893, agost de 2000.
* C. Huitema. An Anycast Prefix for 6to4 Relay Routers. RFC 3068, juny 2001.
* P. Savola & C. Patel. Security Considerations for 6to4. RFC 3964, desembre 2004.
* ↑ RFC 6343 - Advisory Guidelines for 6to4 Deployment
* ↑ «Centre d'Informació IPv6 de Comcast».

## Enllaços externs

* "Routing IPv6 over IPv4" article de Cisco Arxivat 2015-12-03 a Wayback Machine.