Subredes y sub-subredes o VLSM en IPv4

SUBREDES EN IPV4

Cuando nos disponemos a crear una red es muy importante el direccionamiento IP a seleccionar, pues hay que pensar en: la cantidad de hosts que tendrá la red, si es posible que se vayan a generar subredes, si es posible que el tamaño de la red crezca con el pasar del tiempo y si ese direccionamiento será capaz de abarcar y cubrir dicha expansión.

Es muy importante, para evitar posibles incovenientes en el futuro, asignar correctamente una clase, bien si será C  (192.168.0.0/16) o bien si será una Clase B (172.16.0.0/12 – 172.31.0.0/12), ya que asignar una clase C cuando debiamos haber asignado una B, puede suponer un error grave en la gestión y administración de la red.

En numerosas ocasiones es recomendable la creación de subredes, por ejemplo, en el caso de que existan varios departamentos, o que tengamos un punto de acceso donde este proporcionando conexión a internet a usuarios externos.

Antes de realizar la división en subredes, debemos saber: cuantas subredes queremos crear, cuantos hosts/clientes por subred necesitaremos y desde luego, como he comentado antes, tener en cuenta una posible expansión y que la arquitectura creada sea capaz de abarcarla. 

Imaginemos el siguiente caso:

  • Necesitamos 10 subredes.
  • Necesitamos 5 hosts por subred.
  • Se cree que con el tiempo se necesitarán 2 subredes más.
  • Se cree que esas nuevas subredes necesitarán  almenos 8 hosts.

Ya que la cantidad de subredes y hosts solicitados no son excesivos se puede utilizar una clase C, por ejemplo: 192.168.1.0/24.

Cuando nos dispongamos  a crear las subredes debemos tener en cuenta los siguientes puntos:

  • Para generar subredes se le roban bits a la parte de host, es decir: una dirección IP esta compuesta por 4 grupos de octetos (8 bits) con un total de 32 bits, por ejemplo, para la IP de red 192.168.1.0, se utilizan 24 (/24 o 255.255.255.0), para generar subredes robaremos de los 8 bits restantes de la parte de host.
  • La cantidad de hosts disponibles que habrán por subred, pasaran a ser el número de bits de host que quedan disponibles despues del ‘robo’:
    • 2^x- 2 = z, donde x es el numero de bits de hosts restantes,  y z la cantidad de hosts útiles.
    • Nota: se restan 2, ya que estos no pueden ser utilizados, ya que hacen referencia a la IP de la red (todos los bits de host a 0) y a la dirección broadcast de la red (todos los bits de host a 1).
  • La cantidad de subredes disponibles pasaran a ser el número de bits ‘robados’ de la parte de host de la IP inicial:
    • 2^x -2 = z, donde x es el número de bits robados a la parte de host y z el número de redes ‘utiles’.
    • Nota: en este caso, esas dos redes que se restan, en realidad se podrían llegar a utilizar, pero esto podría generar confusiones, ya que esta no se distinguirian más que por la máscara de red, además hay determinados protocolos que no permiten dicho uso, aunque en las versiones más recientes no debería haber ningún problema. Podríamos tener, por ejemplo: 192.168.1.224/27, y si dividieramos esta subred en otra subred, la primera sería: 192.168.1.224/30.
  • Cuando sacamos subredes, un pequeño tip para saber el número​ en el que aumentan las subredes, es sumando el valor posicional del último bit prestado de la parte de host, es decir, si tenemos la siguiente situación:
    • 172.16.0.0/18, sabemos que hemos quitado 2 bits a la parte de host, el primer bit del tercer octeto equivale a 128, el segundo bit a 64, y será este el numero que deberemos ir sumando, así sabremos desde que numero empezaran las distintas redes, por ejemplo, en este caso:
      • 172.16.64.0/18
      • 172.16.128.0/18
      • 172.16.192.0/18
      • … etc
  • El proceso para el calculo del direccionamiento IP es bastante tedioso, si bien es interesante y creo que recomendable aprenderlo, pero para reducir el tedio de esta tarea hay herramientas encargadas de realizar el cálculo de las direcciones IP, una de ella se llama IPCALC y es para linux. Para instalarla hay que ejecutar: apt-get install ipcalc. Podríamos poner una dirección IP de una subred por ejemplo, y esta nos diria, un poco toda la información relacionada con dicha dirección IP.
  • Captura.PNG
    Imagen 1. Ejemplo IP Calc en Linux.
  • Hay que tener en cuenta la relación que existe entre el número de subredes y el número de host, si se amplía el número de subredes el número de host disminuirá y viceversa, es por ello que se debe tener en cuenta el final deseado para la infraestructura de la red, es decir, si se desea obtener ‘X’ número de host por subredes, siendo este valor lo más importante, o ‘Y’ números de subredes, pudiendo ser este el valor más importante.

