Saltar al contenido

IPv6

Qué resuelve IPv6 frente a IPv4, cómo se escribe y se abrevia una dirección de 128 bits, qué tipos de dirección existen, y cómo se configura y se convive con IPv4 durante la transición.

Qué resuelve IPv6

IPv4 tiene 32 bits de dirección, que dan poco más de cuatro mil millones de combinaciones. Con una sola dirección por equipo eso se agotó, y se fue tirando a base de direcciones privadas y traducción. IPv6 pasa a 128 bits: 2 elevado a 128 direcciones, una cifra tan grande que el problema del agotamiento deja de existir.

Pero el tamaño no es lo único, y por ahí van las preguntas que separan a quien se lo ha estudiado. IPv6 aprovechó el cambio para simplificar lo que en IPv4 costaba caro.

AspectoIPv4IPv6
Dirección32 bits128 bits
NotaciónDecimal con puntosHexadecimal con dos puntos
Cabecera20 a 60 bytes, de longitud variable40 bytes fijos, más simple de procesar
Suma de comprobaciónEn la cabecera, hay que recalcularla en cada saltoNo existe: se delega en las capas de arriba y de abajo
FragmentaciónLa puede hacer cualquier router del caminoSolo el origen; los routers no fragmentan
ConfiguraciónManual o por DHCPAdemás, autoconfiguración sin servidor
DifusiónExiste la dirección de difusiónNo hay difusión: su papel lo hace multicast
Traducción de direccionesNecesaria en la prácticaInnecesaria: cada equipo puede tener dirección propia

En IPv6 no existe la difusión. Es de las preguntas más rentables, porque suena raro y por eso se falla.

Para el examen

  • Longitud de la dirección: 128 bits

  • Qué elimina: la necesidad de NAT y la difusión

  • Qué integra: IPsec en su diseño

  • Razón de fondo: el agotamiento de IPv4

El datagrama IPv6

La cabecera de IPv6 mide 40 bytes y esa cifra no cambia nunca, frente a los 20 a 60 de IPv4. Parece más grande, pero de esos 40 hay 32 que son las dos direcciones, de 16 bytes cada una: la información de control propiamente dicha se ha reducido a 8 bytes.

Que la cabecera sea de tamaño fijo es lo que permite a un router procesarla sin tener que interpretar longitudes variables, y es una de las razones del cambio. Todo lo que en IPv4 iba en el campo de opciones se saca fuera, a las cabeceras de extensión, que viajan ya dentro de la carga útil.

Del reparto de los 128 bits conviene retener uno: por convenio, los 64 bits menos significativos, es decir la mitad de la derecha, identifican al interfaz dentro de la red, y los 64 de la izquierda identifican la red. De ahí que la subred típica en IPv6 sea un /64.

40 bytes fijos en IPv6 frente a 20 a 60 variables en IPv4. Y de los 128 bits, los 64 de la derecha son el identificador del interfaz.

Para el examen

  • Tamaño: FIJA, de 40 bytes

  • Lo que no lleva: suma de comprobación

  • Fragmentación: solo la hace el origen, nunca los routers

Cómo se escribe y cómo se abrevia

Una dirección IPv6 se escribe en hexadecimal, en ocho grupos de cuatro dígitos separados por dos puntos. Cada grupo son 16 bits, y ocho por dieciséis son los 128 bits. Escrita entera es incómoda, así que se abrevia con dos reglas.

  1. En cada grupo se quitan los ceros que van por la izquierda. El grupo 0db8 se queda en db8 y el grupo 0000 se queda en un solo 0.
  2. Una serie de grupos consecutivos que valen cero se sustituye entera por dos signos de dos puntos seguidos. Esto se admite una sola vez por dirección y ni una más.

Ejemplo resuelto. Se parte de 2001:0db8:0000:0000:0000:ff00:0042:8329. Aplicando la primera regla queda 2001:db8:0:0:0:ff00:42:8329. Aplicando la segunda a los tres grupos de ceros seguidos queda 2001:db8::ff00:42:8329.

La razón de que la segunda regla solo pueda usarse una vez es que si no, la dirección sería ambigua: al expandirla no habría forma de saber cuántos ceros va a poner cada uno de los dos huecos. Cuando hay dos series de ceros, se comprime la más larga; si empatan, la primera. Así, 2001:db8:0:0:a3:0:0:7b2c queda en 2001:db8::a3:0:0:7b2c y no de la otra forma.

Los dos puntos dobles, una sola vez por dirección. Es la regla que más se pregunta de todo IPv6.

Para el examen

  • Formato: ocho grupos de cuatro dígitos hexadecimales

  • Primera regla: se quitan los ceros a la izquierda

  • Doble dos puntos: sustituye una sola vez a la mayor cadena de grupos nulos

Los tres tipos de dirección

IPv6 reduce los modos de envío a tres, y el que desaparece respecto a IPv4 es precisamente el que todo el mundo espera encontrar.

