Las comunicaciones en internet desde 1981 funcionan con el protocolo IP (Internet Protocol). Este protocolo regula el transporte de datos entre los participantes de una red. Para ello, el emisor (el que envía un paquete de datos hacia otro equipo) debe conocer la dirección IP del destinatario.
Esta dirección IP identifica al destinatario a través del NetID y el HostID. El destinatario puede ser un teléfono móvil, una tablet, un ordenador, etc. El sistema Ipv4 (con el que se “mueve” Internet en su mayoría) está compuesto por 32 bits. Esto significa que la dirección IP está compuesta por 32 ceros o unos. Por comodidad, se representan en formato decimal y dividido por puntos.
Pongamos un ejemplo: La dirección IP 192.168.23.12 en formato binario sería 11000000.10101000.00010111.00001100. Con este formato podemos obtener 4.294.967.296 direcciones IP. Aunque en un principio parezcan muchas direcciones IP, todos sabemos que se consumen de forma muy acelerada (este es uno de los motivos por los que Ipv6 entra en escena).
¿Qué es el subnetting?
De forma simplificada, podemos decir que el subnetting es dividir una red en varias. Si, por ejemplo, en una empresa u operador necesitamos separar los equipos conectados de, por ejemplo, el departamento de desarrollo, lo haríamos definiendo una “parte” de esta red exclusivamente para este departamento.
Pongamos un ejemplo práctico. Tenemos el rango 192.168.0.0/16 y necesitamos separar los departamentos usando en cada uno un rango diferente. Podríamos, por ejemplo, asignar el rango 192.168.1.0/24 para gerencia y 192.168.2.0/24 para desarrollo. Ambas estarían dentro del rango que teníamos en un principio, el 192.168.0.0/16.
Otra de las ventajas que tiene es que la transmisión de los datos será más rápida y si surge algún problema será más sencillo de solucionar.
¿Cómo se puede calcular la máscara de subred?
Como comentamos con anterioridad, el sistema decimal nos permite escribir números como 22, 451, 60, etc. Por el contrario, los números binarios nos permite escribirlos de la siguiente forma: 11000000, 10101000, 00010111, 00001100. Cada número binario, tiene su forma de escribirlo en decimal y viceversa. ¿Cómo hacemos esa conversión? Lo veremos con el siguiente ejemplo.
Queremos convertir el número binario 11001011 en decimal. Para ello, numeramos los bits de derecha a izquierda, comenzando desde 0. A cada bit le hacemos corresponder una potencia de base 2 y exponente igual al número de bit. Por último, sumamos todas las potencias:
Por el contrario, para pasar de decimal a binario se hace de la siguiente forma:
Supongamos que queremos pasar a binario el número 45. Para ello, dividimos 45 entre 2 sin sacar decimales hasta que nos dé un cociente de 1. Leemos el último cociente y todos los restos en sentido contrario a como han ido apareciendo.
En caso de que nos pidan el resultado dentro de un byte rellenamos con ceros por delante hasta completar los ocho bits:
Máscara de subred
Una máscara de subred consiste en una secuencia de unos y ceros escrita de la misma forma que una dirección IP. Por ejemplo, una máscara de 20 bits se escribiría 255.255.240.0. Sería una dirección IP con 20 bits en 1, seguido de 12 bits en 0, pero separada en bloques de 8 bits escritos en decimal.
La máscara determina los siguientes parámetros de una subred:
- Dirección de red.
- Dirección de broadcast.
- Direcciones que nos quedan asignables (direcciones IP que están libres para usar).
Para calcular la máscara de subred pondremos un ejemplo. Si tenemos la siguiente dirección IP y máscara de subred: 192.168.26.109/20, necesitamos saber cuál será la dirección IP, la dirección broadcast y la primera y última dirección IP para un equipo.
Si la máscara de subred es /20 y sabiendo que la dirección IP tiene un total de 32 bits, será 12 bits (resta) lo que se utiliza para hosts (dirección IP de equipos en esa red). Con esto, tendremos los bits para la red y broadcast. Habría que pasar a binario la dirección IP con máscara que nos han facilitado para poder conocer hasta dónde llegan los bits para la red y los bits para los equipos que componen esa red, que quedaría así:
11000000 10100000 00011010 01101101
La descomponemos y quedaría así:
11000000.10100000.00010000.0000000 Dirección de red
11000000.10100000.00010000.00000001 Primera IP que podemos asignar
11000000.10100000.00011111.11111110 Última IP que podemos asignar
11000000.10100000.00011111.11111111 Dirección de broadcast
Si estas direcciones escritas en binario las pasamos a decimal, nos quedaría lo siguiente:
Dirección de red: 192.160.16.0
Primera dirección IP que podemos asignar: 192.160.16.1
Última dirección IP que podemos asignar: 192.160.31.254
Dirección de broadcast: 192.160.31.254
Existen muchos recursos online para poder hacer este cálculo de manera automática. A continuación, tienes varias opciones: