Escribe una dirección IP con su prefijo, como 192.168.1.10/24, o con su máscara, como 192.168.1.10 255.255.255.0, y la calculadora te da la red, la máscara, la dirección de difusión, el primer y el último equipo y cuántas direcciones caben. También la divide en subredes más pequeñas y funciona con IPv6. Todo se calcula en tu navegador.
Qué es cada dato
- Prefijo (/24): cuántos bits de la dirección identifican la red. El resto identifica a cada equipo. Con /24 son 24 bits de red y 8 de equipo: 28 = 256 direcciones.
- Máscara: el mismo prefijo escrito como dirección, con unos en los bits de red: /24 es 255.255.255.0. El comodín (wildcard) es al revés, 0.0.0.255, y lo usan las listas de acceso de algunos routers.
- Red: la primera dirección del bloque. En IPv4 no se asigna a ningún equipo.
- Difusión (broadcast): la última dirección del bloque, que llega a todos los equipos de la red. Tampoco se asigna. Por eso una red IPv4 tiene dos direcciones menos de las que caben: una /24 admite 254 equipos.
- /31 y /32: las excepciones. Una /31 tiene solo dos direcciones y se usa en enlaces entre dos routers, sin red ni difusión (RFC 3021). Una /32 es una sola dirección.
- IPv6: no hay difusión, así que se pueden usar todas las direcciones, y las redes locales son casi siempre /64. Un proveedor suele dar a cada cliente un /48 o un /56 para que lo divida en redes /64.
La calculadora también dice de qué tipo es la red: privada (10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16), compartida por los operadores (100.64.0.0/10, el CGNAT), de enlace local, de documentación, multidifusión o pública. Para entender cómo encajan las direcciones, los puertos y el NAT, lee nuestra guía de redes básicas.
Cómo se calcula a mano
Con 192.168.1.10/24: la dirección en binario, y la máscara, con 24 unos seguidos de 8 ceros. La red se obtiene con un Y lógico (AND) bit a bit entre las dos, que deja la parte de red y pone a cero la de equipo: 192.168.1.0. La difusión es lo contrario: la parte de red y la de equipo toda a unos: 192.168.1.255.
Para dividir, se alargan los bits de red. Una /24 partida en /26 da 226 − 24 = 4 subredes de 64 direcciones cada una: .0, .64, .128 y .192.
Calcular subredes en Python
Python lo trae de serie en el módulo ipaddress, para IPv4 e IPv6:
import ipaddress
red = ipaddress.ip_network("192.168.1.10/24", strict=False) # strict=False: admite una dirección de dentro
print(red) # la red
print(red.netmask, red.hostmask) # máscara y comodín
print(red.broadcast_address) # difusión
print(red.num_addresses - 2) # equipos utilizables
print(ipaddress.ip_address("192.168.1.77") in red)
print(red.is_private)
for subred in red.subnets(new_prefix=26): # dividir en cuatro /26
print(subred)
v6 = ipaddress.ip_network("2001:db8::1/64", strict=False)
print(v6, v6.num_addresses)$ python3 subredes.py192.168.1.0/24 255.255.255.0 0.0.0.255 192.168.1.255 254 True True 192.168.1.0/26 192.168.1.64/26 192.168.1.128/26 192.168.1.192/26 2001:db8::/64 18446744073709551616
Más herramientas para desarrolladores: el traductor de cron a español, el formateador de JSON, el decodificador de JWT y el conversor de fecha Unix. Todas, en decodigo.com/herramientas.
Rangos especiales: registro de direcciones IPv4 e IPv6 de usos especiales de la IANA, RFC 1918, RFC 3021 y RFC 5952 (forma corta de IPv6). Los cálculos se compararon con el módulo ipaddress de Python en 2,500 redes al azar de IPv4 e IPv6, con su división en subredes: coinciden en todas.