Tuesday, March 17, 2015

Subnetting IPV6


Holaaa, en esta nueva entrada aprenderán a realizar un subnetting en IPV6. IPv6 es el nuevo protocolo que está sustituyendo a IPv4, porque como saben las direcciones públicas IPv4 se agotaron.

Conceptos Generales de IPv6

IPv6 ofrece un espacio de direccionamietno 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. 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:

2001 ----> Primer Hexteto
BBBB ----> Segundo Hexteto
0000 ---->    Tercer Hexteto
....
0A00 ----> Octavo Hexteto

En total 8X16= 128 bits!!

Antes de continuar voy a explicarles de manera breve el sistema Hexadecimal

El sistema Hexadecimal está compuesto por 16 elementos, desde el 0 hasta F. Para formar un número en hexadecimal sólo requerimos de 4 bits, diferente al sistema binario donde se necesita mínimo 8 bits. Observe la siguiente Tabla:

Fuente: http://www.informacionempresarial.es/

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 sería igual a 12. (8+4), en hexadecimal sería C.

Cómo expresar direcciones IPv6

-Al momento de expresar cualquier direccíon IPv6 tenga en cuenta que los 0s a la izquierda pueden omitirse. Ejemplo:

2001:00CB:0001:1108:00BA:0000:0000:0A00

Puede expresarse como sigue: 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: BA:0000:0000:A00

Se expresa como sigue: 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:

2001:CB:1::0000:0000:A00     <---- no válido.


Tipos de Direcciones IPv6

En IPv6 hay tres clases de direcciones:

-Unicast: Identifican un solo dispositivo.

-Multicast: Representa un grupo de dispositivos. Las direcciones multicast inician con FFxx::/8.

-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

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 determino 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.

1111 es igual a 8+4+2+1=  F
1110 es igual a 8+4+3+0= E 
1000 es igual a 8+0+0+0= 8
0000                                = 0

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.

Estructura de una Dirección Unicast

Una dirección Unicast Global tiene 3 elementos:

-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 asignado por el ISP a un cliente.
-Parte Azul: 16 bits usados por el cliente para subnetear.
-Parte negra: identificador del host.

Esto quiero decir que el prefijo /64 (48+16) corresponde a los bits de red y los últimos 64 bits corresponden al host.


Subnetting IPv6

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.
Dirección asignada por el proveedor de servicios: 2001:BABA:CAFE::/48


Resumen:
-20 ciudades
-10 oficina por ciudad
- 11 departamentos por oficina

1. Prefijo para cada Ciudad

Para 20 ciudades necesitamos 5 bits, 2^5=32 ciudades. Sólo nos interesa prefijos para 20 ciudades, las demás quedan para futuro crecimiento.

Recuerden que se realiza el subntetting con los bits del cuarto hexteto (parte azul en el ejemplo anterior).


nibble 1  nibble 2   nibble 3    nibble 4
0 0 0 0     0 0 0 0     0 0 0 0      0 0 0 0
1 1 1 1     1 0 0 0     0  0 0 0     0 0 0 0     <------  2^5=32


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
Ciudad 9 2001:BABA:CAFE:8000::/56              cuarto Hexteto
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

Dejé expresados los Ceros a la izquierda con fines de aprendizaje.


2. Prefijo para cada Oficina

10 oficinas por ciudad.

Debemos usar para esta tarea el tercer nibble, ya que los dos primero nibbles están siendo usados  para las ciudades. 

Para 10 oficinas necesitamos 4 bists,  2^4=16 oficinas.

0 0 0 0
1 1 1 1

El prefijo para las oficinas será: /60  (56+4=60).

Ciudad 1 2001:BABA:CAFE:0000::/56

Officina 1 2001:BABA:CAFE:0000::/60    
Officina 2 2001:BABA:CAFE:0010::/60         <---El cambio está en el tercer nibble
Officina 3 2001:BABA:CAFE:0020::/60               del cuarto Hexteto
Officina 4 2001:BABA:CAFE:0030::/60
Officina 5 2001:BABA:CAFE:0040::/60
Officina 6 2001:BABA:CAFE:0050::/60
Officina 7 2001:BABA:CAFE:0060::/60
Officina 8 2001:BABA:CAFE:0070::/60
Officina 9 2001:BABA:CAFE:0080::/60
Officina 10 2001:BABA:CAFE:0090::/60


