Subneting Ipv6
Subneting Ipv6
Subneting Ipv6
El Protocolo de Internet versión 6, en inglés: Internet Protocol versión 6 (IPv6), es una versión del Internet Protocol (IP),
definida en el RFC 2460 y diseñada para reemplazar a Internet Protocol versión 4 (IPv4) RFC 791, que a 2016 se está
implementando en la gran mayoría de dispositivos que acceden a Internet.
Diseñado por Steve Deering de Xerox PARC y Craig Mudge, IPv6 sujeto a todas las normativas que fuera configurado –
está destinado a sustituir a IPv4, cuyo límite en el número de direcciones de red admisibles está empezando a restringir
el crecimiento de Internet y su uso, especialmente en China, India, y otros países asiáticos densamente poblados–. El
nuevo estándar mejorará el servicio globalmente; por ejemplo, proporcionará a futuras celdas telefónicas y dispositivos
móviles sus direcciones propias y permanentes.
IPv4 posibilita 4.294.967.296 (2^32) direcciones de host diferentes, un número inadecuado para dar una dirección a
cada persona del planeta, y mucho menos a cada dispositivo, teléfono, PDA, táblet, etcétera. En cambio, IPv6 admite
340.282.366.920.938.463.463.374.607.431.768.211.456 (2^128 o 340 sextillones de direcciones) —cerca de 6,7 × 10^17
(670 mil billones) de direcciones IP V6 por cada milímetro cuadrado de la superficie de la Tierra.
IPv6 ofrece un espacio de direccionamiento mucho mayor al de IPv4, estamos hablando de 2^128 que eso nos daría
alrededor de 340 sextillones de direcciones utilizables. IPv6 satisface las demandas actuales y futuras de
direccionamiento IP. Ejemplo de una dirección IPv6:
2001:BBBB:0000:1118:0000:0000:0000:0A00
Las direcciones IPv6 se expresan en formato Hexadecimal separadas por dos puntos. Estas direcciones están compuestas
por 8 hextetos, un hexteto es un bloque de 16 bits. Para expresar una dirección IPv6 se puede hacer usando letras
mayúsculas o minúsculas. La dirección anterior se puede dividir como sigue:
Los números decimales del 0 al 9 se expresan de esa misma forma en Hexadecimal, pero del número 10 al 15 se
expresan con letras.
Nota: un conjunto de 4 bits se le llama Nibble. Un Nibble en hexadecimal se descompone como sigue:
8 4 2 1
0 0 0 0
Ejemplo: si los dos primeros bits estuvieran encendidos (1 1 0 0) sería igual a 12. (8+4), en hexadecimal sería C.
2001:CB:1:1108: BA:0000:0000:A00.
Los puntos dobles (::) pueden sustituir un conjunto de hextetos compuestos por ceros consecutivos. Ejemplo:
2001:CB:1:1108:00BA:0000:0000:A00
2001:CB:1:1108:BA::A00
El sexto y séptimo hexteto se comprimieron con los dos puntos (::). Tenga en cuenta que esto puede ocurrir una sola vez
en una dirección. El siguiente formato no es válido:
Direcciones Unicast
Hay dos tipos de direcciones Unicast: Unicast global y Link Local.
Direcciones Unicast Global: Estas direcciones son parecidas a las direcciones públicas IPv4. Se pueden
enrutar hacia el internet y son asignadas por un 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: FE80:/10, los primeros 10 bits son fijos, no sufren
modificación.
1111 1110 1000 0000 puede llegar hasta 1111 1110 1011 1111 FEBF
Para hacer el cálculo recuerde que el valor que puede tener cada nibble es 8 4 2 1.
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.
Prefijo de enrutamiento Global: Es la porción de red asignada por el proveedor de servicio al cliente. Esta parte
está compuesta por los primeros 48 bits.
Identificador de Subred: Son los Bits usados por el cliente para subnetting. Compuesto por 16 bits.
Identificador del Hosts: Identifica a un dispositivo. Compuesto por los últimos 64 bis.
Ejemplo:
2001:CB00:1000:BA23:0000:0000:A00:AAAA
La parte en Rojo representa el prefijo /48 (16 bits por 3 segmentos) asignado por el ISP a un cliente.
Parte Azul: 16 bits usados por el cliente para subnetear.
Parte negra: identificador del host.
Esto quiere decir que el prefijo /64 (48+16) corresponde a los bits de red y los últimos 64 bits corresponden al host.
Loopback
Al igual que en IPv4, cada dispositivo tiene una dirección loopback, que es usada por el nodo mismo. En IPv6 se
representa en el formato preferido por el prefijo 0000:0000:0000:0000:0000:0000:0000:0001 y en el formato
comprimido por ::1
Sin-Especificar.
Es una dirección unicast sin asignar a alguna interface. Indica la ausencia de una dirección y es usada para propósitos
especiales. Es representada en el formato preferido con el prefijo 0000:0000:0000:0000:0000:0000:0000:0000 y con ::
en el formato comprimido.
Es utilizada por los mecanismos de transición en computadoras y ruteadores para crear automáticamente túneles IPv4.
De esa forma se entregan paquetes IPv6 sobre redes IPv4.
En la siguiente figura se muestra el formato descriptivo de una dirección IPv6 compatible con IPv4. En éste el prefijo se
crea con el bit puesto a cero del de más alto nivel de los 96 bits, y los restantes 32 bits de menor nivel representan la
dirección en formato decimal.
Ejemplo:
IPv6 y Subredes
En IPv6 la única forma aceptable de representar una máscara de red es mediante notación CIDR. Aunque las direcciones
estén en formato hexadecimal, el valor de la máscara de red se mantiene como un valor decimal. La siguiente tabla
muestra ejemplos de direcciones IPv6 y prefijos de red utilizando el valor de red en notación CIDR.
En el apartado de subredes los puntos sobresalientes son los siguientes:
De la misma forma que sucede con IPv4, en IPv6 el número de bits puestos a 1 en la máscara de red define la
longitud del prefijo de red y la parte restante es para el direccionamiento del nodo. Esto es importante para las
IPs, ya que define cuándo los paquetes van a ser enviados al ruteador por defecto o a un nodo específico en la
misma subred.
En IPv6 se suprime el concepto de dirección reservada en un rango de red. A diferencia de IPv4 donde se
reservaba la primera (dirección de red) y la última (dirección de difusión) de un rango, en IPv6 no existen estos
conceptos.
El número de bits para el direccionamiento del nodo dentro de un prefijo de sitio (48 bits) en IPv6 resulta ser tan
grande que no es necesario hacer un plan de direccionamiento para un sitio utilizando diferentes valores de
máscara de red. De ahí que el cálculo de máscara de red para cada subred y el uso de VLSM (máscaras de subred
de tamaño variable ó en inglés Variable Length Subnet Mask ) no son requeridos.
Ejemplo:
Con las siguientes direcciones IP V6 y su respectivo prefijo hallar el número de bits de Interfaz.
A) 2016:ABC:10:: /80
2016:0ABC:0010:0000:0000:0000:0000:0000
16 + 16 + 16 = 48 Bit de prefijo
16 + 16 + 16 + 16 + 16 = 80 Bit de interfaz
B) 3FF1:2:45:: /32
3FF1:0002:0045:0000:0000:0000:0000:0000
16 + 16 = 32
16 + 16 + 16 + 16 + 16 + 16 = 96 Bit de interfaz
C) 2016:12:5:: /3
2016:0012:0005:0000:0000:0000:0000:0000
2 => 0010 y tomamos los primeros tres bits para el prefijo. El resto es para la interfaz 128 – 3 = 125.
Ejemplo:
Desarrollo:
Tenemos la siguiente dirección IPV6, identificamos los prefijos con la información dada.
2301:0015:00AA:0000:0000:0000:0000:0000
PREFIJO DE RED
16 + 16 + 16 = 48
16 + 16 + 16 + 16 = 64
48 + X + 64 = 128
X = 128 – 112
X = 16
2301:0015:00AA:0001:0000:0000:0000:0000 /64
2301:0015:00AA:0002:0000:0000:0000:0000 /64
2301:0015:00AA:0003:0000:0000:0000:0000 /64
2301:0015:00AA:0004:0000:0000:0000:0000 /64
2301:0015:00AA:0005:0000:0000:0000:0000 /64
2301:0015:00AA:0006:0000:0000:0000:0000 /64
2301:0015:00AA:0007:0000:0000:0000:0000 /64
2301:0015:00AA:0008:0000:0000:0000:0000 /64
2301:0015:00AA:0009:0000:0000:0000:0000 /64
2301:0015:00AA:000A:0000:0000:0000:0000 /64
2301:0015:00AA:000B:0000:0000:0000:0000 /64
2301:0015:00AA:0007C:0000:0000:0000:0000 /64
Así hasta:
2301:0015:00AA:FFFF:0000:0000:0000:0000 /64
Ejemplo:
Desarrollo:
Tenemos la siguiente dirección IPV6, identificamos los prefijos con la información dada.
2301:0015:00AA:0000:0000:0000:0000:0000
Analizamos los cuatro nibbles del prefijo de Red y para ajustar los 70, tomamos 6 bits:
0000 0000 0000 0000 > En hexadecimal 0000 > En IPV6 2301:0015:00AA:0000:0000:0000:0000:0000
0000 0000 0100 0000 > En hexadecimal 0040 > En IPV6 2301:0015:00AA:0040:0000:0000:0000:0000
0000 0000 1000 0000 > En hexadecimal 0080 > En IPV6 2301:0015:00AA:0080:0000:0000:0000:0000
0000 0000 1100 0000 > En hexadecimal 00B0 > En IPV6 2301:0015:00AA:00B0:0000:0000:0000:0000
0000 0001 0000 0000 > En hexadecimal 0100 > En IPV6 2301:0015:00AA:0100:0000:0000:0000:0000
0000 0001 0100 0000 > En hexadecimal 0140 > En IPV6 2301:0015:00AA:0140:0000:0000:0000:0000
Así hasta:
1111 1111 1100 0000 > En hexadecimal FFB0 > En IPV6 2301:0015:00AA:FFB0:0000:0000:0000:0000
Para realizar el subnetting IPv6 usamos los 16 bits del campo de subred. Tome en cuenta que el RFC 4291 recomienda
que las subredes cuenten con una máscara /64.
Ejemplo:
Una compañía nacional cuenta con Oficinas en 20 ciudades importantes de ese país. En cada Ciudad hay 10 oficinas.
Cada oficina no tiene más de 11 departamentos.
Resumen:
-20 ciudades
Recuerden que se realiza el subntetting con los bits del cuarto hexteto (parte azul en el ejemplo anterior).
Se recomienda que cuando se realice un subnetting en IPv6 no se tomen bits individuales de un nibble, sino que se tome
el nibble completo, esto para evitar que el subneteo se vuelva muy complejo. Esto significa que en realidad tendremos
2^8=256 prefijos para diferentes 256 ciudades. No debemos preocuparnos por el desperdicio, ya que hay muchas
direcciones IPv6!!
El prefijo sería: 48+8=56 /56, porque usaremos el primer y segundo nibble completo.
Ciudad 1 2001:BABA:CAFE:0000::/56
Ciudad 2 2001:BABA:CAFE:1000::/56
Ciudad 3 2001:BABA:CAFE:2000::/56
Ciudad 4 2001:BABA:CAFE:3000::/56
Ciudad 5 2001:BABA:CAFE:4000::/56
Ciudad 6 2001:BABA:CAFE:5000::/56
Ciudad 7 2001:BABA:CAFE:6000::/56
Ciudad 8 2001:BABA:CAFE:7000::/56 El cambio está en el primer y segundo nibble del cuarto Hexteto
Ciudad 9 2001:BABA:CAFE:8000::/56
Ciudad 10 2001:BABA:CAFE:9000::/56
Ciudad 11 2001:BABA:CAFE:A000::/56
Ciudad 12 2001:BABA:CAFE:B000::/56
Ciudad 13 2001:BABA:CAFE:C000::/56
Ciudad 14 2001:BABA:CAFE:D000::/56
Ciudad 15 2001:BABA:CAFE:E000::/56
Ciudad 16 2001:BABA:CAFE:F000::/56
Ciudad 17 2001:BABA:CAFE:0100::/56
Ciudad 18 2001:BABA:CAFE:0200::/56
Ciudad 19 2001:BABA:CAFE:0300::/56
Ciudad 20 2001:BABA:CAFE:0400::/56
Debemos usar para esta tarea el tercer nibble, ya que los dos primero nibbles están siendo usados para las ciudades.
0000
1111
Ciudad 1 2001:BABA:CAFE:0000::/56
Oficina 1 2001:BABA:CAFE:0000::/60
Oficina 2 2001:BABA:CAFE:0010::/60 <---El cambio está en el tercer nibble
Oficina 3 2001:BABA:CAFE:0020::/60 del cuarto Hexteto
Oficina 4 2001:BABA:CAFE:0030::/60
Oficina 5 2001:BABA:CAFE:0040::/60
Oficina 6 2001:BABA:CAFE:0050::/60
Oficina 7 2001:BABA:CAFE:0060::/60
Oficina 8 2001:BABA:CAFE:0070::/60
Oficina 9 2001:BABA:CAFE:0080::/60
Oficina 10 2001:BABA:CAFE:0090::/60
Ciudad 2 2001:BABA:CAFE:1000::/56
Oficina 1 2001:BABA:CAFE:1000::/60
Oficina 2 2001:BABA:CAFE:1010::/60 <---El cambio está en el tercer nibble
Oficina 3 2001:BABA:CAFE:1020::/60 del cuarto Hexteto
Oficina 4 2001:BABA:CAFE:1030::/60
Oficina 5 2001:BABA:CAFE:1040::/60
Oficina 6 2001:BABA:CAFE:1050::/60
Oficina 7 2001:BABA:CAFE:1060::/60
Oficina 8 2001:BABA:CAFE:1070::/60
Oficina 9 2001:BABA:CAFE:1080::/60
Oficina 10 2001:BABA:CAFE:1090::/60
Ciudad 20 2001:BABA:CAFE:0400::/56
Oficina 1 2001:BABA:CAFE:1400::/60
Oficina 2 2001:BABA:CAFE:1410::/60 <---El cambio está en el tercer nibble
Oficina 3 2001:BABA:CAFE:1420::/60 del cuarto Hexteto
Oficina 4 2001:BABA:CAFE:1430::/60
Oficina 5 2001:BABA:CAFE:1440::/60
Oficina 6 2001:BABA:CAFE:1450::/60
Oficina 7 2001:BABA:CAFE:1460::/60
Oficina 8 2001:BABA:CAFE:1470::/60
Oficina 9 2001:BABA:CAFE:1480::/60
Oficina 10 2001:BABA:CAFE:1490::/60
Ciudad 1 2001:BABA:CAFE:0000::/56
Oficina 1 2001:BABA:CAFE:0000::/60
Departamento 1 2001:BABA:CAFE:0000::/64
Departamento 2 2001:BABA:CAFE:0001::/64
Departamento 3 2001:BABA:CAFE:0002::/64
Departamento 4 2001:BABA:CAFE:0003::/64 <---El cambio está en el cuarto nibble
Departamento 5 2001:BABA:CAFE:0004::/64 del cuarto Hexteto
Departamento 6 2001:BABA:CAFE:0005::/64
Departamento 7 2001:BABA:CAFE:0006::/64
Departamento 8 2001:BABA:CAFE:0007::/64
Departamento 9 2001:BABA:CAFE:0008::/64
Departamento 10 2001:BABA:CAFE:0009::/64
Departamento 11 2001:BABA:CAFE:000A::/64
Departamento 1 2001:BABA:CAFE:0010::/64
Departamento 2 2001:BABA:CAFE:0011::/64
Departamento 3 2001:BABA:CAFE:0012::/64
Departamento 4 2001:BABA:CAFE:0013::/64 <---El cambio está en el cuarto nibble
Departamento 5 2001:BABA:CAFE:0014::/64 del cuarto Hexteto
Departamento 6 2001:BABA:CAFE:0015::/64
Departamento 7 2001:BABA:CAFE:0016::/64
Departamento 8 2001:BABA:CAFE:0017::/64
Departamento 9 2001:BABA:CAFE:0018::/64
Departamento 10 2001:BABA:CAFE:0019::/64
Departamento 11 2001:BABA:CAFE:001A::/64
Enlaces de Apoyo:
http://www.gestioip.net/cgi-bin/subnet_calculator.cgi
https://www.ultratools.com/tools/ipv4toipv6
https://www.rfc-editor.org/rfc/pdfrfc/rfc4291.txt.pdf