Adreça IPv6

De Viquipèdia
Dreceres ràpides: navegació, cerca

Una adreça del protocol d'Internet versió 6 (adreça IPv6) és una etiqueta numèrica que s'utilitza per identificar una interfície de xarxa d'un ordinador o qualsevol altre element que participi en una xarxa informàtica que funcioni amb el protocol IPv6.

Les adreces IP serveixen per identificar de manera única cada interfície de xarxa d'un ordinador, situar-lo dins de la xarxa i així permetre l'encaminament de paquets IP entre ordinadors. Per poder-les encaminar, les adreces IP es troben en camps especials de la capçalera del paquet on indiquen l'origen i el destí del paquet.

IPv6 és el protocol que ha de succeir la primera infraestructura d'adreçament que ha tingut Internet, IPv4. Al contrari d'IPv4, que utilitzava un nombre de 32 bits com a adreça, les adreces IPv6 tenen una mida de 128 bits. Això fa que l'espai d'adreçament d'IPv6 sigui molt més gran que el d'IPv4.

Descomposició d'una adreça IPv6 en la seva forma binària.

Classes d'adreces IPv6[modifica | modifica el codi]

Les adreces IPv6 es poden classificar segons les metodologies d'encaminament i adreçament habituals en xarxes: adreçament unicast, anycast i multicast.[1]

  • Una adreça unicast (unidifusió) identifica una única interfície de xarxa. El protocol d'Internet remet els paquets que s'envien a una adreça d'unidifusió a la interfície concreta que especifica.
  • Una adreça anycast s'assigna a un grup d'interfícies, que normalment pertanyen a nodes diferents. Un paquet que s'enviï a una adreça anycast es remetrà només a una de les interfícies membre, típicament la que estigui més a prop, segons la definició de distància del protocol d'encaminament. Les adreces anycast no es poden identificar a cop d'ull; tenen el mateix format i aspecte que les adreces unicast, i només se'n diferencies perquè es troben repetides en múltiples punts de la xarxa. Gairebé qualsevol adreça unicast es pot utilitzar com a anycast.
  • Una adreça multicast també la utilitzen múltiples ordinadors, que adquireixen l'adreça multicast participant en el protocol de distribució de multicast entre els routers de la xarxa. Un paquet que s'enviï a una adreça multicast el rebran totes les interfícies que s'hagin apuntat al grup de multicast corresponent.

IPv6 no implementa adreces de broadcast. El que se sol fer amb broadcast es fa amb adreces multicast al grup de tots-els-nodes local a l'enllaç ff02::1. Això no obstant, no es recomana l'ús del grup tots-els nodes, i la majoria de protocols IPv6 utilitzen un grup de multicast local a l'enllaç concret per evitar interferir amb totes les interfícies de la xarxa.

Formats de les adreces[modifica | modifica el codi]

Una adreça IPv6 consisteix en 128 bits.[1] Les adreces es classifiquen en diferents tipus segons les metodologies d'adreçament i encaminament principals: unicast, multicast, i anycast. En cadascun d'aquests, es reconeixen diversos formats dividint lògicament els 128 bits de l'adreça en grups concrets, i establint regles per associar els valors d'aquests grups de bits a funcionalitats d'adreçament específiques.

Format d'adreça unicast i anycast[modifica | modifica el codi]

Les adreces unicast i anycast es componen típicament de dues parts lògiques: un prefix de xarxa de 64 bits que s'utilitza per a l'encaminament, i un identificador d'interfície de 64 bits més, que s'utilitza per identificar la interfície de xarxa d'un ordinador.

Format general d'adreça unicast (la mida del prefix d'encaminament varia)
bits 48 (o més) 16 (o menys) 64
camp prefix d'encaminament id de subxarxa identificador d'interfície

El prefix de xarxa (el prefix d'encaminament combinat amb l'id de subxarxa) està contingut en els 64 bits més significatius de l'adreça. La mida del prefix d'encaminament pot variar; una mida de prefix més gran implica una mida d'identificador de subxarxa més petita. Els bits del camp d'id de subxarxa estan disponibles perquè l'administrador de xarxa defineixi subxarxes dins de la xarxa donada. L'identificador d'interfície de 64 bits, o bé es genera automàticament a partir de l'adreça MAC de la interfície, utilitzant el format EUI-64 modificat, o bé s'obté d'un servidor DHCPv6, o bé es configura automàticament de manera aleatòria, o bé s'assigna de forma manual.

Les adreces locals a l'enllaç també es basen en l'identificador d'interfície, però utilitzen un format diferent per al prefix de xarxa.

Format d'adreça local a l'enllaç
bits 10 54 64
camp prefix zeros identificador d'interfície

El camp prefix conté el valor binari 1111111010. Els 54 zeros que segueixen fan que el prefix de xarxa complet sigui el mateix per a totes les adreces locals a l'enllaç, i per tant no pot ser encaminat fora de la xarxa local.

Format d'adreça multicast[modifica | modifica el codi]

Les adreces multicast es formen seguint una sèrie de regles específiques de format, segons l'aplicació.

Format general de les adreces multicast
bits 8 4 4 112
camp prefix flg àmb ID de grup

El prefix conté el valor binari 11111111 per a qualsevol adreça multicast.

Actualment, 3 dels quatre bits de flag del camp flg estan definits;[1] el bit més significatiu del flag està reservat per usos futurs.

Flags d'adreça multicast[2]
bit flag Significat amb 0 Significat amb 1
8 reservat reservat reservat
9 R (Rendezvous)[3] Punt de rendezvous no incorporat Punt de rendezvous incorporat
10 P (Prefix)[4] Sense informació de prefix Adreça basada en prefix de xarxa
11 T (Transitori)[1] Adreça multicast coneguda Adreça multicast assignada de forma dinàmica

Els quatre bits del camp d'àmbit (àmb) s'utilitzen per indicar on és vàlida i única l'adreça.

Hi ha adreces multicast especials, com la Solicited Node (node sol·licitat).