Ciudad 2 2001:BABA:CAFE:1000::/56

Officina 1 2001:BABA:CAFE:1000::/60    
Officina 2 2001:BABA:CAFE:1010::/60         <---El cambio está en el tercer nibble
Officina 3 2001:BABA:CAFE:1020::/60               del cuarto Hexteto
Officina 4 2001:BABA:CAFE:1030::/60
Officina 5 2001:BABA:CAFE:1040::/60
Officina 6 2001:BABA:CAFE:1050::/60
Officina 7 2001:BABA:CAFE:1060::/60
Officina 8 2001:BABA:CAFE:1070::/60
Officina 9 2001:BABA:CAFE:1080::/60
Officina 10 2001:BABA:CAFE:1090::/60

... y saltamos a la officina 20, porque ya entienden el procedimiento

Ciudad 20 2001:BABA:CAFE:0400::/56

Officina 1 2001:BABA:CAFE:0400::/60    
Officina 2 2001:BABA:CAFE:0410::/60         <---El cambio está en el tercer nibble
Officina 3 2001:BABA:CAFE:0420::/60               del cuarto Hexteto
Officina 4 2001:BABA:CAFE:0430::/60
Officina 5 2001:BABA:CAFE:0440::/60
Officina 6 2001:BABA:CAFE:0450::/60
Officina 7 2001:BABA:CAFE:0460::/60
Officina 8 2001:BABA:CAFE:0470::/60
Officina 9 2001:BABA:CAFE:0480::/60
Officina 10 2001:BABA:CAFE:0490::/60

3. Prefijo para cada Departamento de las diferentes oficinas

Bueno, la verdad es que para este requerimiento no es necesario realizar ningún cálculo porque la recomendación es que cada subred debe tener un /64.

En caso de que insistan, aquí está el cálculo:

11 departamentos, 2^4=16 departamentos. Seguimos con la regla de tomar el nibble completo.

Cada departamento tendrá un prefijo /64 (60+4)

Ciudad 1 2001:BABA:CAFE:0000::/56

Officina 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

Officina 2 2001:BABA:CAFE:0010::/60   (de la ciudad 1)

 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

Y así sucesivamente... 

Qué fácil, verdad??

Espero que les haya gustado la explicación de este tema. Y cualquier duda que tengan pueden comentar..

Dios les bendiga mucho...

saludos!!






