Les tres lliçons anteriors expliquen, en el fons, una mateixa història: IPv4 es va quedar petit i la indústria el va mantenir viu amb enginy (CIDR, adreces privades, NAT). Aquesta lliçó presenta la solució de fons: IPv6, la versió del protocol IP dissenyada perquè les adreces no tornin a escassejar mai — i de passada, per eliminar el pedaç NAT i retornar a cada dispositiu la seva condició d'extrem ple de la xarxa. IPv6 no és futurologia: més de la meitat del trànsit cap als grans serveis d'Internet ja hi viatja, el teu mòbil probablement el fa servir cada dia, i els equips de Meridiano ja tenen adreces IPv6 encara que ningú no les hagi configurat. Aquí aprendràs a llegir i abreujar les seves adreces, a reconèixer-ne els tipus i a entendre com s'autoconfiguren i com conviu amb IPv4.

Contingut

  1. Per què existeix IPv6: l'esgotament real i els límits del pedaç
  2. Anatomia d'una adreça IPv6: 128 bits en 8 grups hexadecimals
  3. Regles d'abreviació: zeros a l'esquerra i l'operador ::
  4. Tipus d'adreces (i la mort del broadcast)
  5. El prefix /64 i la fi del subnetting dolorós
  6. Autoconfiguració: SLAAC davant de DHCPv6
  7. Convivència amb IPv4: doble pila (i què són túnels i NAT64)
  8. IPv6 a Meridiano: el que ja hi ha i el que implicaria activar-lo

Per què existeix IPv6: l'esgotament real i els límits del pedaç

Recapitulació del mòdul: IPv4 ofereix 2³² ≈ 4.300 milions d'adreces; IANA va repartir l'últim bloc lliure el 2011 (lliçó 05-01) i avui les IPv4 públiques es compren, es lloguen i es racionen. NAT (lliçó 05-03) va permetre sobreviure compartint adreces, però a un preu: connexions entrants trencades, capes de marrades per a P2P i videotrucades, CGNAT apilant traduccions, i la pèrdua del principi extrem a extrem del mòdul 4.

L'IETF va veure venir el problema als anys 90 i va dissenyar IPv6 amb una decisió radical: adreces de 128 bits. El compte resultant:

IPv4: 2^32  ≈ 4,3 × 10^9   (4.300 milions — menys que humans)
IPv6: 2^128 ≈ 3,4 × 10^38  (340 sextilions — ~6,7 × 10^17 adreces
                             per mil·límetre quadrat de superfície terrestre)

L'objectiu no és només "que n'hi hagi per a tothom", sinó que en sobrin: amb abundància extrema, cada dispositiu rep adreça pública pròpia, desapareix la necessitat de NAT, i el disseny de xarxes se simplifica (com veuràs amb el /64). IPv6 manté la filosofia d'IP que coneixes — millor esforç, paquets, TTL (rebatejat Hop Limit), la mateixa capa 3 del model — però canvia el format d'adreces, simplifica la capçalera i reemplaça mecanismes auxiliars (ARP i el broadcast, entre ells).

Anatomia d'una adreça IPv6: 128 bits en 8 grups hexadecimals

Amb 128 bits, la notació decimal amb punts seria inabastable (16 números de 0 a 255). IPv6 fa servir hexadecimal: els 128 bits es parteixen en 8 grups de 16 bits, cada grup escrit com 4 dígits hex (0–9, a–f), separats per dos punts:

2001:0db8:0000:0000:0000:ff00:0042:8329
└──┘ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘ └──┘
 8 grups × 16 bits = 128 bits

Recordatori ràpid d'hexadecimal: cada dígit hex equival exactament a 4 bits (0=0000, 9=1001, a=1010, f=1111). Per això encaixa tan bé: un grup de 4 dígits hex són 16 bits nets, sense les conversions amb restes d'IPv4. El prefix s'expressa igual que a CIDR: 2001:db8:acad:10::/64 significa "els primers 64 bits identifiquen la xarxa".

Convencions que veuràs sempre:

  • Minúscules (db8, no DB8) — és la forma canònica recomanada.
  • El rang 2001:db8::/32 està reservat per a documentació (com els 203.0.113.x que vam fer servir a NAT): tots els exemples d'aquest curs l'utilitzen.
  • A les URL, l'adreça va entre claudàtors pel conflicte amb el : del port: https://[2001:db8::10]:443/api/proyectos.

Regles d'abreviació: zeros a l'esquerra i l'operador ::

Les adreces IPv6 són plenes de zeros, i existeixen dues regles per no escriure'ls. Són les dues úniques regles, i dominar-les és l'habilitat bàsica de lectura d'IPv6.

Regla 1 — Ometre zeros a l'esquerra dins de cada grup (però cada grup conserva almenys un dígit):

0db8 → db8      0042 → 42      0000 → 0      ff00 → ff00 (no hi ha zeros a l'ESQUERRA)

Regla 2 — Comprimir UNA sola vegada la tira més llarga de grups consecutius que són tot zeros amb :::

2001:0db8:0000:0000:0000:ff00:0042:8329
        │ regla 1 │
2001:db8:0:0:0:ff00:42:8329
        │ regla 2: tres grups 0 seguits → :: │
2001:db8::ff00:42:8329

La restricció d'"una sola vegada" no és cap caprici: si hi hagués dos ::, seria impossible saber quants zeros amaga cadascun, i l'adreça quedaria ambigua.

Exemple treballat de compressió (dues tires de zeros — es comprimeix la més llarga):

Original:  2001:0db8:0000:0000:0001:0000:0000:0080
Regla 1:   2001:db8:0:0:1:0:0:80
Tires de zeros: grups 3-4 (longitud 2) i grups 6-7 (longitud 2). Empat:
la convenció (RFC 5952) mana comprimir la PRIMERA.
Regla 2:   2001:db8::1:0:0:80     ✔
(2001:db8:0:0:1::80 seria equivalent però no canònica;
 2001:db8::1::80 seria IL·LEGAL: dos "::")

Exemple treballat d'expansió (el camí invers, imprescindible per comparar adreces):

Comprimida: fe80::1
Pas 1 — Comptar grups visibles: fe80 i 1 → 2 grups.
Pas 2 — El :: amaga 8 − 2 = 6 grups de zeros.
Pas 3 — Expandir:   fe80:0000:0000:0000:0000:0000:0000:0001
Comprimida: 2001:db8:20::7
Grups visibles: 3 → el :: amaga 5 grups.
Expandida: 2001:0db8:0020:0000:0000:0000:0000:0007
(compte!: 20 expandeix a 0020, no a 2000 — els zeros omesos van a l'ESQUERRA)

Aquest últim avís és la trampa clàssica: db8:20 significa 0db8:0020. Els zeros que es restauren en expandir van sempre davant del dígit, mai darrere.

Tipus d'adreces (i la mort del broadcast)

A IPv6 una interfície no té una adreça: en té diverses alhora, cadascuna amb un àmbit. Els tipus que has de reconèixer:

Tipus Prefix Àmbit Equivalent mental a IPv4
Global unicast (GUA) 2000::/3 (avui, les que comencen per 2 o 3) Tot Internet, encaminable i única IP pública
Link-local fe80::/10 Només l'enllaç local (no creua routers) Cosina d'APIPA 169.254.x.x, però sempre present i d'ús legítim
Unique local (ULA) fc00::/7 (a la pràctica fd00::/8) Intern de l'organització, no encaminable a Internet RFC 1918 (192.168.x.x…)
Multicast ff00::/8 Grups d'interessats (ff02::1 = tots els nodes de l'enllaç, ff02::2 = tots els routers) Substitueix el broadcast
Loopback ::1 La mateixa màquina 127.0.0.1
Sense especificar :: "Sense adreça / qualsevol" 0.0.0.0

Dues idees importants:

  • Tota interfície IPv6 té una link-local fe80::… autogenerada, sense servidor ni cap configuració. No és un símptoma d'error com APIPA: és obligatòria per disseny i sobre ella funcionen els protocols de veïnatge i les rutes (el gateway IPv6 d'un equip sol ser la link-local del router).
  • El broadcast ha mort. IPv6 no té adreça de difusió a tothom: fa servir multicast dirigit a grups específics. On IPv4 cridava a tota la xarxa (l'ARP del mòdul 2 a capa 2, el DHCP DISCOVER a 255.255.255.255), IPv6 pregunta només als interessats: el protocol NDP (Neighbor Discovery Protocol, sobre ICMPv6) substitueix ARP fent servir multicast dirigit — cada node escolta un petit grup derivat de la seva pròpia adreça, i la resta ni es desperta. Menys soroll a la xarxa, mateix resultat.

El prefix /64 i la fi del subnetting dolorós

La convenció universal d'IPv6: tota subxarxa és un /64. Els 128 bits es reparteixen en dues meitats fixes:

┌──────────────── 64 bits ────────────────┬──────────────── 64 bits ────────────────┐
│    Prefix de xarxa (quina subxarxa és)   │  Identificador d'interfície (quin equip) │
└──────────────────────────────────────────┴──────────────────────────────────────────┘

Conseqüències que canvien la vida respecte de la lliçó 05-02:

  • Cada subxarxa té 2⁶⁴ adreces (18 trilions). No calcularàs mai "quants hosts hi caben": hi caben tots. No hi ha 2^h − 2, no hi ha rang útil per dimensionar, no hi ha adreça de broadcast per reservar (ja no existeix).
  • El subnetting no desapareix, però deixa de fer mal. L'ISP lliura a una organització un prefix gran — típicament /48 o /56 — i fer subnetting és simplement enumerar /64 dins d'ell, sense comptes de hosts ni salts:
Prefix assignat a Meridiano (exemple docu): 2001:db8:acad::/48
Bits per a subxarxes: 64 − 48 = 16 → 65.536 subxarxes /64 possibles

2001:db8:acad:0010::/64   València corporativa (VLAN 10)
2001:db8:acad:0020::/64   València convidats   (VLAN 20)
2001:db8:acad:0030::/64   València servidors
2001:db8:acad:0120::/64   Bilbao

Fixa't en el detall d'estil: el grup de subxarxa es pot fer coincidir amb el número de VLAN o de seu, i com que l'hex s'alinea amb els bits de 4 en 4, les fronteres "boniques" (per dígit) són el que és natural. Comparat amb calcular salts de 32 i rangs útils al /24 de València, el pla IPv6 s'escriu en un tovalló. L'habilitat de 05-02 no es perd: la lògica prefix/host és la mateixa; només desapareixen l'escassetat i l'aritmètica fina.

Autoconfiguració: SLAAC davant de DHCPv6

A IPv4, un equip sense configuració depèn de DHCP i el seu intercanvi DORA (mòdul 2 — no el repetim aquí). IPv6 afegeix una alternativa que no existeix a IPv4: que l'equip es configuri sol escoltant el router.

SLAAC (StateLess Address AutoConfiguration):

  1. El router anuncia periòdicament (i sota demanda) el prefix de la subxarxa mitjançant missatges RA (Router Advertisement, part de NDP): "aquesta xarxa és 2001:db8:acad:10::/64 i jo soc la sortida".
  2. L'equip pren el prefix i es genera ell mateix l'identificador d'interfície de 64 bits (històricament derivat de la MAC amb el format EUI-64; avui, per privadesa, es prefereixen identificadors aleatoris estables més adreces temporals que roten).
  3. L'equip verifica amb NDP que ningú no fa servir ja aquesta adreça (DAD, Duplicate Address Detection) i comença a funcionar. Gateway inclòs: la link-local del router que va enviar l'RA.

Ningú no manté cap taula de concessions: per això "stateless". Comparació amb el que ja coneixes:

Aspecte DHCP (IPv4) SLAAC (IPv6) DHCPv6
Qui tria l'adreça? El servidor (taula de concessions) El mateix equip, a partir del prefix de l'RA El servidor (amb estat, com DHCP)
Cal servidor? No (n'hi ha prou amb el router)
Registre central de qui té què? No
Lliura DNS i altres opcions? L'RA pot incloure DNS (RDNSS); històricament coixejava Sí, complet
Ús típic Tota xarxa IPv4 Xarxes simples, clients, convidats Empreses que exigeixen control/auditoria d'adreces

A la pràctica conviuen: l'RA del router duu uns flags que indiquen als clients "autoconfigura't amb SLAAC", "demana els detalls (p. ex. DNS) a un DHCPv6" o tots dos. Per a una xarxa com la de Meridiano, SLAAC + DNS a l'RA cobriria els llocs de treball; DHCPv6 seria l'opció si TI volgués un registre central d'adreces com el que avui li dona DHCP.

Convivència amb IPv4: doble pila (i què són túnels i NAT64)

IPv6 no és compatible cap enrere amb IPv4: un node només-IPv6 no pot parlar amb un de només-IPv4. Com que la transició dura dècades, existeixen estratègies de convivència:

  • Doble pila (dual stack) — l'estratègia recomanada i la que et trobaràs: cada equip té alhora adreces IPv4 i IPv6, i cada connexió fa servir l'una o l'altra. Qui decideix? La resolució DNS: si el nom té registre AAAA (adreça IPv6) i A (IPv4), el sistema prova preferentment IPv6 i cau a IPv4 si no respon (mecanisme happy eyeballs, que fa competir totes dues per no penalitzar l'usuari). Cost: administres dos plans d'adreçament en paral·lel — doble configuració, doble tallafoc, doble diagnòstic.
  • Túnels (menció): encapsular paquets IPv6 dins d'IPv4 per creuar trams que encara no parlen IPv6. Útils històricament (6in4, 6rd); avui residuals.
  • NAT64/DNS64 (menció): permet a xarxes només-IPv6 arribar a servidors que continuen només a IPv4, traduint protocols a la frontera. És com operen moltes xarxes mòbils: el teu mòbil és només-IPv6 i ni te n'adones. Irònic però transitori: es desplega IPv6 i apareix un altre NAT — fins que l'últim servidor IPv4 migri.

IPv6 a Meridiano: el que ja hi ha i el que implicaria activar-lo

El que ja hi ha, sense que ningú no fes res. Si la Marta executa avui ip addr (o ipconfig) al seu PC, al costat de la seva IPv4 veurà una cosa així:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    link/ether 5c:26:0a:4b:91:d3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.21/24 brd 192.168.10.255 scope global dynamic eth0
    inet6 fe80::5e26:aff:fe4b:91d3/64 scope link

Aquesta línia inet6 fe80::…/64 scope link és la link-local obligatòria: el sistema operatiu la va generar sol (en aquest cas a partir de la MAC 5c:26:0a:4b:91:d3 amb el vell mètode EUI-64 — d'aquí la semblança; Windows i els Linux moderns solen fer servir identificadors aleatoris). En Jon veuria l'equivalent a Bilbao. Amb ella, els equips del mateix enllaç ja podrien parlar-se en IPv6 (ping fe80::…%eth0 — el %eth0 indica per quina interfície, ja que les link-local es repeteixen a cada enllaç). El que no tenen és adreça global ni sortida IPv6 a Internet: no hi ha cap router anunciant prefixos.

El que implicaria activar-lo de veritat (el dia que Meridiano ho abordi):

  1. Prefix de l'ISP: demanar/confirmar la delegació d'un prefix (un /48 o /56) a les connexions de València i Bilbao.
  2. Pla d'adreçament: assignar un /64 per VLAN/subxarxa, com l'esquema 2001:db8:acad:0010::/64 que hem esbossat — mitja hora de feina, sense aritmètica.
  3. Routers: activar RA per subxarxa (SLAAC, amb DNS a l'RA o DHCPv6 segons la política de registre), i encaminar IPv6 entre VLAN i seus (la VPN ha de transportar també IPv6).
  4. Tallafoc de debò: aquest és EL punt crític. En doble pila, el servidor de fitxers tindria una adreça global abastable en teoria des de tot Internet — ja no existeix el "pseudotallafoc" de NAT (lliçó 05-03). La seguretat passa a dependre exclusivament de regles explícites de tallafoc al router: denegar l'entrant per defecte, permetre el just. Activar IPv6 sense revisar el tallafoc és l'error de desplegament clàssic.
  5. Doble diagnòstic: monitoratge, DNS (registres AAAA per a la intranet) i resolució de problemes per duplicat; una fallada que "només passa de vegades" pot ser una fallada només-IPv6 amb fallback silenciós a IPv4.

La recompensa: la Marta i en Jon amb connectivitat extrem a extrem real (la VPN continua tenint sentit — xifra i autentica —, però sense contorsions de NAT), serveis publicables sense port forwarding i una xarxa alineada amb la direcció cap on Internet fa dues dècades que es mou.

Errors Comuns i Consells

  • Expandir malament els zeros: db8:20 és 0db8:0020, no db80:2000. Els zeros restaurats van a l'esquerra de cada grup.
  • Fer servir :: dues vegades: il·legal per ambigüitat. Només la tira de zeros més llarga (i si hi ha empat, la primera) es comprimeix.
  • Tractar la link-local fe80:: com un error: no és APIPA. És obligatòria, legítima i necessària; la seva presència no indica cap fallada. (La seva absència sí que seria raríssima.)
  • Buscar l'adreça de broadcast: no existeix a IPv6. Pensa en multicast (ff02::1 per a "tots els de l'enllaç").
  • Dimensionar subxarxes IPv6 "per estalviar": no facis /112 ni /120 per "no malbaratar". La convenció és /64 per subxarxa; trencar-la trenca SLAAC i no estalvia res que escassegi.
  • Activar IPv6 (o deixar-lo activat) sense un tallafoc pensat per a IPv6: amb adreces globals no hi ha NAT que tapi els serveis interns. Regla entrant per defecte: denegar. I compte: encara que "no facis servir IPv6", els teus equips tenen link-local i molts sistemes el prefereixen si apareix un RA — un RA fals a la xarxa és un atac conegut.
  • Consell: per comparar dues adreces IPv6 escrites diferent, expandeix-les a les 8 columnes i compara. Amb pràctica ho faràs de cap; al principi, paper.
  • Consell: en doble pila, quan alguna cosa falli "a mitges", pregunta sempre: això va anar per IPv4 o per IPv6? (ping vs ping -6, registre A vs AAAA).

Exercicis

Exercici 1: comprimir i expandir

a) Comprimeix al màxim (forma canònica): 2001:0db8:00a0:0000:0000:0000:0000:0d10 b) Comprimeix al màxim: 2001:0db8:0000:0000:0130:0000:0000:0007 (compte: dues tires de zeros) c) Expandeix als 8 grups complets: 2001:db8:acad:120::20:7

Exercici 2: identificar tipus

La Marta executa ip addr en un equip ja amb IPv6 activat i veu aquestes adreces. Classifica cadascuna (tipus i àmbit) i explica el seu paper:

  • ::1
  • fe80::5e26:aff:fe4b:91d3
  • 2001:db8:acad:10:1c3a:9bf2:44d0:8a11
  • fd00:10::10

Exercici 3: mini-pla d'adreçament

L'ISP delega a Meridiano el prefix 2001:db8:7a00::/48. Proposa un /64 per a cada subxarxa del pla del mòdul (València corporativa, València convidats, València servidors, Bilbao), fent coincidir el grup de subxarxa amb els números de VLAN/seu (10, 20, 30, 120), i respon: quantes subxarxes /64 hi caben en total al /48? Té sentit preguntar-se quants hosts caben a cadascuna?

Solucions

Solució 1

a)

2001:0db8:00a0:0000:0000:0000:0000:0d10
Regla 1 (zeros a l'esquerra):  2001:db8:a0:0:0:0:0:d10
Regla 2 (tira més llarga de zeros: grups 4–7, longitud 4 → ::):
→ 2001:db8:a0::d10

b)

2001:0db8:0000:0000:0130:0000:0000:0007
Regla 1:  2001:db8:0:0:130:0:0:7
Tires de zeros: grups 3–4 (longitud 2) i grups 6–7 (longitud 2).
Empat → es comprimeix la PRIMERA (RFC 5952):
→ 2001:db8::130:0:0:7
(2001:db8:0:0:130::7 és equivalent però no canònica;
 2001:db8::130::7 és IL·LEGAL)

