Practica Fundamentos IPv6
Practica Fundamentos IPv6
Practica Fundamentos IPv6
Introducción
IPv6 ofrece un espacio de direccionamiento mucho mayor al de IPv4, estamos hablando de 2 128 que eso nos daría al
rededor de 340 sextillones de direcciones utilizables. IPv6 satisface las demandas actuales y futuras de direccionamiento
IP.
A partir de la tabla anterior, solo es necesario cambiar cada valor hexadecimal por su equivalente en binario.
Transformando cada valor del primer hexteto del ejemplo antes mencionado a binario tenemos lo siguiente:
Hexadecimal F D E C
Binario 1111 1101 1110 1100
7
EJERCICIO 1
Realice la conversión a binario de los siguientes hextetos:
Continuando con el análisis de una dirección IPv6, esta se compone de 128 bits = 16 bytes (paquetes de 8 bits) = 8
hextetos = 32 dígitos hexadecimales
<-------------------------------------------------------------------------------->
1111 1101 1110 1100 …………………………………………………………………… 1111 1111 1111 1111
F D E C :BA98:0074:3210:000F:0000:0000: F F F F
Esta sería la forma no abreviada de representar la dirección IPv6 en hexadecimal. Pero las direcciones IPv6 se pueden
comprimir y acortar aplicando una serie de reglas:
Recuerda, los ceros que están a la derecha de algún valor diferente de cero no pueden eliminarse, por ejemplo, para el
hexteto 3210, no se puede eliminar el 0 que se ubica al final del mismo.
Uno o varios grupos nulos consecutivos pueden comprimirse como "::" . Este método de abreviatura sólo
puede utilizarse una vez en una dirección. Si la dirección tiene más de una serie de grupos nulos consecutivos
la compresión sólo se permite en uno de ellos. Por tanto, una forma más abreviada aún de expresar la dirección
anterior que tiene ceros consecutivos sería:
FDEC :BA98:74:3210:F:0000:0000:FFFF FDEC:BA98:74:3210:F::FFFF
Otro ejemplo:
La dirección IPv6 FDEC :0:74:3210:F : 0 : 0 :FFFF
Podría abreviarse como FDEC : : 74 :3210:F: 0 : 0 : FFFF
O bien como FDEC:0: 74:3210:F::FFFF
Pero abreviarla como FDEC: :74:3210:F : : FFFF
no es válida porque no queda claro cuántos grupos nulos representa cada uno de los “::”.
EJERCICIO 2
Comprime al máximo posible las siguientes direcciones, siempre y cuando sean direcciones válidas, en caso de no serlo
explica la causa:
a) 1243:4567:0012:1000:0000:0000:0ABC:000A
1243:4567:12:1000::ABC:A
Esta dirección es válida. Se eliminaron los ceros a la izquierda y se usó "::" para los bloques de ceros
consecutivos.
7
b) 001:002:0002:11111:0000:0000:0ABC:0B0A
1:2:2:11111::ABC:B0A
Esta dirección también es válida. Se eliminaron los ceros a la izquierda y se usaron "::" para representar los
bloques de ceros consecutivos.
c) 1256:8567:0002:H000:1000:2000:0ABC:000A
1256:8567:2:H000:1000:2000:ABC:A
Esta dirección es inválida. El bloque "H000" no es un valor hexadecimal válido. Debería ser un valor hexadecimal
de 4 dígitos, por lo que esta dirección no se puede comprimir sin cambiar la parte inválida.
d) 0003:0000:0012:0000:0000:0000:0ABC:000A
3:0:12::ABC:A
Esta dirección es válida. Se eliminaron los ceros a la izquierda y se usó "::" para representar los bloques de ceros
consecutivos.
e) 002:0047:01:001:0000:04:0ABC:000A:1010
2:47:1:1::4:ABC:A:1010
Esta dirección es válida. Se eliminaron los ceros a la izquierda y se usaron "::" para representar los bloques de
ceros consecutivos.
3. Expansión de direcciones
Para volver a expandir una dirección IPv6 aplica las dos reglas que mencioné antes, pero a la inversa.
En cada hexteto agrega los 0 que falten a la izquierda hasta completar los cuatro dígitos hexadecimales del
hexteto. A manera de ejemplo, tenemos:
FDEC:BA98:74:3210:F::FFFF FDEC :BA98:0074:3210:000F::FFFF
Si hay dos veces seguidas los dos puntos (::), cuenta todos los hextetos; el total debe ser menos que 8.
Remplaza :: con múltiples hextetos de 0000 hasta llegar a un total de ocho hextetos en toda la dirección IPv6.
Así, continuando con el ejemplo anterior, tendremos:
FDEC :BA98:0074:3210:000F::FFFF FDEC :BA98:0074:3210:000F:0000:0000:FFFF
EJERCICIO 3
Expande al máximo posible las siguientes direcciones, siempre y cuando sean direcciones válidas, en caso de no serlo
explica la causa:
a) 243:67:1012:1000::ABC:AD
a) 0243:0067:1012:1000:0000:0000:0ABC:00AD
Esta dirección es válida. Se completaron los ceros faltantes en cada bloque abreviado para tener 4 dígitos
hexadecimales.
b) A01:2::1:0:0:ABC:B0A
0A01:0002:0000:0001:0000:0000:0ABC:0B0A
También es una dirección válida. Los bloques abreviados se llenaron con ceros para obtener 4 dígitos
hexadecimales en cada uno.
c) 1256:7::1:0:ABC:A
1256:0007:0000:0000:0001:0000:0ABC:000A
Esta dirección es válida. Se llenaron los bloques abreviados con ceros para que todos tengan 4 dígitos
hexadecimales.
d) ::11:0:ABC:0
0000:0011:0000:0ABC:0000:0000:0000:0000
Es una dirección válida. Se expandió el bloque abreviado "::" con ceros para tener 8 bloques en total, cada uno
con 4 dígitos hexadecimales.
e) 2:47::1:ABC::10
0002:0047:0000:0001:0ABC:0000:0010:0000
También es una dirección válida. Se expandió el bloque abreviado "::" con ceros para tener 8 bloques en total, y
se llenaron los bloques abreviados con ceros para tener 4 dígitos hexadecimales en cada uno.
7
Ejemplos de direcciones IPv6
Considera la siguiente dirección IPv6: 2031:0000:130F:0000:0000:09C0:876A:130B. Según lo establecido con
anterioridad, esta dirección podría escribirse de las siguientes formas, todas ellas son válidas y significan lo mismo (y
existen más válidas):
2001:0DB8:0000:0000:0000:0000:1428:57AB
2001:0DB8:0000:0000:0000::1428:57AB
2001:0DB8:0:0:0:0:1428:57AB
2001:0DB8:0::0:1428:57AB
2001:0DB8::1428:57AB
2001:DB8::1428:57AB
EJERCICIO 4
Considera la siguiente dirección IPv6: FF01:0ABC:0000:0A0B:0000:0CD0:0000:0001. Muestra 5 formas diferentes para
escribir esta misma dirección:
FF01:0ABC:0:A0B::CD0:0:1
FF01:0ABC::A0B:0:CD0:0:1
FF01:0ABC:0:A0B:0:CD0::1
FF01:0ABC::A0B:CD0:0:1
FF01:0ABC:0:A0B:0CD0::1
Cada una sigue las reglas de abreviación al eliminar ceros a la izquierda en cada bloque y utilizando la notación "::" para
indicar bloques de ceros consecutivos.
4. Prefijo IPv6
IPv6 utiliza un concepto de máscara, llamado longitud de prefijo, similar al empleado en máscaras de red de
IPv4. La longitud del prefijo IPv6 se escribe como /, seguida de un número decimal. La longitud del prefijo
define cuántos bits de la dirección IPv6 corresponden al prefijo IPv6, que es básicamente el mismo concepto
que el identificador de subred IPv4. Un ejemplo de su uso se muestra a continuación:
2222:1111:0:1:A:B:C:D/64
Según las RFC de IPv6, el número en sí también se llama prefijo, pero muchas personas simplemente lo
llaman número de subred o ID de subred, utilizando los mismos términos que IPv4.
Como cada hexteto está compuesto por 16 bits, para lograr cubrir 64 bits, se requieren 4 hextetos, por que
64/16 = 4. Por tanto nos quedamos con los valores de los 4 primeros hextetos: 2222:1111:0:1
7
Como último paso para encontrar el id de subred, los hextetos restantes los completamos con ceros.
2222:1111:0:1:0000:0000:0000:0000 /64
Recordemos que cada carácter se forma por 4 bits, dividiendo 24/4 = 6. Por tanto la longitud de prefijo abarca
hasta los primeros 6 caracteres: 2222:11
Como último paso para encontrar el id de subred, los caracteres restantes los completamos con ceros.
2222:1100:0000:0000:0000:0000:0000:0000 /24
EJERCICIO 5
Encuentra y comprime el ID de subred para cada una de las siguientes direcciones IPv6
a) 1243:4567:0012:1000:0000:0000:0ABC:000A /48
b) 0201:0102:0002:1111:0000:0000:0ABC:0B0A /80
c) 1256:8567:0002:0103:0000:1000:0ABC:000A /28
d) 0013:0000:0012:00E0:0A0B:000C:0ABC:000A /60
e) 0002:0007:0001:0001:0000:0ABC:000A:1010 /88
5. Notación mixta
Una notación mixta está formada por una parte de dirección IPv6 (6 hextetos) y otra de IPv4 (4 decimales de 8
bits separados por puntos). Durante la transición de Internet de IPv4 a IPv6 será típico operar en entornos de doble
direccionamiento (IPv4 e IPv6). Por este motivo se ha introducido esta notación mixta para expresar direcciones IPv6 a
partir de direcciones IPv4, representando los últimos 32 bits de la dirección IPv6 en el formato decimal con puntos usado
en IPv4.
Por ejemplo, si la dirección decimal IPv4 es 135.75.43.52 se desea llevar a formato IPv6
7
Paso 1: Se transforma el valor decimal de cada octeto en su equivalente hexadecimal:
Valor del octeto 1: 13510 1000 01112 8716
Valor del octeto 2: 7510 0100 10112 4B16
Valor del octeto 3: 4310 0010 10112 2B16
Valor del octeto 4: 5210 0011 01002 3416
Paso 2: Los últimos 2 hextetos (hextetos 7 y 8) de la dirección IPv6 se conformarían de los valores encontrados,
manteniendo su orden, y agrupados como se muestra a continuación:
- hexteto 7 se compone del equivalente en hexadecimal del octeto 1 y 2.
- hexteto 8 se compone del equivalente en hexadecimal del octeto 3 y 4.
:874B:2B34
Paso 3: Siempre, para indicar que se trata de una dirección mixta, los 6 primeros hextetos se completan con la siguiente
secuencia: 0000:0000:0000:0000:0000:FFFF
Conjuntando con los hextetos 7 y 8 calculados en el paso 2, la dirección IPv6 final sería:
0000:0000:0000:0000:0000:FFFF:874B:2B34
EJERCICIO 6
Lleve las siguientes direcciones IPv4 a formato IPv6
a) 124.34.56.7
b) 220.123.0.179
c) 198.255.18.133
d) 79.11.113.255
e) 192.91.171.151
7
Anycast: Representa un grupo de dispositivos. A diferencia de las direcciones Multicast, cuando se envía un
paquete a una dirección Anycast sólo lo recibe el dispositivo más cercano de ese grupo.
Direcciones Unicast
Direcciones Unicast Global: estas direcciones son parecidas a las direcciones públicas IPv4. Se pueden enrutar
hacia el Internet y son asignadas por un Proveedor de Servicios de Internet (ISP).
Direcciones Link Local: estas direcciones son usadas por los dispositivos para comunicarse con otros que se
encuentran en el mismo segmento (subred) . No se pueden enrutar fuera de un determinado segmento. Estas
direcciones se encuentran en el rango FE80::/10, esto significa que los primeros 10 bits son fijos, no sufren
modificación.
Los protocolos de enrutamiento utilizan la dirección Link local para establecer adyacencias con sus respectivos
vecinos. Es una buena práctica modificar la dirección Link Local del Router, y configurar una dirección
más fácil de documentar, Ya que los últimos 64 bits de una dirección Link Local son tomados de la MAC address
de la interface Ethernet, entonces tendríamos una Link Local diferente para cada interfaces del Router; pero si la
modificamos podemos tener un sola link local por Router.
Ejemplo:
2001:CB00:1000: BA23:0000:0000:A00:AAAA
- La parte en Rojo (prefijo de enrutamiento global) representa el prefijo /48 asignado por el ISP a un cliente.
- La parte en Azul (identificador de Subred) representa los 16 bits usados por el cliente para subnetear (SOLO SE
SUBNETEA ESTE HEXTETO, SIEMPRE ES EL CUARTO HEXTETO).
- La parte en negro es el identificador del host.
Esto quiero decir que el prefijo /64 (48+16) corresponde a los bits de red y los últimos 64 bits (bits de color negro)
corresponden al host.
EJERCICIO 7
Identifica el prefijo de enrutamiento global, el identificador de subred y el identificador de host para cada una de las
siguientes direcciones IPv6
7
a) 1243:4567:0012:1000:0000:0000:0ABC:000A
b) 0201:0102:0002:1111:0000:0000:0ABC:0B0A
c) 1256:8567:0002:0103:0000:1000:0ABC:000A
d) 0013:0000:0012:00E0:0A0B:000C:0ABC:000A
e) 0002:0007:0001:0001:0000:0ABC:000A:1010