Está en la página 1de 11

IPv6 Básico

Módulo 2.1: El cabezal de IPv6

El objetivo es comprender el cabezal o cabecera IPv6, una pieza fundamental


para entender el protocolo y también para poder hacer el troubleshooting
adecuado cuando sea necesario. Se verán las características del cabezal básico
y también cómo son y cómo operan los cabezales de extensión.

Para avanzar con el cabezal IPv6, primero es importante —y ayuda mucho a


comprender— repasar la cabecera IPv4. El encabezado IPv4 consta de 12
campos fijos, que pueden contener o no opciones. Su tamaño varía entre 20 y
60 bytes. Estos campos están destinados a transmitir información sobre:

• La versión del protocolo


• El tamaño del encabezado y los datos
• El proceso de fragmentación
• El tipo de datos que se transmite
• La vida útil del paquete
• El protocolo de la siguiente capa (como TCP, UDP, o ICMP)
• La integridad de los datos
• El origen y el destino del paquete

Todos los campos son muy importantes, pero debemos retener algunos en
mente, pues se verán más adelante. Estos son: identificación, tamaño de la
cabecera, flags (o banderas), fragment offset, suma de verificación y
opciones. Se verá luego por qué es importante prestarles especial atención.

Habiendo repasado los campos del cabezal de IPv4, entraremos en el de IPv6.


Para formar el cabezal IPv6 se realizaron algunos cambios en el formato del
encabezado, de modo de hacerlo más simple, con solo ocho campos y con un
tamaño fijo de 40 bytes, además de hacerlo más flexible y eficiente, previendo

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 1


su extensión a través de encabezados adicionales que no necesitan ser
procesados por todos los routers intermedios.

Estos cambios permitieron que, incluso con un espacio de direcciones de 128


bits, cuatro veces mayor que los 32 bits de IPv4, el tamaño total del encabezado
IPv6 sea solo el doble que el de la versión anterior.

Y por último, y antes de continuar, es importante tener en cuenta que la actual


definición del cabezal se encuentra en el RFC 8200 de julio del año 2017, cuyo
enlace encontrarán en el anexo de referencias.

Cuando se comenzó, en este curso, con el cabezal IPv6, se hizo hincapié en


ciertos campos a los que había que prestar especial atención. Ahora se verán en
detalle.

Los campos que se encuentran resaltados en el cabezal IPv4 ya no se


encuentran en la cabecera IPv6. Son seis campos del encabezado IPv4 que han
sido eliminados, ya que sus funciones no son necesarias en el diseño de IPv6 o
están implementadas por los encabezados de extensión, que se verán más
adelante.

En IPv6, las opciones de IPv4 ahora forman parte de los “encabezados de


extensión”. Así, se eliminan los campos de “opciones y complementos”.

El campo tamaño del encabezado también se ha eliminado porque, como


recordarán, el tamaño del encabezado IPv6 es fijo (de 40 bytes), por lo que no
tiene sentido indicar el tamaño si se conoce previamente.

Los campos identificación, banderas (o flags) y desplazamiento de fragmentos


se han eliminado porque la información de fragmentación ahora se indica en un
encabezado de extensión apropiado. En este punto es importante tener en
cuenta que las banderas a las cuales hacemos referencia son MF (por more
fragments) y DF (por do not fragment). La explicación es que, como la
fragmentación sólo ocurre en el origen, no son necesarias estas banderas. Dicho
de otra manera: la fragmentación no se realiza en los routers intermedios del
camino de un paquete.

Finalmente, para aumentar la velocidad de procesamiento de los enrutadores,


se eliminó el campo checksum, ya que este cálculo lo realizan los protocolos de
capa superior e inferior.

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 2


Ahora se verán otros cambios del cabezal. Se trata de los campos que sufrieron
una modificación en el nombre y/o posicionamiento en el datagrama. Son cuatro.
Los reposicionamientos se definieron para facilitar el procesamiento de la
información por parte de los routers.

Los campos a los que nos estamos refiriendo son: tipo de servicio, que ahora se
llama clase de tráfico, y longitud total que ahora se llama tamaño de los datos.
El campo protocolo ahora se llama próxima cabecera y el campo tiempo de vida
(TTL) se conoce como límite de saltos, haciendo una referencia más precisa a
su función.

Por otro lado, también se ha agregado un nuevo campo, el identificador de flujo.


Este es un campo de 20 bits que tiene diferentes aplicaciones. Por ejemplo, para
la calidad de servicio e ingeniería de tráfico.

