Subredes y CIDR explicados: prefijos, máscaras y hosts utilizables
Una dirección de red, por sí sola, no dice lo grande que es la red. La notación CIDR añade ese dato: 192.168.1.0/24 significa «la red que empieza en 192.168.1.0, en la que los primeros 24 bits son la red y el resto numera los dispositivos que hay en ella». Cuando sabes leer ese número, las máscaras de subred, el recuento de hosts y los planes de direccionamiento dejan de ser una cuestión de adivinar. Esta guía explica la notación, los tamaños habituales y cómo dividir una red en varias.
Qué significa el número que sigue a la barra
Una dirección IPv4 tiene 32 bits. La longitud del prefijo —el número que sigue a la barra— indica cuántos de esos bits, contados desde la izquierda, identifican la red. Los bits restantes identifican un dispositivo dentro de ella.
/2424 bits de red, 8 bits de host: 2⁸ = 256 direcciones./2626 bits de red, 6 bits de host: 2⁶ = 64 direcciones./1616 bits de red, 16 bits de host: 65.536 direcciones.
Cada unidad que sube o baja el prefijo divide la red a la mitad o la duplica: un /25 es la mitad de un /24, y un /23 son dos /24 contiguos.
Antes de CIDR, las redes tenían tres tamaños fijos: clase A, B y C, equivalentes a /8, /16 y /24. CIDR sustituyó esas clases en 1993 para que las redes pudieran tener cualquier tamaño. Eso frenó el agotamiento de las direcciones IPv4 y permitió a los proveedores anunciar al resto de internet muchas redes pequeñas como un único bloque mayor.
Máscaras de subred: lo mismo, escrito de forma completa
Una máscara de subred es la longitud del prefijo escrita como una dirección: bits a uno para la parte de red y bits a cero para la parte de host. Un /24 son 24 unos seguidos de 8 ceros, es decir, 255.255.255.0. Los equipos más antiguos y muchos ajustes de los sistemas operativos piden la máscara; los más recientes aceptan el prefijo. Significan exactamente lo mismo.
Algunas configuraciones de routers y cortafuegos usan en su lugar una máscara comodín (wildcard), que es la máscara invertida: 0.0.0.255 para un /24.
Los tamaños habituales
| Prefijo | Máscara de subred | Direcciones | Hosts utilizables |
|---|---|---|---|
/8 | 255.0.0.0 | 16.777.216 | 16.777.214 |
/16 | 255.255.0.0 | 65.536 | 65.534 |
/20 | 255.255.240.0 | 4.096 | 4.094 |
/22 | 255.255.252.0 | 1.024 | 1.022 |
/23 | 255.255.254.0 | 512 | 510 |
/24 | 255.255.255.0 | 256 | 254 |
/25 | 255.255.255.128 | 128 | 126 |
/26 | 255.255.255.192 | 64 | 62 |
/27 | 255.255.255.224 | 32 | 30 |
/28 | 255.255.255.240 | 16 | 14 |
/29 | 255.255.255.248 | 8 | 6 |
/30 | 255.255.255.252 | 4 | 2 |
/31 | 255.255.255.254 | 2 | 2 (solo enlaces punto a punto) |
/32 | 255.255.255.255 | 1 | 1 (un único host) |
Por qué faltan dos direcciones
En toda subred IPv4 hasta /30 hay dos direcciones que no pueden asignarse a un dispositivo. La primera, con todos los bits de host a cero, es la dirección de red: el nombre de la propia subred. La última, con todos los bits de host a uno, es la dirección de difusión (broadcast): un paquete enviado a ella llega a todos los dispositivos de la subred.
Toma 192.168.10.34/26. El /26 deja 6 bits de host, así que la subred contiene 64 direcciones:
192.168.10.0Dirección de red.192.168.10.1Primer host utilizable.192.168.10.62Último host utilizable.192.168.10.63Dirección de difusión.
Hay dos tamaños que son la excepción. Un /31 solo tiene dos direcciones, y en un enlace entre dos routers pueden usarse ambas, porque ese enlace no necesita dirección de red ni de difusión. Un /32 es una sola dirección, que se usa para una ruta hacia un único host o para una regla de cortafuegos que coincida exactamente con una máquina.
Cómo dividir una red en subredes
Para dividir una red, desplaza el prefijo hacia la derecha. Cada bit que tomas prestado de la parte de host duplica el número de subredes y reduce a la mitad el tamaño de cada una.
Supón que tienes 192.168.0.0/24 y necesitas ocho redes separadas. Ocho es 2³, así que tomas prestados tres bits: 24 + 3 = /27. Cada /27 contiene 32 direcciones, 30 de ellas utilizables, y cada 32 direcciones empieza una nueva:
192.168.0.0/27Hosts del .1 al .30.192.168.0.32/27Hosts del .33 al .62.192.168.0.64/27Hosts del .65 al .94, y así sucesivamente hasta 192.168.0.224/27.
Y en sentido inverso: para que quepan 50 dispositivos necesitas al menos 52 direcciones, es decir, los 50 más las direcciones de red y de difusión. La potencia de dos más pequeña que cubre esa cifra es 64, un /26, con 62 hosts utilizables. Deja margen para crecer: una red que hoy está justo llena se quedará pequeña el año que viene.
La calculadora hace ambas cosas: divide una red base en un número dado de subredes o encuentra el prefijo adecuado para un número dado de hosts.
CIDR en IPv6
IPv6 usa la misma notación con barra, pero en la práctica los tamaños son distintos. El tamaño estándar de una red es un /64: 64 bits para la red y 64 para los dispositivos que hay en ella —unos 18 trillones de direcciones—. La configuración automática de direcciones depende de esa división, así que las redes IPv6 no se hacen más pequeñas para ahorrar espacio.
Los proveedores dan a cada cliente un bloque de varios /64 para que lo reparta. Un /56, habitual en hogares, contiene 256; un /48, habitual en empresas, contiene 65.536. IPv6 no tiene difusión, así que no se reserva ninguna dirección para ella.
Preguntas frecuentes
¿192.168.1.0/24 es lo mismo que 192.168.1.0 con la máscara 255.255.255.0?
Sí. El prefijo y la máscara son dos formas de escribir el mismo tamaño.
¿Por qué no puedo usar 192.168.1.0 ni 192.168.1.255 para un dispositivo en un /24?
Son las direcciones de red y de difusión de esa subred. Algunos dispositivos las aceptan de todos modos, pero el tráfico hacia y desde ellas se comporta de forma impredecible.
¿Qué significa 0.0.0.0/0?
Todas las direcciones IPv4: un prefijo de cero bits coincide con todo. Así se escriben la ruta predeterminada y las reglas de cortafuegos de tipo «permitir desde cualquier lugar». El equivalente en IPv6 es ::/0.
¿Un número de prefijo mayor significa una red más grande?
No, al contrario. Un /28 es mucho más pequeño que un /24: cuanto mayor es el prefijo, menos bits quedan para los hosts.