Format d'adreça multicast de node sol·licitat
bits 8 4 4 79 9 24
camp prefix flg àmb zeros uns adreça unicast

El camp sc(ope) (àmbit) conté el valor binari 0010 (local a l'enllaç). Les adreces multicast de node sol·licitat es calculen a partir de les adreces unicast o anycast d'un node, copiant els darrers 24 bits d'una adreça unicast o anycast als 24 bits últims de l'adreça multicast.

Format d'adreça multicast basada en un prefix unicast[4][3]
bits 8 4 4 4 4 8 64 32
camp prefix flg àmb res riid plen prefix de xarxa ID de grup

Les adreces multicast amb àmbit de nivell d'enllaç utilitzen un format semblant.[5]

Presentació[modifica | modifica el codi]

Una adreça IPv6 es representa com a vuit grups de quatre dígits hexadecimals, on cada grup representa 16 bits (dos octets). Els grups se separen amb dos punts (:). Un exemple d'adreça IPv6 és:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

No importa la majúscula ni la minúscula quan s'utilitzen dígits hexadecimals, però convé escriure'ls en minúscula.[6]

La representació completa de vuit grups de quatre dígits es pot simplificar amb diferents tècniques, eliminant parts de la representació.

Zeros a l'esquerra

Els zeros a l'esquerra d'un grup es poden ometre, però cada grup ha de contenir com a mínim un dígit hexadecimal.[1] Així, l'exemple anterior es pot escriure com a:

2001:db8:85a3:0:0:8a2e:370:7334
Grups de zeros

Un o més grups consecutius que siguin zero es poden substituir amb un únic grup buit, utilitzant dos signes de dos punts consecutius (::).[1] La substitució només es pot aplicar un cop en una adreça, perquè si es fes més d'un cop la representació seria ambigua. Si es pot fer més d'una substitució d'aquestes, cal fer servir la que elimini més grups; si el nombre de grups és igual, s'ha d'utilitzar la de més a l'esquerra.[6] Amb aquestes regles, l'adreça d'exemple queda més simplificada:

2001:db8:85a3::8a2e:370:7334

L'adreça de localhost (loopback), 0:0:0:0:0:0:0:1, i l'adreça IPv6 no especificada, 0:0:0:0:0:0:0:0, es redueixen a ::1 i ::, respectivament.

Notació de quatre números separats per punts

Durant la transició d'Internet d'IPv4 a IPv6 és típic de treballar en entorns amb adreces barrejades, i amb aquest fi s'ha introduït una notació especial que expressa adreces IPv6 mapejades a IPv4 o compatibles amb IPv4 posant els 32 bits finals d'una adreça en la notació habitual d'IPv4. Per exemple, l'adreça IPv6 mapejada a IPv4 ::ffff:c000:280 se sol escriure com a ::ffff:192.0.2.128, i així queda expressada clarament l'adreça IPv4 original que s'ha mapejat a IPv6.

Xarxes[modifica | modifica el codi]

Una xarxa IPv6 utilitza un bloc d'adreces que és un grup continu d'adreces IPv6 d'una mida que sigui potència de dos. Els primers bits de totes les adreces són idèntics per a tots els ordinadors d'una xarxa donada, i s'anomenen adreça de xarxa o prefix d'encaminament.

Els rangs d'adreces de xarxa s'escriuen en notació CIDR. Una xarxa es denota amb la primera adreça del bloc (la que acaba en tot zeros), una barra (/) i un nombre decimal igual a la mida en bits del prefix. Per exemple, la xarxa que s'escriu com a 2001:db8:1234::/48 comença a l'adreça 2001:db8:1234:0000:0000:0000:0000:0000 i acaba a 2001:db8:1234:ffff:ffff:ffff:ffff:ffff.

El prefix de routing d'una adreça d'interfície es pot indicar directament amb l'adreça en notació CIDR. Per exemple, la configuració d'una interfície amb adreça 2001:db8:a::123 connectada a la subxarxa 2001:db8:a::/64 s'escriu com a 2001:db8:a::123/64.

Mides de blocs d'adreces[modifica | modifica el codi]

La mida d'un bloc d'adreces s'indica simplement amb una barra (/) i la mida decimal del prefix de xarxa, sense especificar quines adreces concretes hi ha al bloc. Per exemple, un bloc d'adreces amb 48 bits al prefix s'indica amb /48. Un bloc d'aquests conté 2128 − 48 = 280 adreces. Com més petit és el prefix de xarxa, més gran és el bloc: un bloc /21 és 8 cops més gros que un /24.

Adreces IPv6 literals dins d'identificadors de recursos de xarxa[modifica | modifica el codi]

Els dos punts (:) de les adreces d'IPv6 poden causar conflicte amb la sintaxi establerta per als identificadors de recursos, com les URIs i URLs. Els dos punts es fan servir tradicionalment per acabar la part del nom d'ordinador abans del número de port.[7] Per evitar aquest conflicte, les adreces IPv6 literals es tanquen en claudàtors en aquests identificadors de recurs; per exemple:

{{format ref}}http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/

Quan la URL també conté un número de port, la notació és:

https://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443/

Adreces IPv6 literals en camins UNC[modifica | modifica el codi]

En sistemes operatius Microsoft Windows, les adreces IPv4 són identificadors vàlids en camins UNC. Això no obstant, els dos punts són un caràcter no vàlid en camins UNC. Per tant, l'ús d'adreces IPv6 també seria no vàlid. Per aquest motiu, Microsoft ha implementat un algorisme de transcripció per representar una adreça IPv6 en forma de nom de domini que es pugui utilitzar en camins UNC. Per aquest motiu, Microsoft va reservar el domini de segon nivell ipv6-literal.net a Internet. Les adreces IPv6 es transcriuen com a nom d'ordinador o de subdomini dins d'aquest espai de noms, de la següent manera:

2001:db8:85a3:8d3:1319:8a2e:370:7348

s'escriu com a

2001-db8-85a3-8d3-1319-8a2e-370-7348.ipv6-literal.net

El programari de Microsoft resol automàticament aquesta notació sense fer cap consulta als servidors DNS. Si l'adreça IPv6 conté un índex de zona, s'afegeix a la part de l'adreça després d'un caràcter 's':

fe80--1s4.ipv6-literal.net

Àmbits de l'adreça IPv6[modifica | modifica el codi]

Cada adreça IPv6, excepte la no especificada (::), té "àmbit",[8] que especifica en quina part de la xarxa és vàlida.

A la classe d'adreçament d'unicast, les adreces locals a l'enllaç i l'adreça de loopback tenen un àmbit link-local, és a dir, que només és significatiu dins del nivell d'enllaç, i per tant s'han d'utilitzar dins de la xarxa local. Totes les altres adreces tenen àmbit global (o universal), cosa que significa que es poden adreçar globalment, i es poden utilitzar per connectar-se amb altres adreces que tinguin àmbit global de qualsevol lloc, o adreces d'àmbit local a l'enllaç dins de la xarxa connectada directament.

L'àmbit d'una adreça anycast es defineix de manera idèntica al d'una adreça unicast.

Per al multicast, els quatre bits menys significatius del segon octet d'una adreça multicast (ff0à::) identifiquen l'àmbit de l'adreça, és a dir, fins on es propaga l'adreça de multicast. Els àmbits que s'han definit fins ara[1] són:

Valors d'àmbit
Valor Nom de l'àmbit Notes
0x0 reservat
0x1 local a la interfície L'àmbit local a la interfície només s'estén a una sola interfície d'un node, i només és útil per la transmissió en bucle intern del multicast.
0x2 local a l'enllaç Els àmbits de multicast local a l'enllaç i local al lloc s'estenen a les mateixes regions topològiques que els àmbits d'unicast corresponents.
0x4 admin-local L'àmbit admin-local és l'àmbit més petit que s'ha de configurar administrativament, és a dir, que no deriva automàticament de la connectivitat física ni d'altres configuracions no relacionades amb el multicast.
0x5 local al lloc Els àmbits de multicast local a l'enllaç i local al lloc s'estenen a les mateixes regions topològiques que els àmbits d'unicast corresponents.
0x8 local a l'organització L'àmbit local a l'organització està previst perquè s'estengui a múltiples ubicacions que pertanyin a una única organització.
0xe global
0xf reservat

Espai d'adreçament IPv6[modifica | modifica el codi]

Assignació general[modifica | modifica el codi]

La gestió del procés d'assignació d'adreces IPv6 està delegat a la Internet Assigned Numbers Authority (IANA)[9] per l'Internet Architecture Board i l'Internet Engineering Steering Group. La seva funció principal és assignar blocs grans d'adreces als registres regionals d'Internet (RIRs), que tenen delegada la tasca d'assignar adreces als proveïdors de xarxa i a altres registres. La IANA ha mantingut la llista oficial d'assignacions de l'espai d'adreces IPv6 des de desembre de 1995.[10]

Només una vuitena part de l'espai total d'adreces està reservat actualment per al seu ús a la Internet, 2000::/3, per poder donar una agregació de rutes eficient, i així reduir la mida de les taules de routing a Internet; la resta de l'espai d'adrece IPv6 està reservat per a usos futurs o per a fins especials. L'espai d'adreces s'assigna als RIRs en blocs grans de /23 fins a /12.[11]

Els RIRs assignen blocs més petits als registres locals d'Internet, que els distribueixen als usuaris. Típicament es donen mides des de /19 a /32.[12][13][14] Les adreces es distribueixen típicament en blocs de /48 a /56 als usuaris finals.[15]

Els registres de les assignacions globals d'adreces unicast es poden trobar als diferents RIRs o en altres webs.[16]

Les adreces IPv6 s'assignen a les organitzacions en blocs molt més grans del que era costum amb IPv4 — l'assignació recomanada és un bloc de /48, que conté 280 adreces, o sigui, 248 o uns 2,8×1014
cops més gran que tot l'espai d'adreçament d'IPv4, que és de 232 adreces i uns 7,2×1016
cops més gran que els blocs /8 d'adreces IPv4, que eren les assignacions d'adreces IPv4 més grans que es van fer. No obstant, n'hi ha prou per a un futur previsible, perquè hi ha 2128 o unes 3,4×1038
(340 sextilions) d'adreces IPv6 úniques.

Cada RIR pot dividir cadascun dels seus múltiples blocs /23 en 512 blocs /32, típicament un per a cada ISP; un ISP pot dividir el seu bloc /32 en 65.536 blocs /48, típicament un per a cada client;[17] els clients poden crear 65.536 xarxes /64 a partir del bloc /48 que els hagin assignat, cadascun amb un nombre d'adreces que és el quadrat del nombre d'adreces de l'espai d'adreçament d'IPv4 (però del qual en realitat se n'utilitzaran uns pocs centenars com a màxim, ja que s'utilitza per a l'autoconfiguració d'adreces).

Per disseny, s'utilitzarà només una fracció molt petita de l'espai d'adreces. Un espai d'adreces gran assegura que gairebé sempre hi haurà adreça, i per tant, el NAT serà pràcticament innecessari, almenys per a la conservació d'adreces.

Assignacions especials[modifica | modifica el codi]

Per permetre canvis de proveïdor sense canviar les adreces, s'agafa espai d'adreces independent del proveïdor – assignat directament a l'usuari final pels RIRs – del rang especial 2001:678::/29.

Per als punts neutres d'Internet, s'assignen adreces especials del rang 2001:7f8::/29 per a la comunicació amb els ISPs que s'hi connecten.[18] Els servidors arrel de DNS també han rebut adreces d'aquest rang.

Adreces anycast reservades[modifica | modifica el codi]

L'adreça més baixa de cada prefix de subxarxa (amb l'identificador d'interfície tot a zeros) es reserva com a adreça anycast de "subxarxa-router".[1] Les aplicacions poden utilitzar aquesta adreça quan parlen amb qualsevol dels routers disponibles, ja que els paquets que s'enviïn a aquesta adreça els rep un sol router.

Les 128 adreces més altes dins de cada subxarxa /64 es reserven per utilitzar-se com a adreces anycast.[19] Aquestes adreces normalment tenen els 57 primers bits de l'identificador d'interfície a 1, seguits per l'identificador d'anycast, de 7 bits. Els prefixos per la xarxa, incloses les subxarxes, han de tenir una llargada de 64 bits, i en aquest cas el bit universal/local s'ha de posar a 0 per indicar que l'adreça no és única a nivell global. L'adreça amb valor 0x7e als 7 bits menys significatius es defineix com l'adreça anycast dels agents propis d'IPv6 mòbil. L'adreça amb valor 0x7f (tots els bits a 1) està reservada i no es pot fer servir. No es fan més assignacions d'aquest rang, i per tant els valors 0x00 fins 0x7d també estan reservats.

Adreces especials[modifica | modifica el codi]

Hi ha unes quantes adreces que tenen significat especial en IPv6:[20]

Adreces unicast[modifica | modifica el codi]

Adreça no especificada
  • ::/128 — L'adreça que té tots els bits a zero s'anomena no especificada (equival a 0.0.0.0/32 en IPv4).

Aquesta adreça no s'ha d'assignar mai a una interfície, i s'ha de fer servir només al programari abans que l'aplicació hagi après la seva adreça origen apropiada per a un connexió pendent. Els routers no han de passar paquets amb l'adreça no especificada.

Les aplicacions poden escoltar per una o més interfícies concretes les connexions entrants, que es mostren als llistats de connexions actives amb una adreça IP concret (i un número de port, separat per dos punts). Si es fa servir l'adreça no especificada, vol dir que una aplicació està escoltant per totes les interfícies disponibles.

Ruta predeterminada
  • ::/0 — L'adreça de ruta unicast predeterminada (equival a 0.0.0.0/0 en IPv4).
Adreces locals
  • ::1/128 — L'adreça de loopback adreça de localhost unicast. Si una aplicació d'un amfitrió envia paquets a aquesta adreça, la pila IPv6 tornarà a injectar els paquets a la mateixa interfície virtual (equival a 127.0.0.1/32 en IPv4).
  • fe80::/10 — Les adreces amb el prefix local a l'enllaç només són vàlides i úniques dins d'un nivell d'enllaç concret. Dins d'aquest prefix només hi ha reservada una subxarxa (els 54 bits a zero), de manera que el format efectiu és fe80::/64. Per als 64 bits menys significatius se sol utilitzar l'adreça de maquinari de la interfície, en format EUI-64 modificat. ÉS obligatori que hi hagi una adreça local a l'enllaç a totes les interfícies amb IPv6 — dit d'una altra manera, les aplicacions poden estar segures que existeix una adreça local a l'enllaç fins i tot quan no hi ha encaminament IPv6. Aquestes adreces es poden comparar amb les adreces d'autoconfiguració 169.254.0.0/16 d'IPv4.
Adreces locals úniques
  • fc00::/7 — Les adreces local úniques (ULAs) estan pensades per a la comunicació local. Només es poden encaminar dins d'un conjunt d'ubicacions que cooperin (de manera anàloga als rangs d'adreces privats 10.0.0.0/8, 172.16.0.0/12, i 192.168.0.0/16 d'IPv4).[21] Les adreces inclouen un nombre pseudoaleatori de 40 bits al prefix d'encaminament que està pensat per minimitzar el risc de conflictes si es combinen ubicacions o si els paquest s'envien per error cap a la Internet pública.
Transició des d'IPv4
  • ::ffff:0:0/96 — Aquest prefix designava una adreça IPv6 mapejada a IPv4. Amb poques excepcions, aquest tipus d'adreça permet l'ús transparent dels protocols de nivell de transport sobre IPv4 mitjançant l'API de xarxes IPv6. Les apliacions de servidor només han d'obrir un únic socket i escoltar-hi, per rebre igualment connexions de clients que utilitzin IPv6 o IPv4. Els clients IPv6 es gestionaran de manera nativa sense fer res, i els clients IPv4 apareixen com a clients IPv6 amb la seva adreça IPv6 mapejada a IPv4. La transmissió es fa de manera similar; els sockets establerts es poden utilitzar per transmetre datagrames IPv4 o IPv6, segons si estan lligats a una adreça IPv6 o una adreça mapejada a IPv4.
  • ::ffff:0:0:0/96 — Un prefix utilitzat per a adreces IPv4 traduïdes que utilitza el protocol Stateless IP/ICMP Translation (SIIT).
  • 64:ff9b::/96 — El prefix "Conegut". Les adreces amb aquest prefix es fan servir per a traducció automàtica IPv4/IPv6.[22]
Article principal: 6to4
  • 2002::/16 — Aquest prefix es fa servir per a l'adreçament 6to4. Aquí, també es fa servir una adreça de la xarxa IPv4 192.88.99.0/24.
Adreces de propòsit especial[23]

La IANA ha reservat un bloc d'adreces anomenat 'Sub-TLA ID' per a assignacions especials,[24] que consisteix en 64 prefixos de xarxa del rang 2001:0000::/29 fins a 2001:01f8::/29. De moment, s'han fet tres assignacions d'aquest bloc:

Article principal: Teredo
  • 2001::/32 — Utilitzat per a túnels Teredo (que també cau dins de la categoria de mecanismes de transició a IPv6).
  • 2001:2::/48 — Assignat al Benchmarking Methodology Working Group (BMWG)[25] per a fer benchmarking d'IPv6 (equival a 198.18.0.0/15 per al benchmarking d'IPv4).
  • 2001:10::/28 — ORCHID (Overlay Routable Cryptographic Hash Identifiers).[26] Són adreces IPv6 no encaminades que s'utilitzen per a Identificadors de Hash Criptogràfics (Cryptographic Hash Identifiers)