Entre los campos que se mantuvieron tal como estaban se encuentran: versión,
dirección de origen y dirección de destino. Solo cambió el tamaño del espacio
reservado para el direccionamiento, que ahora tendrá 128 bits en vez de 32.

Finalmente, estamos frente al cabezal IPv6 para profundizar sobre cada campo
que lo conforma:

• Versión (de 4 bits): identifica la versión del protocolo IP utilizado. En el


caso de IPv6, el valor de este campo es 6.

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 3


• Clase de tráfico (de 8 bits): identifica y diferencia los paquetes por clases
de servicio o prioridad. Continúa proporcionando la misma funcionalidad
y definiciones que el campo tipo de servicio en IPv4.

• Identificador de flujo (de 20 bits): identifica y diferencia los paquetes del


mismo flujo en la capa de red. Este campo permite al router identificar el
tipo de flujo de cada paquete, sin necesidad de verificar su aplicación.

• Tamaño de datos (de 16 bits): indica el tamaño en bytes de los datos


enviados junto al encabezado IPv6. Se reemplazó el campo tamaño total
de IPv4, que indica el tamaño del encabezado más el tamaño de los datos
transmitidos. Los encabezados de extensión también se incluyen en el
cálculo del tamaño.

• Siguiente encabezado (de 8 bits): identifica el encabezado que sigue a


la cabecera IPv6. Este campo se renombró, ya que en IPv4 se llamaba
protocolo. Refleja la nueva organización de los paquetes IPv6, pues este
campo ahora no solo contiene valores que se refieren a otros protocolos,
sino que también indica los valores de los encabezados de extensión.

• Límite de reenvío o saltos (de 8 bits): indica el número máximo de


enrutadores que puede atravesar el paquete IPv6 antes de ser
descartado, disminuyendo con cada salto. Estandarizó la utilización del
campo time to live (TTL) de IPv4, a pesar de la definición original del
campo TTL.

• Dirección de origen (de 128 bits): indica la dirección de origen del


paquete.

• Dirección de destino (de 128 bits): indica la dirección de destino del


paquete.

A diferencia de IPv4, que incluye toda la información opcional en el encabezado


base, IPv6 trata esta información a través de lo que se denomina encabezados
de extensión. Estos están ubicados entre el encabezado base y el encabezado
de capa inmediatamente superior, sin cantidad ni tamaño fijo para esto.

Si hay varios encabezados de extensión en el mismo paquete, se agregarán en


serie para formar una cadena de encabezados.

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 4


Las especificaciones de IPv6 definen seis encabezados de extensión: opciones
salto a salto, opciones de destino, enrutamiento, fragmentación, encabezado de
autenticación y carga útil de seguridad encapsulada.

El uso de los encabezados de extensión IPv6 tiene como objetivo aumentar la


velocidad de procesamiento en los enrutadores, ya que el único encabezado de
extensión procesado en cada enrutador es el hop-by-hop. El resto lo procesa
sólo el nodo identificado en el campo dirección de destino del encabezado base.
Además, se pueden definir y utilizar nuevos encabezados de extensión sin tener
que cambiar el encabezado base.

Se puede apreciar en el esquema que todos los cabezales de extensión son


construidos por el origen y procesados en el destino, a excepción del cabezal de
extensión hop-by-hop.

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 5


Módulo 2.2: Direccionamiento IPv6.

El direccionamiento IPv6 es un tema de suma importancia para comprender el


funcionamiento de IPv6.

Como se sabe, en IPv4, el campo dentro del encabezado que está reservado
para las direcciones origen y destino tiene 32 bits. Este tamaño permite un
máximo de más de 4000 millones (o 2^32) direcciones diferentes.

En la época de su desarrollo, esta cantidad se consideraba suficiente para


identificar todas las computadoras en la red. Sin embargo, con el rápido
crecimiento de internet, surgió el problema de la escasez de las direcciones IPv4,
lo que motivó la creación de una nueva generación del protocolo IP.

IPv6 tiene un espacio de direccionamiento de 128 bits (en vez de 32), lo que
permite obtener un número mucho más grande de direcciones IP, el equivalente
a 2^128. Este valor representa aproximadamente 7,9x1028 de direcciones más
que IPv4, y más de 5,6x1028 de direcciones por cada ser humano en la Tierra,
considerando una población estimada de 6000 millones de habitantes.

Antes de continuar, rescataremos algo que algunas veces no se menciona. A


