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.
| Aspecto | IPv4 | IPv6 |
|---|---|---|
| Dirección | 32 bits | 128 bits |
| Notación | Decimal con puntos | Hexadecimal con dos puntos |
| Cabecera | 20 a 60 bytes, de longitud variable | 40 bytes fijos, más simple de procesar |
| Suma de comprobación | En la cabecera, hay que recalcularla en cada salto | No existe: se delega en las capas de arriba y de abajo |
| Fragmentación | La puede hacer cualquier router del camino | Solo el origen; los routers no fragmentan |
| Configuración | Manual o por DHCP | Además, autoconfiguración sin servidor |
| Difusión | Existe la dirección de difusión | No hay difusión: su papel lo hace multicast |
| Traducción de direcciones | Necesaria en la práctica | Innecesaria: 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.
- 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.
- 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.
| Tipo | A quién llega | Idea |
|---|---|---|
| Unicast | A un único interfaz | La comunicación normal de uno a uno |
| Multicast | A todos los interfaces de un grupo | De uno a muchos, pero solo a los suscritos al grupo. Prefijo FF00::/8 |
| Anycast | Al miembro más cercano de un grupo | Se 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.
| Ámbito | Prefijo | Alcance | Equivalente en IPv4 |
|---|---|---|---|
| Enlace local | FE80::/10 | No sale del enlace; no es encaminable | Las direcciones APIPA 169.254 |
| Único local | FC00::/7 | Encaminable dentro de la organización, no por Internet | Las direcciones privadas |
| Global | 2000::/3 | Encaminable por Internet | Las 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.
| Campo | Tamaño | Para qué sirve |
|---|---|---|
| Versión | 4 bits | Vale 6 |
| Clase de tráfico | 8 bits | Prioridad del paquete |
| Etiqueta de flujo | 20 bits | Marca los paquetes de una misma conversación para tratarlos igual |
| Longitud de carga útil | 16 bits | Lo que viene detrás de estos 40 bytes |
| Cabecera siguiente | 8 bits | Qué hay a continuación: una cabecera de extensión o ya el protocolo de transporte |
| Límite de saltos | 8 bits | El equivalente exacto del TTL de IPv4 |
| Dirección de origen | 128 bits | Quién envía |
| Dirección de destino | 128 bits | A 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ón | En qué consiste |
|---|---|
| Doble pila | El equipo maneja IPv4 e IPv6 a la vez y usa el que corresponda en cada conversación |
| Dirección mapeada | La forma ::FFFF: seguida de una dirección IPv4, que representa una dirección IPv4 dentro del mundo IPv6 |
| Túnel 6to4 | Mete 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