Documentació
  • 2001:db8::/32 — Aquest prefix s'utilitza a la documentació.[27] Les adreces s'han de fer a tot arreu on es doni una adreça IPv6 d'exemple o on es descriguin models de xarxes (correspon a 192.0.2.0/24, 198.51.100.0/24, i 203.0.113.0/24 in IPv4.)[28]
Adreces desaprovades i obsoletes

Vegeu Notes històriques

Adreces multicast[modifica | modifica el codi]

Les adreces multicast ff00::0/12 estan reservades[1] i no s'han d'assignar a cap grup de multicast. La Internet Assigned Numbers Authority (IANA) gestiona les reserves d'adreces.[29]

Algunes adreces de multicast IPv6 comunes són les següents:

Adreça Descripció Àmbits disponibles
ff0X::1 Adreça de tots els nodes, identifica el grup de tots els nodes IPv6 Disponible a l'àmbit 1 (local a la interfície) i 2 (local a l'enllaç):
  • ff01::1 → Tots els nodes de l'àmbit local a la interfície
  • ff02::1 → Tots els nodes de l'àmbit local a l'enllaç
ff0X::2 Tots els routers Disponible a l'àmbit 1 (local a la interfície) i 2 (local a l'enllaç) i 5 (local al lloc):
  • ff01::2 → Tots els routers de l'àmbit local a la interfície
  • ff02::2 → Tots els routers de l'àmbit local a l'enllaç
  • ff05::2 → Tots els routers de l'àmbit local al lloc
ff02::5 OSPFIGP 2 (local a l'enllaç)
ff02::6 OSPFIGP Designated Routers 2 (local a l'enllaç)
ff02::9 Routers RIP 2 (local a l'enllaç)
ff02::a Routers EIGRP 2 (local a l'enllaç)
ff02::d Tots els routers PIM 2 (local a l'enllaç)
ff0X::fb mDNSv6 Disponible en tots els àmbits
ff0X::101 Tots els servidors NTP Disponible en tots els àmbits
ff02::1:1 Nom d'enllaç 2 (local a l'enllaç)
ff02::1:2 Tots els agents DHCP 2 (local a l'enllaç)
ff02::1:3 Link-local Multicast Name Resolution 2 (local a l'enllaç)
ff05::1:3 Tots els servidors DHCP 5 (local al lloc)
ff02::1:ff00:0/104 Solicited-node multicast address. Veure a sota 2 (local a l'enllaç)
ff02::2:ff00:0/104 Node Information Queries 2 (local a l'enllaç)

Solicited-node multicast address[modifica | modifica el codi]

Els 24 bits menys significatius de l'ID de grup de la Solicited-node multicast address s'omplen amb els 24 bits menys significatius de l'adreça unicast o anycast de la interfície. Aquestes adreces permeten la resolució de l'adreça del nivell d'enllaç mitjançant el protocol Neighbor Discovery Protocol (NDP) de l'enllaç sense molestar tots els nodes de la xarxa local. És obligatori que un host s'apunti a un grup de multicast de node sol·licitat per a cadascuna de les seves adreces unicast o anycast que tingui configurades.

Stateless address autoconfiguration[modifica | modifica el codi]

Quan s'engega el sistema, un node crea automàticament una adreça local a l'enllaç a cada interfície que tingui activat IPv6, encara que ja tingui adreces enrutables globalment que s'hagin configurat manualment o que s'hagin obtingut per "protocols de configuració" (veure més avall). Això ho fa de manera independent, i sense cap configuració prèvia gràcies a stateless address autoconfiguration (SLAAC),[30] utilitzant un component del Neighbor Discovery Protocol. Aquesta adreça se selecciona amb el prefix fe80::/64.

En IPv4, els "protocols de configuració" típics inclouen DHCP o PPP. Encara que DHCPv6 existeix, els hosts IPv6 utilitzen normalment el Neighbor Discovery Protocol per crear una adreça unicast enrutable de forma global: el host envia sol·licituds de router i un router IPv6 respon amb una assignació de prefix.[31]

Els 64 bits més baixos d'aquestes adreces s'omplen amb un identificador d'interfície de 64 bits en format EUI-64 modificat. Aquest identificador sol compartir-se amb totes les adreces configurades automàticament d'aquella interfície, cosa que té l'avantatge que només cal apuntar-se a un grup de multicast per a descobrir els veïns. Amb aquest fi es fa servir una adreça multicast, formada a partir del prefix de xarxa ff02::1:ff00:0/104 i els 24 bits menys significatius de l'adreça.

EUI-64 modificat[modifica | modifica el codi]

La manera més habitual de generar els 64 bits de l'identificador d'interfície és a partir de l'adreça MAC, que té 48 bits. Una adreça MAC com 00:1D:BA:06:37:64 es converteix en un EUI-64 de 64 bits intercalant FF:FE al mig: 00:1D:BA:FF:FE:06:37:64. Quan es fa servir aquest EUI-64 per formar una adreça IPv6 es modifica:[1] el significat del bit Universal/Local (el 7è bit més significant de l'EUI-64, començant per 1) s'inverteix, de manera que 1 ara vol dir Universal. Per crear una adreça IPv6 amb el prefix de xarxa 2001:db8:1:2::/64, dóna l'adreça 2001:db8:1:2:021d:baff:fe06:3764 (amb el bit U/L subratllat invertit a 1, perquè l'adreça MAC és única a nivell universal).

El motiu de la modificació del bit U/L és que quan s'utilitzen adreces assignades manualment en una interfície, així es pot assignar simplement l'adreça 2001:db8:1:2::1/64 en comptes del menys atractiu i no antiintuïtiu 2001:db8:1:2:0200::1/64. Quan s'assignen manualment adreces de nivell d'enllaç, encara és més evident la necessitat d'aquesta modificació: es pot assignar una adreça molt curta com fe80::1 en comptes de fe80:0:0:0:0200::1, que és molt més llarg.

Detecció d'adreces duplicades[modifica | modifica el codi]

L'assignació d'una adreça IPv6 unicast a una interfície implica una prova interna de la unicitat d'aquesta adreça utilitzant els missatges Neighbor Solicitation (sol·licitud de veí) i Neighbor Advertisement (anunci de veí) d'ICMPv6 (tipus 135 i 136). Mentre dura el procés d'establiment de la unicitat, l'adreça està en estat temptatiu.

El node s'apunta a l'adreça multicast de solicited-node (node sol·licitat) per a l'adreça temptativa (si encara no ho ha fet), i envia sol·licituds de veí, amb l'adreça temptativa com a adreça destí i amb l'adreça no especificada (::/128) com a adreça origen. El node també s'apunta a l'adreça multicast de tots els hosts, ff02::1, per poder rebre Neighbor Advertisements (anuncis de veí).

Si un node rep una sol·licitud de veí amb la seva pròpia adreça temptativa com a adreça destí, pot concloure que aquesta adreça no és única. Passa el mateix si el node rep un anunci de veí amb l'adreça temptativa com a origen de l'anunci. Fins que no s'ha establert amb èxit que una adreça és única, no pot assignar-se a una interfície ni utilitzar-se.

Temps de vida de l'adreça[modifica | modifica el codi]

Cada adreça IPv6 associada a una interfície té un temps de vida fix. Els temps de vida són infinits si no estan configurats perquè tinguin un període més curt. Hi ha dos temps de vida que governen l'estat d'una adreça: el temps de vida preferit i el temps de vida vàlid.[32] Els temps de vida es poden configurar als routers que donen els valors utilitzats per a l'autoconfiguració, o es poden especificar quan es configuren adreces manualment a les interfícies.

Quan s'assigna una adreça a una interfície, se li dóna l'estat de "preferida", que manté durant el seu temps de vida preferit. Quan caduca aquest temps de vida, l'estat es converteix en "abandonat" (deprecated), i no s'han de fer noves connexions amb aquesta adreça. L'adreça es converteix en "no-vàlida" (invalid) quan també li caduca el temps de vida vàlid; l'adreça es treu de la interfície i es pot assignar a algun altre lloc de la Internet.

Adreces temporals[modifica | modifica el codi]

Les adreces MAC, que són estàtiques i úniques a nivell global, i són utilitzades en stateless address autoconfiguration per crear identificadors d'interfície, donen una oportunitat per fer un seguiment de la ubicació dels dispositius — al llarg del temps, i encara que el prefix IPv6 de xarxa canviï — i, per tant, també de les persones que els utilitzen.[33] Per reduir les possibilitats que la identitat d'un usuari estigui lligada de forma permanent a un tros d'adreça IPv6, un node pot crear adreces temporals amb identificadors d'interfície basats en cadenes aleatòries de bits que varien al llarg del temps[34] i tenen temps de vida relativament curts (entre hores i dies), i es modifiquen per noves adreces al cap d'aquest temps.

Les adreces temporals es poden utilitzar com a adreça origen per originar connexions, al mateix temps que altres ordinadors utilitzen l'adreça pública obtinguda del DNS.

Les interfícies de xarxa configurades en IPv6 a Windows Vista i Windows 2008 Server o sistemes posteriors de Microsoft utilitzen adreces temporals per defecte.

Selecció de l'adreça predeterminada[modifica | modifica el codi]

Les interfícies de xarxa amb IPv6 configurat solen tenir més d'una adreça IPv6. Per exemple, una de local a l'enllaç i una de global, i adreces permanents o temporals. IPv6 introdueix els conceptes d'àmbit d'adreça i preferència de selecció, fent que hi hagi diferents opcions a l'hora de seleccionar les adreces origen i destí per comunicar-se amb un altre ordinador.

L'algorisme de selecció de preferències,[35] que selecciona l'adreça més apropiada per utilitzar-se en les comunicacions amb una destinació concreta (incloent el possible ús d'adreces mapejades a IPv4 en implementacions de doble pila), es basa en una taula de preferències que pot personalitzar l'usuari, i que associa cada prefix d'encaminament amb un nivell de prioritat. La taula predeterminada és la següent:[35]

Taula de polítiques de Prefix Predeterminat
Prefix Prioritat Etiqueta
::1/128
::/0
2002::/16
::/96
::ffff:0:0/96
50
40
30
20
10
0
1
2
3
4

La configuració predeterminada prefereix IPv6 en comptes d'IPv4, i les adreces destí amb l'àmbit més petit possible, de manera que la comunicació local a l'enllaç es prefereix abans que camins d'encaminament global si totes dues són igualment vàlides. La taula de política de prefixos és semblant a una taula d'encaminament, amb el valor de preferència al lloc del cost d'enllaç, on la preferència més alta s'expressa com a valor més gran. Les adreces origen es prefereixen si tenen el mateix valor d'etiqueta que l'adreça destí. La concordança d'adreces amb prefixos es basa en la seqüència de bits més llarga començant pel bit més significatiu. Les adreces origen candidates s'obtenen del sistema operatiu i les adreces destí candidates es poden consultar al DNS.

Adreces locals a l'enllaç i índexs de zona[modifica | modifica el codi]

Com que totes les adreces locals a l'enllaç d'un ordinador tenen un prefix comú, no es poden utilitzar els procediments d'encaminament normals per seleccionar per quina interfície han de sortir els paquets quan s'envien a un destí local a l'enllaç. Cal un identificador especial, conegut com a índex de zona,[8] per proporcionar la informació d'encaminament addicional; en cas d'adreces locals a l'enllaç, els índexs de zona corresponen als identificadors d'interfície.

Quan una adreça s'escriu de forma textual, l'índex de zona s'afegeix a l'adreça, separat amb un simbol de percentatge (%). La sintaxi exacta dels índexs de zona depèn del sistema operatiu:

  • la pila IPv6 de Microsoft Windows utilitza índexs de zona numèrics, per exemple fe80::3%1. L'índex el determina el número d'interfície;
  • la majoria de sistemes Unix-like (com BSD, Linux, Mac OS X) utilitzen el nom d'interfície com a índex de zona: fe80::3%eth0.

Les notacions d'índex de zona causen conflictes sintàctics quan s'utilitzen en URIs, perquè el caràcter '%' també s'utilitza per codificar caràcters.[36]

Adreces IPv6 al DNS[modifica | modifica el codi]

Al DNS els noms d'ordinador s'associen a adreces IPv6 amb els registres de recurs AAAA, anomenats també quad-A. Per a la cerca inversa, l'IETF va reservar el domini ip6.arpa, on l'espai de noms està dividit jeràrquicament per la representació hexadecimal d'unitats nibble (4 bits) de l'adreça IPv6. Aquest esquema es defineix a l'RFC 3596.

Igual que en IPv4, cada ordinador es representa al DNS amb dos registres, un d'adreça i un punter invers. Per exemple, un ordinador anomenat messi a la zona exemple.com té l'adreça local única fdda:5cc1:23:4::1f. El seu registre d'adreça quad-A és

messi.exemple.com. IN AAAA fdda:5cc1:23:4::1f

i el punter invers és

f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.0.0.3.2.0.0.1.c.c.5.a.d.d.f.ip6.arpa. IN PTR messi.exemple.com.

Aquest registre punter pot estar definit en unes quantes zones, segons la cadena de delegació d'autoritat dins de la zona d.f.ip6.arpa.

El protocol DNS és independent del protocol de nivell de transport. Les consultes i les respostes es poden transmetre tant per IPv6 com per IPv4 amb indiferència de la família d'adreces de les dades sol·licitades.

camps del registre AAAA
NAME Nom de domini
TYPE AAAA (28)
CLASS Internet (1)
TTL Temps de vida en segons
RDLENGTH Longitud del camp RDATA
RDATA Forma textual de l'adreça IPV6[1]
Problemàtica per a la transició

El 2009, molts resolvers de routers NAT domèstics encara gestionen malament els registres AAAA.[37] Alguns llencen les consultes d'aquests registres, en comptes de retornar la resposta DNS negativa que calgui. Com que la petició es perd, l'ordinador que envia la petició ha d'esperar que venci un temporitzador. Això sovint provoca lentitud en connectar-se a ordinadors amb IPv6.

Notes històriques[modifica | modifica el codi]

Adreces desaprovades i obsoletes[modifica | modifica el codi]

  • El prefix local al lloc fec0::/10 especifica que l'adreça només es vàlida dins de la xarxa d'una organització. Era part de l'arquitectura d'adreçament original[38] el desembre de 1995, però se'n va desaprovar l'ús el setembre de 2004[39] perquè la definició del terme lloc (site) era ambigua, cosa que provocava regles d'encaminament confuses. Les xarxes noves no han de suportar aquest tipus especial d'adreça. L'octubre de 2005, es va publicar una especificació nova[40] que substituïa aquest tipus d'adreça per adreces úniques locals.
  • El bloc d'adreces 0200::/7 es va definir com a grup de prefixos associats a OSI-NSAP l'agost de 1996,[41][42] però es va desaprovar el desembre de 2004.[43]
  • Del prefix de 96 bits a zero ::/96, conegut originalment com a adreces compatibles amb IPv4, se'n parlava el 1995[38] però es va descriure per primera vegada el 1998.[44] Aquesta classe d'adreces s'utilitzava per a representar adreces IPv4 dins d'una tecnologia de transició a IPv6. Aquesta adreça IPv6 tenia els primers 96 bits (els més significatius) a zero, mentre que els últims 32 bits eren l'adreça IPv4 que es representava. El febrer de 2006, la Internet Engineering Task Force (IETF) va desaprovar l'ús d'adreces compatibles amb IPv4.[1] L'únic ús permès d'aquest format d'adreça és per representar una adreça IPv4 en una taula o base de dades de mida fixa que també hagi d'emmagatzemar adreces IPv6.
  • El bloc d'adreces 3ffe::/16 es va reservar per a proves de la xarxa 6bone el desembre de 1998.[44] Abans d'això, el bloc d'adreces 5F00::/8 s'utilitzava per això. Tots dos blocs d'adreces es van alliberar el juny de 2006.[45]

Diversos[modifica | modifica el codi]

  • Al principi, les adreces IPv6 es registraven al Domain name system (DNS) dins de la zona ip6 sota el domini int per a les resolucions inverses. L'any 2000, l'Internet Architecture Board (IAB) va desdir-se de les seves intencions de retirar el domini arpa, i va decidir el 2001 que el domini de primer nivell arpa conservaria la seva funció original. Els dominis d'ip6.int es van haver de moure a ip6.arpa.[46] La zona ip6.int es va esborrar oficialment el 6-6-2006.
  • El març de 2011, l'IETF va reformar les seves recomanacions per a la reserva de blocs d'adreces a usuaris finals.[15] En comptes d'assignar o un /48, /64, o /128 (segons les opinions de l'IAB i l'IESG el 2001),[47] els proveïdors d'Internet haurien d'assignar blocs més petits (fins a /56) als usuaris finals, si s'esqueia.

Referències[modifica | modifica el codi]

  1. 1,00 1,01 1,02 1,03 1,04 1,05 1,06 1,07 1,08 1,09 1,10 1,11 RFC 4291, IP Version 6 Addressing Architecture, R. Hinden, S. Deering (Febrer de 2006)
  2. Silvia Hagen. IPv6 Essentials. Segona. O'Reilly, maig de 2006. ISBN 978-0596100582. 
  3. 3,0 3,1 RFC 3956, Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address P. Savola, B. Haberman (Novembre 2004)
  4. 4,0 4,1 RFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses, B. Haberman, D. Thaler (Agost 2002)
  5. RFC 4489, A Method for Generating Link-Scoped IPv6 Multicast Addresses, J-S. Park, M-K. Shin; H-J. Kim (abril de 2006)
  6. 6,0 6,1 RFC 5952, "A Recommendation for IPv6 Address Text Representation", S. Kawamura, M. Kawashima, (agost de 2010)
  7. RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter (gener 2005)
  8. 8,0 8,1 RFC 4007, IPv6 Scoped Address Architecture, Steve Deering, B. Haberman, T. Jinmei, E. Nordmark, B. Zill (març de 2005)
  9. RFC 1881, IPv6 Address Allocation Management, Internet Architecture Board (desembre de 1995)
  10. IPv6 address space at IANA. Iana.org (2010-10-29). consultat el 28 de setembre de 2011.
  11. IPv6 unicast address assignments, IANA
  12. DE-TELEKOM-20050113. Db.ripe.net. consultat el 28 de setembre de 2011.
  13. «ARIN Number Resource Policy Manual: Initial allocation to ISPs».
  14. «RIPE NCC IPv6 Address Allocation and Assignment Policy: Minimum allocation» (en anglès).
  15. 15,0 15,1 RFC 6177, IPv6 Address Assignment to End Sites, T. Narten, G. Houston, L. Roberts, IETF Trust, (març de 2011).
  16. per exemple. Iana.org. Retrieved on 2011-09-28.
  17. «IPv6 Addressing Plans». ARIN IPv6 Wiki. [Consulta: 2010-08-18]. «All customers get one /48 unless they can show that they need more than 65k subnets. [...] If you have lots of consumer customers you may want to assign /56s to private residence sites.»
  18. «Address Space Managed by the RIPE NCC». [Consulta: 2011-05-22].
  19. RFC 2526,Reserved IPv6 Subnet Anycast Addresses, D. Johnson, Steve Deering (març de 1999)
  20. RFC 5156, Special-Use IPv6 Addresses, M. Blanchett (Abril de 2008)
  21. RFC 1918, Address Allocation for Private Internets, Y. Rekhter, B. Moskowitz, D. Karrenberg, G.J. De Groot, E. Lear (febrer de 1996)
  22. RFC 6052, "IPv6 Addressing of IPv4/IPv6 Translators", C. Bao, C. Huitema, M. Bagnulo, M. Boucadair, X. Li, (octubre de 2010)
  23. RFC 4773, Administration of the IANA Special Purpose IPv6 Address Block, G. Huston (desembre de 2006)
  24. RFC 2928, Initial IPv6 Sub-TLA ID Assignments, R. Hinden, S. Deering, R. Fink, T. Hain (setembre de 2000) The Internet Society
  25. RFC 5180, IPv6 Benchmarking Methodology for Network Interconnect Devices, C. Popoviciu, A. Hamza, G. Van de Velde, D. Dugatkin (maig de 2008)
  26. RFC 4843 (experimental), An IPv6 Prefix for Overlay Routable Cryptographic Hash Identifiers (ORCHID), P. Nikander, J. Laganier, F. Dupont (abril de 2007)
  27. RFC 3849, IPv6 Address Prefix Reserved for Documentation, G. Huston, A. Lord, P. Smith (juliol de 2004)
  28. RFC 5737, IPv4 Address Blocks Reserved for Documentation, J. Arkko, M. Cotton, L. Vegoda (gener de 2010), ISSN: 2070-1721
  29. IANA Internet Protocol Version 6 Multicast Addresses.
  30. RFC 4862, IPv6 Stateless Address Autoconfiguration, S. Thomson, T. Narten, T. Jinmei (setembre de 2007)
  31. RFC 4861, Neighbor Discovery for IP version 6 (IPv6), T. Narten, E. Nordmark, W. Simpson, H. Holiman (setembre de 2007)
  32. Iljitsch van Beijnum. «IPv6 Internals». The Internet Protocol Journal, p. 16–29.
  33. The privacy implications of stateless IPv6 addressing. Portal.acm.org (2010-04-21). Consultat el 2011-09-28.
  34. RFC 4941, Privacy Extensions for Stateless Address Autoconfiguration in IPv6, T. Narten, R. Draves, S. Krishnan (September 2007)
  35. 35,0 35,1 RFC 3484, Default Address Selection for Internet Protocol version 6 (IPv6), R. Draves, The Internet Society (February 2003)
  36. Formats for IPv6 Scope Zone Identifiers in Literal Address Formats. Tools.ietf.org. Consultat el 2011-09-28.
  37. RFC 4074 Common Misbehavior Against DNS Queries for IPv6 Addresses, Y. Morishita, T. Jinmei. Maig 2005.
  38. 38,0 38,1 RFC 1884, IP Version 6 Addressing Architecture, R. Hinden, S. Deering (desembre de 1995)
  39. RFC 3879, Deprecating Site Local Addresses, C. Huitema, B. Carpenter (setembre de 2004)
  40. RFC 4193, Unique Local IPv6 Unicast Addresses, R. Hinden, B. Haberman (octubre de 2005)
  41. RFC 4147, Proposed Changes to the Format of the IANA IPv6 Registry, G. Houston (agost de 2005)
  42. RFC 1888, OSI NSAPs and IPv6, J. Bound, B. Carpenter, D. Harrington, J. Houldsworth, A. Lloyd (agost de 1996)
  43. RFC 4048, RFC 1888 Is Obsolete, B. Carpenter (abril de 2005)
  44. 44,0 44,1 RFC 2471, IPv6 Testing Address Allocation, R. Hinden, R. Fink, J. Postel (desembre de 1998)
  45. RFC 3701, 6bone (IPv6 Testing Address Allocation) Phaseout, R. Fink, R. Hinden (març de 2004)
  46. RFC 3152, Delegation of IP6.ARPA, R. Bush (agost de 2001)
  47. RFC 3177, "IAB/IESG Recommendations on IPv6 Address Allocations to Sites", IAB, IESG, (setembre de 2001).