IPv6 Addressing Formats

En este artículo veremos algunas reglas para aprender acerca de IPv6 en las redes, lo cual es el primer paso, donde comprenderemos la forma en que se escribe y se formatea una dirección IPv6. Las direcciones IPv6 como vimos, son mucho más grande que las direcciones IPv4, por lo que es poco probable que nos quedemos sin ellas.

Las direcciones IPv6 tienen una longitud de 128 bits y se escriben como una cadena de valores hexadecimales (Hexadecimal Systems & IPv6 - MAC). Cada cuatro bits se está representando estos con un sólo digito hexadecimal; para un total de 32 valores hexadecimales, como se muestra en la imagen.

Las direcciones IPv6 no distinguen entre mayúsculas y minúsculas, y pueden escribrirse de ambas formas.

ipv6_with_hextets_and_binary_example_image.png

Preferred Format

La imagen anterior también muestra que el formato preferido para escribir una dirección IPv6 es x: x: x: x: x: x: x: x, donde cada x consta de cuatro valores hexadecimales. El términico octeto hace referencia a los 8 bits de una dirección IPv4. En IPv6, un hexteto es el término no oficial que se utiliza para referirse a un segmento de 16 bits o cuatro valores hexadecimales. Cada x es un único hexteto que tiene 16 bits o cuatro digitos hexadecimales.

El formato preferido significa que escribe la dirección IPv6 utilizando los 32 dígitos hexadecimales. No significa necesariamente que sea el método ideal para representar la dirección IPv6... En esta artículo veremos dos reglas que ayudan a reducir la cantidad de dígitos necesarios para representar una dirección IPv6.

Algunos ejemplos de direcciones IPv6 con el formato preferido (Los 8 hextetos escritos):

2001 : 0db8 : 0000 : 1111 : 0000 : 0000 : 0000 : 0200
2001 : 0db8 : 0000 : 00a3 : abcd : 0000 : 0000 : 1234
2001 : 0db8 : 000a : 0001 : c012 : 9aff : fe9a : 19ac
....................

First Rule: Omitting the Initial 0s

La primera regla para ayudar a reducir la notación de las direcciones IPv6 es omitir los ceros (0) inciiales en cualquier hexteto. A continuación se adjuntan cuatro ejemplos de formas de omitir los ceros a la izquierda:

  • 01ab se puede representar como 1ab
  • 09f0 se puede representar como 9f0
  • 0a00 se puede representar como a00
  • 00ab se puede representar como ab

Esta regla solo es válida para los ceros iniciales, y NO para los ceros finales; de lo contrario, la dirección sería ambigua. Por ejemplo, el hexteto abc podría ser 0abc o abc0, pero no representan el mismo valor.

  • Otros ejemplos:
Format Type Address
Preferred / Recomended 2001 : 0db8 : 0000 : 1111 : 0000 : 0000 : 0000 : 0200
Without 0s 2001 : db8 : 0 : 1111 : 0 : 0 : 0 : 200
Preferred / Recomended 2001 : 0db8 : 0000 : 00a3 : ab00 : 0ab0 : 00ab : 1234
Without 0s 2001 : db8 : 0 : a3 : ab00 : ab0 : ab : 1234
Preferred / Recomended 2001 : 0db8 : 000a : 0001 : c012 : 90ff : fe90 : 0001
Without 0s 2001 : db8 : a : 1 : c012 : 90ff : fe90 : 1
Preferred / Recomended 2001 : 0db8 : aaaa : 0001 : 0000 : 0000 : 0000 : 0000
Without 0s 2001 : db8 : aaaa : 1 : 0 : 0 : 0 : 0
Preferred / Recomended 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001
Without 0s 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1
Preferred / Recomended 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000
Without 0s 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0

Second Rule: Double two points (::)

La segunda regla para ayudarnos a reducir la notación de las direcciones IPv6 y es que podemos utilizar un doble punto (::) para reemplazar cualquier cadena única y contigua de uno o más hextetos de 16 bits que consisten en todos ceros.

Por ejemplo, con la siguiente dirección 2001:db9:cafe:1:0:0:0:1 (Esta dirección esta escrita utilizando la primera regla para acortar) se podría representar la misma con el siguiente valor: 2001:db9:cafe:1::1. El doble color (::) se utiliza en lugar de los tres hextetos all-0 (0:0:0 con la primera regla, o 0000:0000:0000 con el formato preferido)

Los dos puntos dobles (::) se pueden utilizar solamento UNA VEZ dentro de una dirección; de lo contrario, habría más de una dirección resultante posible: Cuando se utiliza junto con la técnica de omisión de ceros iniciales (Primera regla), la notación de direcciones IPv6 generalmente se puede reducir de manera considerable. Esto se suele conocer como formato comprimido.

Un ejemplo del uso incorrecto de esta regla es la siguiente dirección: 2001:db8::abcd::1234.

Los dos puntos dobles estan siendo utilizados dos veces en el ejemplo anterior... lo que genera posibles expansiones de está dirección de forma incorrecta:

  • 2001 : db8 :: abcd : 0000 : 0000 : 1234
  • 2001 : db8 :: abcd : 0000 : 0000 : 0000 : 1234
  • 2001 : db8 : 0000 : abcd :: 1234
  • 2001 : db8 : 0000 : 0000 : abcd :: 1234

Si una dirección tiene más de una cadena contigua de hextetos all-0, la práctica recomendada es usar los dos puntos dobles (::) en la cadena más larga. Si las cadenas son iguales, la primera cadena debe usar los dos puntos dobles.

  • Ejemplos:
Format Type Address
Preferred / Recomended 2001 : 0db8 : 0000 : 1111 : 0000 : 0000 : 0000 : 0200
Without 0s 2001 : db8 : 0 : 1111 : 0 : 0 : 0 : 200
Compressed 2001 : db8 : 0 : 1111 :: 200
Preferred / Recomended 2001 : 0db8 : 0000 : 0000 : ab00 : 0000 : 0000 : 0000
Without 0s 2001 : db8 : 0 : 0 : ab00 : 0 : 0 : 0
Compressed 2001 : db8 : 0 : 0 ab00 ::
Preferred / Recomended 2001 : 0db8 : aaaa : 0001 : 0000 : 0000 : 0000 : 0000
Without 0s 2001 : db8 : aaaa : 1 : 0 : 0 : 0 : 0
Compressed 2001 : db8 : aaaa : 1 ::
Preferred / Recomended fe80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001
Without 0s fe80 : 0 : 0 : 0 : 0 : 0 : 0 : 1
Compressed fe80 :: 1
Preferred / Recomended fe80 : 0000 : 0000 : 0000 : 0123 : 4567 : 89ab : cdef
Without 0s fe80 : 0 : 0 : 0 : 123 : 4567 : 89ab : cdef
Compressed fe80 :: 123 : 4567 : 89ab : cdef
Preferred / Recomended 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001
Without 0s 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1
Compressed :: 1
Preferred / Recomended 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000
Without 0s 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0
Compressed ::