Verificador IP/Subred
Verificar si una IP pertenece a una subred
Los resultados del análisis aparecerán aquí.
Ingrese direcciones IP y bloques CIDR, luego haga clic en 'Analizar'.
La verificacion de subred determina si una direccion IP pertenece a un bloque CIDR dado -- una operacion fundamental para firewalls, VPNs y listas de control de acceso.
Que es la verificacion de subred?
La verificacion de subred (tambien llamada prueba de pertenencia a subred o verificacion IP-en-CIDR) responde a una pregunta simple pero critica: una direccion IP dada, pertenece a un bloque CIDR especifico? Esta operacion es uno de los componentes fundamentales mas importantes en redes, utilizada miles de millones de veces por segundo en todo internet por cada firewall, router y balanceador de carga que procesa trafico.
Cuando un paquete llega a un firewall, el dispositivo debe decidir si la IP de origen o destino coincide con alguna de sus reglas. Cada regla tipicamente especifica un bloque CIDR (por ejemplo, “permitir trafico desde 10.0.0.0/8”). El firewall realiza una verificacion de pertenencia a subred para cada paquete contra cada regla relevante para determinar si permite, deniega o enruta el trafico.
La operacion es computacionalmente trivial — requiere una sola operacion AND a nivel de bits — pero su importancia para la seguridad y el enrutamiento de redes no puede subestimarse.
Enmascaramiento AND binario
La operacion matematica detras de la verificacion de subred es un AND a nivel de bits entre la direccion IP y la mascara de subred. Si el resultado es igual a la direccion de red del bloque CIDR, la IP pertenece a esa subred.
Este es el proceso paso a paso para verificar si 192.168.1.50 pertenece a 192.168.1.0/24:
-
Convertir la IP a binario:
- 192.168.1.50 =
11000000.10101000.00000001.00110010
- 192.168.1.50 =
-
Determinar la mascara de subred a partir de la longitud del prefijo:
- /24 =
11111111.11111111.11111111.00000000(255.255.255.0)
- /24 =
-
Realizar AND a nivel de bits:
11000000.10101000.00000001.00110010(IP)11111111.11111111.11111111.00000000(mascara)- =
11000000.10101000.00000001.00000000= 192.168.1.0
-
Comparar con la direccion de red:
- El resultado (192.168.1.0) es igual a la direccion de red (192.168.1.0)
- La IP esta en la subred.
Ahora verifiquemos 10.0.0.1 contra 192.168.0.0/16:
- Convertir: 10.0.0.1 =
00001010.00000000.00000000.00000001 - Mascara: /16 =
11111111.11111111.00000000.00000000 - AND: =
00001010.00000000.00000000.00000000= 10.0.0.0 - Comparar: 10.0.0.0 no es igual a 192.168.0.0 — la IP NO esta en la subred.
Esta operacion se ejecuta en tiempo constante O(1) independientemente del tamano del bloque CIDR, razon por la cual escala a miles de millones de verificaciones por segundo en hardware moderno.
En codigo
La mayoria de los lenguajes de programacion proporcionan bibliotecas para la verificacion de subred, pero la logica central es simple:
function isInSubnet(ip, cidr):
networkAddress = cidr.baseAddress
prefixLength = cidr.prefix
mask = (0xFFFFFFFF << (32 - prefixLength)) & 0xFFFFFFFF
return (ip & mask) == (networkAddress & mask)
En JavaScript, Python, Go y la mayoria de los otros lenguajes, esto se reduce a una sola linea una vez que las direcciones se convierten en enteros de 32 bits.
Casos de uso comunes
- Reglas de firewall: Cada regla de entrada y salida en un firewall realiza verificaciones de pertenencia a subred para determinar si el trafico debe permitirse, denegarse o registrarse
- Tunelizacion dividida de VPN: Los clientes VPN verifican las IPs de destino contra una lista de bloques CIDR para decidir si el trafico debe pasar por el tunel o directamente a internet
- Listas de control de acceso (ACL): Los routers y switches utilizan ACLs con reglas basadas en CIDR para filtrar trafico en el borde de la red y entre VLANs
- Grupos de seguridad en la nube: Los grupos de seguridad de AWS, Azure y GCP evaluan reglas CIDR para controlar el trafico de entrada y salida de maquinas virtuales y contenedores
- Limitacion de tasa: Las puertas de enlace de API frecuentemente aplican diferentes limites de tasa segun si la IP del cliente cae dentro de un bloque CIDR confiable (interno) o un rango externo
- Restriccion geografica: Las redes de distribucion de contenido verifican las IPs de los clientes contra bloques CIDR a nivel de pais publicados por los Registros Regionales de Internet para aplicar politicas de contenido geografico
- Diagnostico de redes: Cuando un dispositivo no puede alcanzar un destino, verificar si la IP objetivo cae dentro de la subred local ayuda a determinar si el problema es de enrutamiento o una mala configuracion local
Prueba estos ejemplos
La direccion 192.168.1.50 se encuentra dentro del rango 192.168.1.0-192.168.1.255 definido por el bloque /24. Al aplicar la mascara de subred 255.255.255.0 a ambas direcciones se obtiene la misma direccion de red: 192.168.1.0.
192.168.1.50 in 192.168.1.0/24 La direccion 10.0.0.1 no pertenece al bloque 192.168.0.0/16 (192.168.0.0-192.168.255.255). Los primeros octetos difieren completamente -- 10 vs 192 -- por lo que la prueba AND a nivel de bits falla inmediatamente.
10.0.0.1 in 192.168.0.0/16