Qué es el cálculo de subredes (Subnetting) y cómo realizarlo
Atribuir direcciones IP a las redes es uno de los trabajos de un administrador de redes. El tema que tratamos hoy no es para todo el mundo, ya que si pretendemos crear una buena guía sobre redes, es indispensable tener un artículo explicando cómo calcular la máscara de subred, una técnica llamada subnetting.
Dirección IPv4 y protocolo IP
Empecemos por el principio: una dirección IP es un conjunto numérico en decimal que identifica de manera lógica, única e irrepetible y atendiendo a una jerarquía, una interfaz de red. Las direcciones IPv4 se crean mediante una dirección de 32 bits (32 unos y ceros en binario) dispuestos en 4 octetos (grupos de 8 bits) separados por puntos. Entonces jamás podremos tener una dirección IP con números inferiores a 0 ni superiores a 255. Cuando se llega a 255, el siguiente número será de nuevo el 0, y el siguiente octeto será el que suba un dígito para empezar a contar.
Protocolo IP
La dirección IP atiende al sistema de direccionamiento según el protocolo IP o Internet Protocol. IP opera en la capa de red del modelo OSI, siendo un protocolo no orientado a conexión, por lo que el intercambio de datos se puede hacer sin un acuerdo previo entre receptor y transmisor. Este protocolo se implementó en 1981, en él la trama o paquete de datos cuenta con una cabecera, llamada cabecera IP. En ella, entre otras cosas, se almacenan las direcciones IP del destino y el origen, para que el enrutador sepa hacia dónde enviar los paquetes en cada caso. Pero además las direcciones IP guardan información sobre la identificación de la red en donde operan e incluso el tamaño de la misma y la distinción entre distintas redes.
✅ MODELO OSI EXPLICACION de las 7 capas ✅ | Que es el modelo Osi y cómo funcionan sus 7 capas?
Máscara de red y direcciones IP especiales
Toda dirección IP tiene una máscara correspondiente. La máscara de red es una dirección IP que se encarga de delimitar el ámbito o extensión de una red. Esto significa que no podemos dar direcciones IP de forma arbitraria para rellenar una red con hosts, sino que debemos de respetar la parte de red y la parte de hosts. Vimos que los bits 1 en la máscara especifican la porción de la red y que los bits 0 especifican el host en la dirección IP. Nosotros podemos utilizar otra connotación cuando hablamos de máscaras de red. Por ejemplo, la máscara patrón de la clase C, 255.255.255.0, en formato binario queda 11111111.11111111.11111111.0000000. O sea, ella tiene 24 bits 1. Entonces en caso que deseemos hablar que la dirección IP 192.168.0.35 utiliza la máscara patrón, podemos utilizar la connotación /24.
Dirección IP de red
Tenemos también una dirección IP que se encarga de identificar la red a la que pertenecen los dispositivos. Podremos a 0 los octetos de la parte de host que nos haya indicado la máscara de red del anterior apartado. En una red clase C con máscara patrón, la dirección de la red es 192.168.0.0.
Dirección de Broadcast
Entre las direcciones IPs, dos necesitan ser reservados. Uno para especificar la red y el otro para especificar el dominio de broadcast. Con esta dirección un enrutador podrá enviar un mensaje a todos los hosts conectados a la red o subred con independencia de su dirección IP. Para ello se utiliza el protocolo ARP, por ejemplo para asignar direcciones, o para enviar mensajes de estado. En una red clase C con máscara patrón, el de broadcast es 192.168.0.255.
Dirección IP de host
Y finalmente tenemos la dirección IP de host, en la que la parte de red siempre permanecerá invariante y será la parte de host la que irá cambiando en cada host. Los hosts son definidos como bits 0 en la máscara de subred, ¿cierto?
Clases de IP
Hasta ahora ha sido sencillo ¿verdad? Ya sabemos las que ciertas direcciones IP están reservadas a red, broadcast y máscara, pero todavía no hemos visto las clases de IP. Con las clases de IP estamos delimitando el rango de valores que puede tomar esta en la parte de red, la cantidad de redes que se pueden crear con ellas y la cantidad de hosts que se pueden direccionar. Ojo, que todavía no estamos hablando calcular máscara de subred, sino de la capacidad para crear redes.
- Clase A: Las IP de clase A se utilizan para crear redes muy grandes, por ejemplo la red de Internet y la asignación de IP públicas a nuestros enrutadores. Es muy importante saber que en esta clase hay un rango de IP reservado para Loopback siendo desde la 127.0.0.0 a 127.255.255.255. El Loopback se utiliza para asignar IP al propio host de forma interna, nuestro equipo internamente tiene una IP 127.0.0.1 o “localhost” con la que comprueba que es capaz de enviar y recibir paquetes.
- Clase B: Las IP de clase B se utilizan para redes medianas, por ejemplo en el rango de una ciudad, contando esta vez con dos octetos para crear redes y otros dos para direccionar hosts.
- Clase C: Las IP de clase C son las más conocidas, ya que prácticamente todo usuario con internet doméstico tiene un router que asigna una IP clase C a su red interna. Está orientada a redes pequeñas, dejando 1 solo octeto para hosts y 3 para red. Haz un ipconfig a tu PC y seguro que tu IP es de clase C.
- Clase D: La clase D se utiliza para redes multicast, en donde los enrutadores envían paquetes a todos los hosts conectados. Así que todo el tráfico que entre en una red de este tipo será replicado a todos los hosts.
Algo bastante importante respecto a este tema es que en la actualidad la asignación de direcciones IP en redes atiende al principio de CIDR (Classless Inter-Domain Routing) o Enrutamiento Entre Dominios sin Clases. Esto significa que las IP se asignan sin tener en cuenta el tamaño de la red, por eso podemos tener una IP pública de clase A, B o C. ¿Entonces para qué sirve todo esto? Nos acercamos más al cálculo de máscara de subred, ojo, no de red.
Qué es el Subnetting o cálculo de subredes
El cálculo de subredes IP es un proceso que permite dividir una red en subredes más pequeñas, cada una con un número limitado de hosts. Para dividir esa red, nosotros podemos “dividir” esa máscara. Para eso, podemos usar valores diferentes entre 0 o 255. La técnica del subnetting consiste en dividir las redes en distintas redes más pequeñas o subredes. Con esto podemos asignarle distintas funciones, con distintos enrutadores y por ejemplo implementar un Active Directory que solamente afecte a una subred. O diferenciar y aislar una cierta cantidad de hosts al resto de la red en una subred. El trabajo de los enrutadores también es más sencillo con subredes, ya que elimina la congestión en el intercambio de datos. Estos cálculos se pueden realizar mediante herramientas en línea o con software específico, o manualmente utilizando operaciones bit a bit en una tabla de conversión.
Ventajas y desventajas del subnetting
La ventaja principal del subnetting es la eficiencia en el uso de direcciones IP, el aumento de la seguridad y el mejor rendimiento de la red al reducir el tráfico de difusión. Como desventajas, podemos mencionar la complejidad en la configuración y administración, además de la necesidad de un conocimiento técnico más avanzado para su implementación.
Técnica de subnetting: calcular máscara de subred y direccionamiento IP
Para esta técnica ciertamente hay que tener muy claros los conceptos de dirección IP, las clases que hay y todo lo que hemos explicado arriba. Afortunadamente, el proceso de subnetting atiende a una serie de fórmulas sencillas de recordar y de aplicar. Por ahora vamos a centrarnos en calcular la máscara de red en las direcciones IPv4, ya que IPv6 todavía no está lo suficientemente implantado como para llevarlo a la práctica.
1. Cantidad de subredes y notación rápida
Para calcular la cantidad de subredes que podemos crear, tomamos un bit de la porción del host, por tanto, tenemos **2^1 **redes. Si nosotros tomamos un bit a más de la máscara de subred del ejemplo anterior, o sea, nuestra máscara quedará en binario: 11111111.11111111.11111111.1100000. Luego: 1 x 2^7 + 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 0 x 2^3 + 0 x 2^2 + 0 x 2^1 + 0 x 2^0. O sea, nuestra máscara de subred será 255.255.255.192. Con esta máscara tenemos apenas dos subredes, pero si tenemos cuatro departamentos y queremos colocar cada uno en una subred, necesitamos más.
2. Calcular máscara de red y de subred
Vimos que los bits 1 en la máscara especifican la porción de la red y que los bits 0 especifican el host en la dirección IP. Sabemos que los tres primeros octetos tienen el valor en decimal de 255. O sea, tenemos: 1 x 2^7 + 0 x 2^6 + 0 x 2^5 + 0 x 2^4 + 0 x 2^3 + 0 x 2^2 + 0 x 2^1 + 0 x 2^0. Cada tres dígitos en la máscara, corresponden a una parte de la dirección IP de host.
3. Calcular cantidad de hosts por subred y el salto de red
Ahora es turno de conocer la cantidad de ordenadores que podremos direccionar en cada subred. Ya hemos visto que el hecho de necesitar más bits para subredes disminuye el espacio para hosts. ¿Y si cada subred debiera tener 2000 hosts que haríamos?
Ahora toca calcular el salto de red, este lo que pretende es asignar un número a la IP por cada subred que se cree respetando los bits para hosts y los bits para subred. Estos saltos los necesitamos por si cada subred se llena con su máxima capacidad de host, así que debemos respetar estos saltos para asegurar la escalabilidad de la red.
4. Asignación de direcciones a subredes (ejemplo)
Consideremos la IP de clase B 129.11.0.0 para crear 40 subredes en un gran edificio. Esto significa que la IP de red es 129.11.0.0 con 16 bits reservados para red (2 octetos). Peros si podremos encontrar identificativos superiores hasta llegar 31, es decir, cogeríamos absolutamente todos los bits restantes excepto el ultimo para crear subredes. De esta forma estamos cogiendo 16 bits fijos para red, otros dos extras para subred y el resto para hosts. La segunda cuestión a resolver será: ¿Cuántos bits me hacen falta para crear 40 subredes (C) en esta red?
Con todo lo que hemos calculado antes, ya tenemos todo listo para crear nuestras subredes, veamos las 5 primeras como serían:
| Subred | Dirección de Red | Primera IP de Host | Última IP de Host | Dirección de Broadcast |
|---|---|---|---|---|
| 1 | 129.11.0.0 | 129.11.0.1 | 129.11.3.254 | 129.11.3.255 |
| 2 | 129.11.4.0 | 129.11.4.1 | 129.11.7.254 | 129.11.7.255 |
| 3 | 129.11.8.0 | 129.11.8.1 | 129.11.11.254 | 129.11.11.255 |
| 4 | 129.11.12.0 | 129.11.12.1 | 129.11.15.254 | 129.11.15.255 |
| 5 | 129.11.16.0 | 129.11.16.1 | 129.11.19.254 | 129.11.19.255 |
Para aplicar la IP de subred debemos tener en cuenta que los 10 bits de host deben estar a 0 y que el salto de subred calculado es de 4 en 4. Por ello, tenemos esos saltos en el 3º octeto y por ello el ultimo octeto es 0, como buena IP de red que es. La primera IP de host simplemente se calcula sumando 1 a la IP de subred, esto no tiene ningún secreto. Ahora lo más natural sería colocar la IP de broadcast, ya que solamente se trata de restar 1 a la próxima IP de subred. Por ejemplo, la IP anterior de la 127.11.4.0 es la 127.11.3.255 así seguiríamos con todas. Por último, calcularemos la última IP de host restando 1 a la IP de broadcast.
El proceso de calcular la máscara de subred es bastante sencillo si tenemos claros los conceptos de subred, IP de red, mascara de red y subred y la dirección de broadcast. Este mismo procedimiento se llevará a cabo con las IP de clase A y C exactamente igual que el ejemplo con la clase B.