c)

2001:db8:acad:120::20:7
Grups visibles: 2001, db8, acad, 120, 20, 7 → 6 grups
El :: amaga 8 − 6 = 2 grups de zeros.
Restaurar zeros a l'esquerra de cada grup:
→ 2001:0db8:acad:0120:0000:0000:0020:0007
(nota: 120 → 0120 i 20 → 0020)

Solució 2

  • ::1loopback, àmbit la mateixa màquina. Equival al 127.0.0.1 d'IPv4: provar la pila local.
  • fe80::5e26:aff:fe4b:91d3link-local (fe80::/10), àmbit l'enllaç: no creua routers. Autogenerada (aquí amb EUI-64 a partir de la MAC 5c:26:0a:4b:91:d3: s'inverteix el 7è bit del primer byte, 5c→5e, i s'insereix ff:fe al mig). Suporta NDP i sol ser el gateway que anuncien els routers.
  • 2001:db8:acad:10:1c3a:9bf2:44d0:8a11global unicast (comença per 2), encaminable a Internet. Prefix de subxarxa 2001:db8:acad:10::/64 (València corporativa al nostre pla); l'identificador d'interfície aleatori suggereix SLAAC amb extensions de privadesa.
  • fd00:10::10unique local (ULA), dins de fd00::/8fc00::/7: l'equivalent IPv6 de la RFC 1918, per a ús intern no encaminable a Internet. Aquí, plausiblement, una adreça interna estable del servidor de fitxers/intranet.

Solució 3

Pla (els grups de subxarxa triats en hex, coincidint visualment amb VLAN/seu):

2001:db8:7a00:10::/64    València corporativa (VLAN 10)
2001:db8:7a00:20::/64    València convidats   (VLAN 20)
2001:db8:7a00:30::/64    València servidors   (VLAN 30)
2001:db8:7a00:120::/64   Bilbao

Subxarxes /64 en un /48: els bits de subxarxa són 64 − 48 = 16, per tant 2¹⁶ = 65.536 subxarxes. Amb 4 d'usades, en queden 65.532 de lliures: l'escassetat ha deixat de ser una variable de disseny.

Hosts per subxarxa? Cada /64 conté 2⁶⁴ ≈ 1,8 × 10¹⁹ adreces. La pregunta perd el sentit que tenia a IPv4: no cal dimensionar, no hi ha 2^h − 2, no hi ha broadcast per restar. A IPv6 es compten subxarxes, no hosts.

Conclusió

Amb aquesta lliçó es tanca el cercle de l'adreçament: saps per què existeix IPv6 (l'esgotament que NAT només va ajornar), llegeixes i abreuges les seves adreces de 128 bits amb les dues regles (zeros a l'esquerra i un únic ::), distingeixes global unicast, link-local, ULA i multicast — i saps que el broadcast ha mort —, entens per què el /64 universal converteix el subnetting en una enumeració sense aritmètica, compares SLAAC amb el DHCP que ja coneixies, i tens clar que la transició real es diu doble pila. A Meridiano, a més, has vist que IPv6 ja és a cada equip en forma de link-local, i quins passos (i quin tallafoc) exigiria activar-lo de veritat.

I amb això, el mòdul 5 complet: anatomia d'IPv4 i el seu binari, màscares i subnetting amb mètode, NAT i el món de les adreces privades, i IPv6 com a destinació. Ja saps com es dissenya l'adreçament d'una xarxa com la de Meridiano de punta a punta. El que encara no hem sistematitzat és què fer quan, amb tot ben dissenyat, alguna cosa falla: la Marta no arriba a la intranet, el ping es perd a mig camí, el DNS resol estrany. Convertir els teus coneixements en un mètode de diagnòstic — amb les eines de sempre ben esmolades, captura de trànsit inclosa — és l'objectiu del mòdul 6: Eines de Diagnòstic.

© Copyright 2026. Tots els drets reservats