Este articulo no es para todos 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. Con ella los administradores informáticos son capaces de diseñar la estructura de red y subredes en cualquier lugar.
Para hacer esto tendremos que conocer muy bien que es una máscara de red, las clases de IP y cómo transformar las direcciones IP de decimal a binario, aunque para esto ya tenemos un artículo que hicimos hace un tiempo.
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, quizás en otro artículo posterior lo hagamos. Sin más, vayamos a la tarea.
Empecemos por el principio, una dirección IP 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. Para una representación más cómoda utilizamos siempre notación decimal, siendo esta directamente la que vemos en los hosts y equipos de red.
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. Esto significa que el paquete de datos buscará el camino más rápido por la red hasta llegar al destino, dando saltos de enrutador en enrutador.
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. Esto se hace gracias a la máscara de red y a la IP de red.
Representación y rango
Una dirección IP entonces tendrá esta nomenclatura:
Debido a que cada octeto cuenta con un número binario de 8 ceros y unos, trasladando esto a notación decimal podremos crear números que van desde el 0 hasta el 255.
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. Es exactamente igual que el minutero de un reloj.
Cómo se crean las redes
Sabemos que es una dirección IP, cómo se representa y para que sirve, pero debemos conocer algunas IP especiales para saber calcular la máscara de subred.
Máscara de red
La máscara de red es una dirección IP que se encarga de delimitar el ámbito o extensión de una red. Con ella seremos capaces de conocer la cantidad de subredes que podremos crear y la cantidad de hosts (equipos) que podremos conectar a ella.
Así que la máscara de red tiene el mismo formato que la dirección IP pero se distingue por siempre por tener los octetos que delimitan la parte de red llenos de unos y la parte de hosts llenos de ceros de esta forma:
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. Siempre trabajaremos con la parte de host una vez que calculemos la parte de red y asignemos una IP a cada subred.
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. Entendamos que en toda red o subred hay una dirección IP identificativa que todos los hosts deben de tener en común para denotar su pertenencia a ella.
Esta dirección se caracteriza por tener la parte de red común y la parte de hosts siempre a 0, de esta forma:
Podremos a 0 los octetos de la parte de host que nos haya indicado la máscara de red del anterior apartado. En este caso sería 2, mientras que los otros 2 serían para la parte de red, tratándose de una IP reservada.
Dirección de Broadcast
La dirección de broadcast es justo la contraria a la dirección de red, en ella colocamos a 1 todos los bits de los octetos que direccionan hosts.
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. Así que es otra IP reservada.
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. En el ejemplo que vamos llevando sería este rango:
Podríamos direccionar entonces 216-2 hosts, es decir 65.534 equipos restando las dos direcciones para red y broadcast.
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. efectivamente estas direcciones se dividen en familias o clases, para distinguir los fines con los que serán utilizadas en cada caso.
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. En total tenemos 5 clases de IP definidas por la IETF (Internet Engineering Task Force):
Ojo, que todavía no estamos hablando calcular máscara de subred, sino de la capacidad para crear redes. A partir de ahora es cuando veremos el subnetting y sus detalles.
Clase A
Las IP de case 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. Aunque realmente podemos tener cualquiera de los otras IP de clase B o C, por ejemplo yo tengo una de clase B. Todo dependerá de las IP que el suministrador ISP haya contratado, algo que explicaremos justo debajo. En la clase A tenemos un bit identificador de clase, por eso solo podemos direccionar 128 redes y no 256 como cabría esperar.
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. Así que estas direcciones no podremos en principio utilizarlas.
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. La clase B se define con dos bits de red.
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. En este caso se coge 3 bits de red para definir la clase.
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. No es de aplicación para creación de redes.
Clase E
Finalmente la clase E es el último rango que queda y solo se utiliza para redes con fines de investigación.
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? Pues para entender cómo se crean las subredes de forma correcta.
¿Qué es el subnetting o cálculo de subredes?
Nos acercamos más al cálculo de máscara de subred, ojo, no de red. La técnica del subnetting consiste en dividir las redes en distintas redes más pequeñas o subredes. De esta forma un administrador informático o de red puede dividir la red interna de un gran edificio en subredes más pequeñas.
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. Es algo sumamente útil en el ámbito de redes, ya que cada subred funciona de forma independiente a la otra.
El trabajo de los enrutadores también es más sencillo con subredes, ya que elimina la congestión en el intercambio de datos. Y por último de cara a la administración es mucho mas fácil subsanar fallos y realizar mantenimiento.
Nosotros vamos a hacerlo con la dirección IPv4, aunque también es posible hacer subredes con IPv6, teniendo nada menos que 128 bits para direccionar hosts y redes.
Ventajas y desventajas del subnetting
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. A esto le sumamos la necesidad de saber pasar de binario a decimal y viceversa, por lo que, si pretendemos hace el proceso de forma manual se puede alargar bastante.
Ventajas:
- Aislamientos en segmentos de red
- Enrutamiento de paquetes en redes lógicas independientes
- Diseño de subredes a gusto del cliente y flexibilidad
- Mejor administración y localización de errores
- Mayor seguridad al aislar equipos sensibles
Desventajas:
- Al dividir la IP por clases y saltos se desperdician muchas direcciones IP
- Proceso relativamente tedioso si se hace a mano
- Su la estructura de red cambia habría que recalcularla desde el principio
- Si no lo entiendes, posiblemente suspendas la asignatura de redes
subred y direccionamiento IP
Afortunadamente el proceso de subnetting atiende a una serie de fórmulas sencillas de recordad y de aplicar y tenemos las cosas claras. Así que vamos a verlo por pasos.
1. Cantidad de subredes y notación rápida
La notación con la que nos encontraremos un problema de cálculo de subredes será la siguiente:
Esto significa que la IP de red es 129.11.0.0 con 16 bits reservados para red (2 octetos). Nunca encontraremos una IP de clase B con un identificativo inferior a 16, al igual que el resto de clases, por ejemplo:
Peros si podremos encontrar identificativos superiores hasta llegar 31, es decir, cogeríamos absolutamente todos los bits restantes excepto el ultimo para crear subredes. No se cogería el ultimo porque habrá que dejar algo para direccionar hosts ¿verdad?
Siendo la máscara de subred:
De esta forma estamos cogiendo 16 bits fijos para red, otros dos extras para subred y el resto para hosts. Esto significa que ahora la capacidad de hosts se reduce a 214-2 = 16382 en beneficio a la capacidad de subred con posibilidad de hacer 22 = 4.
Veámoslo de forma genérica en una tabla:
2. Calcular máscara de red y de subred
Atendiendo al límite de subredes que tenemos en función de las clases de IP, vamos ya a plantear el ejemplo paso a paso para ver cómo se resolvería.
En él tenemos la intención de utilizar nuestra IP de clase B 129.11.0.0 para crear 40 subredes en un gran edificio. ¿Podríamos haberlo hecho con una de clase C? por supuesto, y también con una de clase A.
127.11.0.0/16 + 40 subredes
Siendo una clase B tendríamos una máscara de red:
La segunda cuestión a resolver será: ¿Cuántos bits me hacen falta para crear 40 subredes (C) en esta red? Esto lo sabremos pasando de decimal a binario:
Necesitamos 6 bits extra para crear las 40 subredes, así que la máscara de subred sería:
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 6 bits para subredes disminuye el espacio para hosts. Solamente nos quedan 10 bits para ellos m=10 en donde debemos descargar las IP de red e IP de broadcast.
¿Y si cada subred debiera tener 2000 hosts que haríamos? Pues evidentemente subir a una IP de clase A para así coger más bits de hosts.
Ahora toca calcular el salto de red, este lo que pretende es asignar un numero a la IP por cada subred que se cree respetando los bits para hosts y los bits para subred. Simplemente debemos restar al valor máximo del octeto el valor de subred obtenido en la máscara, es decir:
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. De esta forma evitaremos tener que reestructurar en caso de que aumente con el futuro.
4. Solo falta asignar IP a nuestras subredes
Con todo lo que hemos calculado antes, ya tenemos todo listo para crear nuestras subredes, veamos las 5 primeras como serían. Seguiríamos hasta la subred 40, y aún tendríamos espacio de sobra para llegar a 64 subredes con los 6 bits.
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. Podemos rellenar esta columna entera directamente.
La primera IP de host simplemente se calcula sumando 1 a la IP de subred, esto no tiene ningún secreto. Podemos rellenar esta columna entera directamente.
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. Con la primera columna rellena, es fácil sacar esta.
Por último calcularemos la última IP de host restando 1 a la IP de broadcast. Esta columna la rellenaremos la ultima de forma sencilla si ya tenemos las direcciones de broadcast hechas.
Conclusiones acerca del subnetting
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. Además con un par de formulas muy simples podemos calcular fácilmente la capacidad para subredes de una IP sea la clase que sea, y la capacidad de host en función de las redes que necesitamos.
Obviamente si hacemos esto a mano y no tenemos demasiada práctica haciendo conversiones de decimal a binario podemos tardar algo más de tiempo, especialmente si estamos estudiando esto para una asignatura de redes en carrera o grado de formación profesional.
Este mismo procedimiento se llevará a cabo con las IP de clase A y C exactamente igual que el ejemplo con la clase B. Solamente debemos de tener en cuenta el rango de direcciones a tomar y su identificador, el resto es prácticamente automático.
Y si en lugar de darnos la IP y clase nos dan simplemente la cantidad de subredes y cantidad de hosts seremos nosotros mismos los que decidamos la clase haciendo las correspondientes conversiones a binario y usando las formulas para no quedarnos cortos en las previsiones.