TipoA quién llegaIdea
UnicastA un único interfazLa comunicación normal de uno a uno
MulticastA todos los interfaces de un grupoDe uno a muchos, pero solo a los suscritos al grupo. Prefijo FF00::/8
AnycastAl miembro más cercano de un grupoSe escribe igual que una unicast; varios equipos comparten la dirección y la red entrega al que mejor le venga

No hay difusión. Lo que en IPv4 se hacía enviando a todos, en IPv6 se hace enviando a un grupo multicast concreto, que es más eficiente porque no molesta a quien no está interesado. Anycast, por su parte, es la base de los servicios de alta disponibilidad: varios servidores anuncian la misma dirección y cada cliente acaba en el que le queda más cerca.

La dirección de bucle local también cambia de aspecto: donde IPv4 tenía el bloque 127.0.0.0/8, IPv6 tiene una sola dirección, ::1/128.

Para el examen

  • Los tres tipos: unicast, multicast y anycast

  • Lo que NO tiene: difusión (broadcast)

  • Quién cubre ese papel: la multidifusión

Los tres ámbitos de una dirección unicast

Una dirección unicast no vale en cualquier sitio: según su prefijo, alcanza solo hasta el cable, solo hasta el borde de la organización, o hasta cualquier punto de Internet. Un mismo interfaz suele tener varias a la vez, una de cada ámbito.

ÁmbitoPrefijoAlcanceEquivalente en IPv4
Enlace localFE80::/10No sale del enlace; no es encaminableLas direcciones APIPA 169.254
Único localFC00::/7Encaminable dentro de la organización, no por InternetLas direcciones privadas
Global2000::/3Encaminable por InternetLas direcciones públicas

La de enlace local se la pone el propio equipo siempre, la use o no, y es la que emplea para descubrir a sus vecinos y a su router antes de tener ninguna otra. La única local se llamó antes de ámbito de sitio. Y la global se reconoce a simple vista porque el prefijo 2000::/3 obliga a que la dirección empiece por 2 o por 3.

FE80 es enlace local, FC00 es única local, empezar por 2 o por 3 es global y FF es multicast.

Para el examen

  • Global: 2000::/3

  • Enlace local: fe80::/10; se autoconfigura siempre

  • Bucle: ::1

La cabecera fija y las cabeceras de extensión

Los 40 bytes de la cabecera de IPv6 se reparten en pocos campos, y uno de ellos, el de cabecera siguiente, es la pieza que sustituye a las opciones de IPv4.

CampoTamañoPara qué sirve
Versión4 bitsVale 6
Clase de tráfico8 bitsPrioridad del paquete
Etiqueta de flujo20 bitsMarca los paquetes de una misma conversación para tratarlos igual
Longitud de carga útil16 bitsLo que viene detrás de estos 40 bytes
Cabecera siguiente8 bitsQué hay a continuación: una cabecera de extensión o ya el protocolo de transporte
Límite de saltos8 bitsEl equivalente exacto del TTL de IPv4
Dirección de origen128 bitsQuién envía
Dirección de destino128 bitsA quién va dirigido

Cuando hace falta añadir información que no cabe en esos campos, se encadenan cabeceras de extensión: cada una dice en su propio campo de cabecera siguiente qué viene detrás, hasta que la última apunta ya al protocolo de transporte. Lo importante es dónde van: no dentro de la cabecera, sino en la carga útil, y por eso la cabecera básica sigue midiendo 40 bytes pase lo que pase.

Para el examen

  • Qué sustituyen: las opciones de IPv4

  • Cómo van: encadenadas

  • Campo que las enlaza: «siguiente cabecera»

Cómo obtiene un equipo su dirección y cómo se convive con IPv4

Un interfaz puede recibir su dirección IPv6 de tres formas: escrita a mano, entregada por un servidor DHCPv6, que es el modo con estado porque el servidor lleva registro de lo que ha dado, o construida por el propio equipo sin ningún servidor, que es la autoconfiguración sin estado.

En la autoconfiguración sin estado el equipo se entera del prefijo de red preguntando a su router y fabrica él mismo los 64 bits de la derecha, bien al azar, bien a partir de su dirección física con el algoritmo EUI-64 modificado: la dirección MAC de 48 bits se abre por la mitad, en el hueco se colocan los 16 bits FF y FE, y el séptimo bit del primer byte cambia de valor. El resultado son los 64 bits del identificador de interfaz.

Mecanismo de transiciónEn qué consiste
Doble pilaEl equipo maneja IPv4 e IPv6 a la vez y usa el que corresponda en cada conversación
Dirección mapeadaLa forma ::FFFF: seguida de una dirección IPv4, que representa una dirección IPv4 dentro del mundo IPv6
Túnel 6to4Mete paquetes IPv6 dentro de paquetes IPv4 para cruzar redes que todavía no hablan IPv6

La dirección que usa el túnel 6to4 se compone del prefijo 2002 en 16 bits, la dirección IPv4 pública en 32, un identificador de subred en 16 y el identificador de interfaz en los 64 de la derecha.

Para el examen

  • SLAAC: configura sin servidor, a partir de los anuncios del router

  • Mecanismos de transición: doble pila y túneles