Bien, teniendo en cuenta el ejemplo anteriormente comentado, para las 12 subredes solicitadas, robaríamos a la parte de host 4 bits, quedándonos:

  • Redes: 2^4=16
  • RED 1: 192.168.1.0/28
  • RED 2: 192.168.1.16/28
  • RED 3: 192.168.1.32/28
  • RED 4: 192.168.1.48/28
  • RED 5: 192.168.1.64/28
  • RED 6: 192.168.1.80/28
  • RED 7: 192.168.1.96/28
  • RED 8: 192.168.1.112/28
  • RED 9: 192.168.1.128/28
  • RED 10: 192.168.1.144/28
  • RED 11: 192.168.1.160/28
  • RED 12: 192.168.1.176/28
  • RED 13: 192.168.1.192/28
  • RED 14: 192.168.1.208/28
  • RED 15: 192.168.1.224/28
  • RED 16: 192.168.1.240/28

En este caso al haber robado 4 bits  a la parte de host, nos quedan los 4 bits restantes para hosts:

  • Hosts: 2^4-2=14

Cumpliendo así los requisitos solicitados por el ejemplo anterior.

SUB-SUBREDES O VLSM (VARIABLE LENGTH SUBNET MASK)

Imaginaros que de esas 16 subredes, 4 se van a utilizar para varios enlaces punto a punto entre Routers, por cada una de esas 4 subredes, se utilizarian 2 IPs solo, esto sería una forma poco eficaz de gestionar la infraestructura de la red, ya que desperdiciariamos varias direcciones IP. Es aquí donde entra en juego VLSM, y lo que hacemos con ello es generar una nueva subred pero sobre la última subred (192.168.1.240/28), como Inception pero en networking. 

Para resolver este galimatias, serían necesarios los 4 bits que le quedan a la parte de host, tendríamos que volver a robar, pero en este caso 2 bits para la sub-subred o VLSM, quedándonos algo así:

  • Redes: 2^2=4
  • RED 1: 192.168.1.240/30
  • RED 2: 192.168.1.244/30
  • RED 3: 192.168.1.248/30
  • RED 4:192.168.1.252/30

Para los hosts, nos quedaría:

  • Hosts:2^2-2=2

Justo lo que necesitariamos, de tal manera que podríamos aplicar a los Routers algo como: 192.168.1.253/30 y 192.168.1.254/30.

Veamos el siguiente ejemplo, un poco a más bajo nivel:

Tenemos una red de clase B (/16), la cual nos dan con subredes: 172.16.0.0/22 y nos solicitan 9 subredes dentro de esa subred y 40 host como minimo por subred. Para este caso, será necesario robar 4 bits a la parte de host, el cual tenía principalmente 10 bits, quedando así con 6 bits y la máscara de subred siendo /26, de esta forma obtendremos:

  • 2^4 = 16 subredes
  • 2^6-2 = 62 host útiles

Cumpliendose de esta manera la petición solicitada

captura2
Imagen 2. Subsubred a nivel de bits.

 

Para una correcta gestión de una infraestructura de red, es recomendable utilizar VLSM, siempre y cuando sea necesaria, lógicamente, ya que de esta manera, como hemos podido ver en el ejemplo anterior, no desperdiciariamos direcciones IP de host, cuando sabemos que estas no van a ser utilizadas. Además que esto aplica un extra de seguridad ya que con ello seremos capaces de separar los hosts en mayor numero de redes, consiguiendo así, por ejemplo un filtrado más exhaustivo a través de un Firewall, y una jerarquización aún mejor.

captura3
Imagen 3. Uso de VLSM.

 

En IPv6 también es posible generar subredes, pero no con el mismo fin de no desperdiciar direcciones IP, ya que en esta versión del protocolo en una dirección de red /64 podriamos tener 18,446,744,073,709,551,616… Si se realiza división en subredes en IPv6, se hace para crear una jerarquización dentro de la red. Os explicare como crear subredes en IPv6, pero eso será en otra entrada.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s