pesar de que muchas veces se indica que IPv4 tiene 4.3 billones de direcciones,
esto no es una realidad en la práctica. Hay que tomar en cuenta que en IPv4 hay
una gran cantidad de prefijos reservados (como direccionamiento privado,
loopback, multicast, broadcast). Así, solo unos 3.7 billones de direcciones
pueden usarse realmente.

Los 32 bits de las direcciones IPv4 se dividen en cuatro grupos de 8 bits cada
uno, separados por un punto («.»). Además, cada uno de estos grupos está
escrito con dígitos decimales que van de 0 al 255. Por ejemplo: 192.168.0.10.

La representación de las direcciones IPv6, en cambio, divide la dirección en ocho


grupos de 16 bits, separados mediante dos puntos («:»). Además, cada uno de
estos grupos está escrito con dígitos hexadecimales. Por ejemplo:
2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1

En la representación de las direcciones IPv6 está permitido usar tanto caracteres


en mayúscula como en minúscula.

Además, se pueden aplicar reglas de abreviatura para facilitar la escritura de


algunas direcciones muy extensas. Se permite omitir los ceros a la izquierda de

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 6


cada bloque de 16 bits y también reemplazar una larga secuencia de ceros por
dos puntos seguidos de dos puntos («::»).

Por ejemplo, la dirección 2001:0DB8:0000:0000:130F:0000:0000:140B


se puede escribir como 2001:DB8:0:0:130F::140B ó 2001:DB8::130F:0:0:140B

En este ejemplo, se puede observar que la abreviatura del grupo de ceros solo
se puede realizar una vez. En caso contrario, se podría provocar ambigüedad en
la representación de la dirección.

Otra representación importante es la de los prefijos de red. En las direcciones


IPv6 continúa escribiéndose del mismo modo que en IPv4, utilizando la notación
CIDR.

Esta notación se representa con la forma «dirección-IPv6/tamaño del prefijo»,


donde «tamaño del prefijo» es un valor decimal que especifica la cantidad de bits
contiguos a la izquierda de la dirección que comprende el prefijo.

El ejemplo de prefijo de subred presentado a continuación indica que, de los 128


bits de la dirección, los 64 bits de la izquierda se utilizan para identificar la subred.

Esta representación también permite agregar las direcciones de forma


jerárquica, identificando la topología de la red a través de parámetros como
ubicación geográfica, proveedor de acceso, identificación de la red, división de
la subred, etc. Esto, además, permite disminuir el tamaño de la tabla de
enrutamiento y agilizar el enrutamiento de los paquetes.

En cuanto a la representación de las direcciones IPv6 en las URL, estas ahora


se representan entre corchetes. Esto evitará ambigüedades en caso de que sea
necesario indicar el número de un puerto junto con la URL. Veamos los
siguientes ejemplos:

http://[2001:12ff:0:4::22]/index.html
http://[2001:12ff:0:4::22]:8080

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 7


En cuanto a los tipos de direcciones IPv6, se han definido tres tipos:

• Unicast: Este tipo de dirección identifica una única interfaz, de modo que
un paquete enviado a una dirección unicast se entrega solo a la interfaz
identificada con esa dirección.
• Anycast: Identifica un conjunto de interfaces. Un paquete enviado a una
dirección anycast se entrega a una de las interfaces perteneciente a este
conjunto. En general, la más próxima al origen (según la distancia medida
por los protocolos de ruteo).
• Multicast: También identifica un conjunto de interfaces, pero un paquete
enviado a una dirección multicast se entrega a todas las interfaces
asociadas a esa dirección.

Es muy importante mencionar que, a diferencia de lo que ocurre en IPv4, en IPv6


no existe la dirección broadcast, responsable de direccionar un paquete a todos
los nodos de un mismo dominio. En IPv6 esta función ha sido asignada a
determinados tipos de direcciones multicast.

Las direcciones unicast se utilizan para comunicaciones entre dos nodos. Por
ejemplo: tabletas, celulares, computadoras, otros.

Existen varios tipos de direcciones unicast IPv6: las global unicast, las unique
local y las link local. También existen algunos tipos de direcciones para usos
especiales. Entre ellas, las direcciones IPv4 mapeadas en direcciones IPv6, las
direcciones de loopback y las direcciones no especificadas.

Comenzaremos explicando las direcciones global unicast. Estas son


equivalentes a las direcciones IPv4 públicas. Las direcciones global unicast son
globalmente ruteables y accesibles en la internet IPv6. Son fácilmente
identificables porque todas pertenecen al prefijo 2000::/3

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 8


El segundo tipo de dirección unicast que se verá son las link local.
Llamativamente se trata de exactamente lo opuesto a la primera dirección que
se vio, o sea, las global unicast.

Las link local no son ruteables y su alcance es la red local a las que están
conectadas. En la mayoría de los casos la dirección link local es atribuida
automáticamente. El prefijo que utiliza es FE80::/10.

Es muy importante destacar que los routers no deben encaminar paquetes cuyo
origen o destino sea una dirección link local hacia otros enlaces.

El último tipo de direccionamiento unicast que se verá serán las unique local
address (ULA, por su sigla en inglés). Su alcance es una red o sitio local o
privado. Si bien, al igual que las link local, no son ruteables en internet, sí lo son
dentro de una misma organización. Se encuentran bajo el prefijo FC00::/7. Estas
direcciones son las más similares a las IP privadas de IPv4.

Llegó el momento de mencionar otras direcciones unicast que hay que conocer.

En primer lugar, la dirección loopback o localhost, representada mediante la


dirección unicast de todos ceros y al final un 1 o ::1. Esta dirección es la
equivalente a la dirección loopback IPv4 127.0.0.1. Se utiliza para referenciar la
propia máquina y es muy utilizada para realizar pruebas internas.

Luego, la dirección no especificada, la cual está representada mediante la


dirección de todos ceros o simplemente ::.

Esta dirección nunca debe ser atribuida a ningún nodo, ya que solamente indica
la ausencia de una dirección. Se usa, por ejemplo, en el campo dirección de
origen de un paquete IPv6 enviado por un host durante el proceso de
inicialización, antes de que este tenga su dirección definitiva. La dirección no
especificada no debe ser utilizada como dirección de destino de paquetes IPv6.

Las direcciones utilizadas para documentación y ejemplos son aquellas que


pertenecen al prefijo 2001:db8::/32. Este prefijo nunca debe ser ruteado en
internet. Se utiliza especialmente para documentación de ejemplos en revistas,
periódicos, blog post en internet, entre otros usos.

Ahora es el turno de hablar de anycast. Este tipo de direcciones es quizás de


los menos conocidos, pero uno de las más llamativos.

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 9


Una dirección IPv6 anycast se utiliza para identificar un grupo de interfaces,
aunque con la propiedad de que un paquete enviado a una dirección anycast es
entregado solamente a la interfaz del grupo que más próxima al origen del
paquete se encuentra.

Las direcciones anycast pertenecen al mismo rango de direcciones de las unicast


y no hay diferencias sintácticas con estas. Por lo tanto, una dirección unicast
atribuida a más de una interfaz se transforma en una dirección anycast. En este
caso se deben configurar explícitamente los nodos para que sepa que les ha
sido atribuida una dirección anycast.

Este tipo de direccionamiento se puede utilizar para descubrir servicios en la red,


como por ejemplo servidores DNS y proxies HTTP, garantizando la redundancia
de estos servicios. También se puede utilizar para realizar balanceo de carga en
situaciones donde múltiples hosts o routers proveen el mismo servicio, para
localizar routers que provean acceso a una determinada subred o para localizar
los agentes de origen en redes con soporte para movilidad IPv6.

Para comprender anycast de forma más sencilla, el objetivo es que un cliente


(por ejemplo, alguien que desea abrir una página web) sea atendido por el
servidor más cercano, obtenga la mejor performance o rendimiento posible y
abra la página más rápido.

CDN (o content delivery networks) en todo el mundo, como Google, Facebook,


Cloudflare, y los mismos servidores DNS de LACNIC utilizan esta técnica para
mejorar su rendimiento y dar más satisfacción al usuario.

Ahora se tratará el tercer tipo de direcciones mencionadas: las multicast.

Identificar una dirección multicast en IPv6 es muy sencillo, pues siempre


comienzan con las letras FF, debido a que derivan del prefijo FF00::/8.

Las direcciones multicast se utilizan para identificar grupos de interfaces y cada


interfaz puede pertenecer a más de un grupo. Los paquetes enviados a esas

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 10


direcciones se entregan a todas las interfaces que componen el grupo. Estas
interfaces pueden entrar y salir del grupo cuando lo deseen.

Es importante indicar que en IPv4 existe el concepto de multicast, pero ahora en


IPv6 el soporte es obligatorio e IPv6 hace un uso extensivo de esta funcionalidad.

En la tabla que se ve en pantalla hay una lista de las direcciones multicast más
comunes, su alcance y descripción.

Curso IPv6 Básico / Módulo 2: Introducción al direccionamiento 11

También podría gustarte