Comencemos con la forma de expresar las direcciones IPv6. Como comentamos en nota anterior, la misma corresponde a un número de 128bit, tal como por ejemplo:
00100000000000010000110110111000000000000000000000000000000000000000001010101010000000001111111111111110001010001001110001011010
Algo nuevo para recordar: en las direcciones IPv6 siempre los primeros 64bit corresponden al identificador de red, y los últimos 64bit al identificador de interface.
Por lo tanto, salvo casos especiales como por ejemplo entradas de enrutamiento no hace falta indicar máscara de subred; siempre es /64
Y agregar que a diferencia de IPv4 siempre que tengamos que utilizarla se utilizará la expresión tipo decimal (“/bitNetID»)
Como una expresión como la anterior es muy difícil de escribir y recordar para los humanos, se han adoptado algunas convenciones para hacer más fácil su expresión.
En primer lugar se ha elegido separar la misma por medio del símbolo “:” en 8 grupos de 16 dígitos, con lo que quedaría como sigue:
0010000000000001:0000110110111000:0000000000000000:0000000000000000:0000001010101010:0000000011111111:1111111000101000:1001110001011010
Y expresando cada grupo de 16bit en su expresión hexadecimal, quedando entonces como:
2001:0DB8:0000:0000:02AA:00FF:FE28:9C5A
Y además se ha convenido en suprimir los ceros que anteceden a los números significativos, y por lo tanto:
2001:DB8:0:0:2AA:FF:FE28:9C5A
Y finalmente, cuando hay más de un grupo de ceros, reemplazarlos por “::”, y quedando finalmente como:
2001:DB8::2AA:FF:FE28:9C5A
Es necesario hacer notar que el “::” no puede ser usado más de una vez en una dirección, porque quedaría indefinida la cantidad de ceros en cada substitución.
Observemos la siguiente tabla resumen:
00100000000000010000110110111000000000000000000000000000000000000000001010101010000000001111111111111110001010001001110001011010 | ||||||||||||||
0010000000000001 | : | 0000110110111000 | : | 0000000000000000 | : | 0000000000000000 | : | 0000001010101010 | : | 0000000011111111 | : | 1111111000101000 | : | 1001110001011010 |
2001 | : | 0DB8 | : | 0000 | : | 0000 | : | 02AA | : | 00FF | : | FE28 | : | 9C5A |
2001 | : | DB8 | : | 0 | : | 0 | : | 2AA | : | FF | : | FE28 | : | 9C5A |
2001 | : | DB8 | :: | 2AA | : | FF | : | FE28 | : | 9C5A |
Por lo que finalmente podemos decir que:
00100000000000010000110110111000000000000000000000000000000000000000001010101010000000001111111111111110001010001001110001011010
es equivalente a:
2001:DB8::2AA:FF:FE28:9C5A
que aunque no es fácil recordar, convengamos que es mucho más amigable 🙂
El equivalente a nuestro recordado “0.0.0.0” se expresa como “0::0” o directamente por “::”
Y el correspondiente a “127.0.0.1”, como “0::1”, o como “::1”
Finalmente podemos ver que aunque con las convenciones nombradas se simplifica la forma de escribirlas, no son fáciles de recordar para los humanos 🙁
A partir de este punto vamos a hacer un “divague matemático” para que veamos y comparemos magnitudes, prosiga leyendo sólo si le interesa el juego
Una dirección IPv4 está compuesta por 32bit, luego con 32bit podemos hacer 2^32 combinaciones diferentes.
2 ^ 32 = 4.294.967.296
¿Parece un número grande no es cierto? Tomemos una referencia supongamos que son segundos de tiempo, por lo tanto dividiremos por 60 para obtener la cantidad de minutos
4.294.967.296 / 60 = 71.582.788 minutos
Realmente ese número no nos da una idea de realmente cuánto tiempo es, así que dividamos otra vez por 60 para ver cuántas horas son:
71.582.788 minutos / 60 = 1.193.046 horas
Realmente yo no todavía no tengo referencia para saber cuánto es casi un millón doscientas mil horas, así que voy a dividir por 24 para ver cuántos días son:
1.193.046 horas / 24 = 49.710 días
¿Viviremos esa cantidad de días? vamos a dividir por 365 para ver cuántos años son
49.710 días / 365 = 136 años !!!
¿Tomaron conciencia cuántas direcciones IPv4 existen?
Aún si descontamos las direcciones no válidas como son las de Multicasting (Clase D) y Experimentas (Clase E), nos quedan el 87,5%, o sea aproximadamente 119 años
Si le gusta hacer cálculos repita esto mismo pero con direcciones IPv6
Por si quiere tomar una referencia aporto un dato: según se calcula la edad de la Tierra es de aproximadamente 5.000.000.000 años (1), y la del Universo hay varias teorías pero está entre 13.700.000.000 y 15.000.000.000 (2)
(1) Edad de la Tierra – Wikipedia, la enciclopedia libre:
http://es.wikipedia.org/wiki/Edad_de_la_Tierra
(2) Edad del Universo – Wikipedia, la enciclopedia libre:
http://es.wikipedia.org/wiki/Edad_del_Universo