24 comments :

  1. Lisbeth! , Muy Buen trabajo, Esto me sirve de repaso, este blog ha salido mejor que las Tutorias ehehehehe . ;)

    ReplyDelete
  2. Hola! Excelente aporte. Me gustaria sugerir que, en realidad existen tres tipos de direcciones Unicast: Global Unicast, Link-local Unicast, y Unique local Unicast (equivalente a la IPv4 privada).

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Hola Lisbett! :) Una pregunta..

    Usted menciona que utilizamos el cuarto hexteto para subneteo, que son 16 bit.

    Si por ejemplo, quisiera especificar que se necesita 48 host para cada subred o departamento, esto seria 2^6= 64
    Puedo hacer esto con la porción de host? (los restantes 64 bits)

    Siendo 1111 1100 0000 0000, como se recomienda utilizar el nibble completo seria /72 ?
    o me estoy confundiendo y usted se refiere a un departamento como a un unico host?

    Nota: Algo que puede notar es que las subredes siempre van a ser /52, /56, /60, y /64

    ReplyDelete
  5. Hola Tania, las subredes no tienen que ser asi, lo que pasa es que es mas fácil tomar el nibble completo, pero es posible tener /65 por ejemplo.
    En IPv6 hay tanta direcciones disponibles para hosts, que no se hace el direccionamiento en base a hosts, si quieres restringir la cantidad de hosts que pueden conectarse a una red puedes configurar restricciones en el DHCP. saludos

    ReplyDelete
  6. Hola, Gracias!! La pregunta era más por curiosidad de si era posible, entiendo que con tantas direcciones no es necesario el subneteo para hosts.

    Si, lo de las subredes usted lo menciona antes, es solo una recomendación tomar el nibble ;)

    Saludos Lisbett

    ReplyDelete
  7. This comment has been removed by the author.

    ReplyDelete
  8. Hola, empezaría al revés:

    Ciudad 1 2001:BABA:CAFE:0000::/56 --- ilustrativo, pudo ser ...CAFE::/56
    Ciudad 2 2001:BABA:CAFE:0100::/56 --- ilustrativo, pudo ser ...CAFE:100:/56
    Ciudad 3 2001:BABA:CAFE:0200::/56 --- ilustrativo, pudo ser ...CAFE:200:/56
    ...
    Ciudad 17 2001:BABA:CAFE:1000::/56
    Ciudad 18 2001:BABA:CAFE:1100::/56
    Ciudad 19 2001:BABA:CAFE:1200::/56

    Cuando llegues a la ciudad 32 te darás cuenta que no podrás pasar de ... CAFE:ff00
    Imagina que hubieses querido 40 ciudades. Esto es lo correcto.

    Ciudad 33 2001:BABA:CAFE:2000::/56
    Ciudad 34 2001:BABA:CAFE:2100::/56
    ...
    Ciudad 255 2001:BABA:CAFE:fe00::/56
    Ciudad 256 2001:BABA:CAFE:ff00::/56
    Atte. Luis Suárez L. Lima - Perú

    ReplyDelete
  9. ¡Hola bloggers!
    ¿Alguien podría explicarme más detalladamente cómo se asignan las direcciones IP a cada ciudad?
    Entiendo que, en la forma en la que se hizo en el ejemplo, no alcanzarían los dos primeros nibbles para cubrir las 256 ciudades. ¿Estoy en lo cierto?
    Por otro lado, ¿la asignación fue al azar?.
    Agradecería cualquier ayuda o comentario.
    ¡Muchas gracias!

    ReplyDelete
  10. hola una pregunta tienes videos en youtube sino pues subelos te sigo yo y mis compañeros de clase

    ReplyDelete
  11. Hola.
    Si me piden el numero de red (x) como podria hallarlo ?
    EJEM:
    Dada la dirección IPv6 Unicast Global 2001:228A:7F1E::/48, realice la división en subredes y asigne la subred 4500 a la LAN LAN del Primer Piso y la subred 5000 a LAN LAN del Segundo Piso

    ReplyDelete
  12. buenas tardes, si tengo un host de 85, 25, 20, 14, y la red 2002:acad:2::/48, cual seria el procedimiento.

    gracias, espero tu respuesta.

    ReplyDelete
  13. causa estas en nada a la firme no dices que sabias jajajja

    ReplyDelete
  14. Hola, felicitaciones por tan buena explicación, después de ver demasiados videos por YouTube, demasiadas páginas, estaba derrotado por que no entendía cosas; y no había encontrado una explicación tan eficiente .. Muchas gracias y esperamos ver y aprender mucho más al lado tuyo ..

    ReplyDelete
  15. Hola, en ipv4 se corre la maskara para no desperdiciar host, en ipv6 no importa el desperdicio? o seria recomendable correr la maskara tambien

    ReplyDelete
  16. Muchas gracias por el excelente aporte, tambien creo que es la explicación más clara de este tema, que hay por la web. ¿Podría aclarar si le da razón al sr. Luis Suarez que escribió lineas arriba?. Muchas Gracias por su trabajo, nuevamente, Dios le bendiga.

    ReplyDelete
  17. This comment has been removed by the author.

    ReplyDelete
  18. Muy buen material, continue asi que de verdad que nos sirve de mucho.

    ReplyDelete
  19. Muy buen blog para Entender Subneting ipv6!

    ReplyDelete