Espacio de direcciones público frente a privado
IP pública
192.0.2.10
única en el mundo, enrutable desde cualquier sitio
Rangos privados
no enrutables en internet público
Qué es CIDR: enrutamiento sin clases, prefijos y agregación
Una ruta como 203.0.113.0/24 parece una simple abreviatura, pero la idea que hay detrás alivió una crisis que, a principios de los años noventa, parecía destinada a estancar el crecimiento de internet. Este artículo explica por qué fracasó el direccionamiento original con clases, qué indica realmente un prefijo, cómo se fusionan en una sola ruta los bloques vecinos y por qué un router prefiere siempre la ruta más específica que conoce. Para la aritmética de dividir un bloque en subredes, la calculadora de subredes es más rápida que cualquier explicación; aquí nos centramos en cómo funciona el sistema y por qué.
El problema de las clases A, B y C
El plan original de IPv4, definido en la RFC 791, clasificaba las redes en clases según los bits iniciales de una dirección. Como relata la RFC 4632, la clase A admitía 128 redes de unos 16,7 millones de direcciones cada una, la clase B admitía 16 384 redes de 65 536 direcciones y la clase C admitía unos 2,1 millones de redes de 254 hosts utilizables. No había nada intermedio entre 254 y 65 534 hosts.
Una organización de tamaño medio se quedaba sin opciones. Una clase C era demasiado pequeña y una clase B demasiado grande para la mayoría de las organizaciones, pero la clase B era la que mejor se prestaba al uso de subredes, así que la demanda de números de clase B se disparó. En noviembre de 1991, la IETF creó el grupo ROAD (enrutamiento y direccionamiento). En enero de 1992 había identificado tres problemas: el espacio de clase B se estaba agotando, las tablas de enrutamiento crecían más allá de lo que podían gestionar el software, el hardware y los operadores, y el espacio de direcciones de 32 bits acabaría agotándose. Su trabajo dio lugar a la RFC 1338 y después a la RFC 1519 (septiembre de 1993).
CIDR, el enrutamiento entre dominios sin clases (Classless Inter-Domain Routing), se diseñó para aliviar los dos primeros problemas, no el tercero. La RFC 4632, la revisión de 2006, dice que el plan se concibió como una respuesta a corto plazo, de unos tres a cinco años, mientras se encontraba una solución a más largo plazo. Más de treinta años después sigue siendo la notación que usan los routers y las consolas de los proveedores de nube.
Qué indica un prefijo
En CIDR, un bloque de direcciones se escribe como una dirección, una barra y una longitud de prefijo: el número de bits iniciales que identifican la red. Los bits restantes identifican a los hosts dentro de ella. 192.0.2.0/24 fija 24 bits y deja 8, así que el bloque contiene 2^8 = 256 direcciones. Cada bit que se añade al prefijo divide el bloque a la mitad; cada bit que se quita lo duplica. Una red con clases era simplemente un bloque cuya longitud de prefijo venía impuesta por sus primeros bits, siempre /8, /16 o /24. CIDR eliminó esa imposición, de modo que a una organización que necesita unas mil direcciones se le puede asignar un /22, que contiene 1024, en lugar de una clase B.
| Prefijo | Direcciones | Uso típico |
|---|---|---|
/8 | 16 777 216 | El tamaño de la antigua clase A |
/16 | 65 536 | El tamaño de la antigua clase B |
/22 | 1024 | Un sitio de tamaño medio, un tamaño que el sistema de clases no podía expresar |
/24 | 256 | El tamaño de la antigua clase C y un tamaño habitual de LAN |
/30 | 4 | Un enlace punto a punto tradicional con 2 hosts utilizables |
/31 | 2 | Un enlace punto a punto según la RFC 3021, con las dos direcciones utilizables |
/32 | 1 | Un único host, o una ruta a exactamente una dirección |
Agregación: una ruta en lugar de muchas
La otra mitad del propósito de CIDR era el enrutamiento. Si un proveedor posee un bloque grande y reparte porciones a sus clientes, el resto de internet necesita una sola ruta al bloque completo en lugar de una por cliente. La RFC 4632 dice que los prefijos están pensados para seguir, a grandes rasgos, la topología subyacente de internet de modo que la agregación sea posible, y por eso se asignan por lo general siguiendo la línea proveedor-cliente.
La agregación solo funciona cuando los bloques están alineados. Dos bloques /24 contiguos se fusionan en un /23 únicamente si el primero empieza en un límite par. 192.168.0.0/24 y 192.168.1.0/24 se combinan en 192.168.0.0/23. 192.168.1.0/24 y 192.168.2.0/24 no pueden, porque ningún /23 empieza en 192.168.1.0. El bloque único más pequeño que cubre ambos es 192.168.0.0/22, que además incluye 192.168.0.0/24 y 192.168.3.0/24, direcciones que quizá no te pertenezcan. Esa regla de alineación es la razón práctica para repartir las direcciones en bloques de potencia de dos desde el principio de un plan de red.
Coincidencia más larga: por qué gana la ruta más específica
Cuando las rutas se solapan, el router necesita un criterio de desempate. La RFC 4632 establece que el reenvío en internet se realiza según la coincidencia más larga: de todas las rutas cuyo prefijo contiene el destino, se usa la que tiene el prefijo más largo. Supón que una tabla contiene 10.0.0.0/8 a través del router A, 10.1.0.0/16 a través del router B y 10.1.2.0/24 a través del router C.
- Un paquete para
10.1.2.9coincide con las tres rutas y sigue la /24 hacia C. - Un paquete para
10.1.9.9coincide con la /8 y la /16, y sigue la /16 hacia B. - Un paquete para
10.9.9.9coincide solo con la /8 y va a A.
La RFC 4632 (sección 5.1) añade dos reglas. Una red accesible a través de varios proveedores debe anunciar explícitamente su propio prefijo en lugar de quedar oculta dentro del agregado de un único proveedor. Y un router que genera un agregado debe descartar los paquetes que coinciden con el agregado pero con ninguna de sus rutas más específicas; de lo contrario, el tráfico destinado a partes inalcanzables del bloque puede entrar en bucle.
Detalles con los que todavía se tropieza
- Hosts utilizables. Un bloque de 2^(32−n) direcciones normalmente pierde dos: la dirección de red y la dirección de difusión. Por eso una /30 tiene dos hosts utilizables. La RFC 3021 permite prefijos /31 en enlaces punto a punto, donde las dos direcciones son utilizables.
- Los rangos privados también son bloques CIDR. La RFC 1918 reserva
10.0.0.0/8,172.16.0.0/12y192.168.0.0/16. El bloque intermedio abarca únicamente de172.16.0.0a172.31.255.255, así que una dirección como172.32.0.1es pública. - Subred cero. La RFC 950 (1985), escrita para la era de las clases, desaconsejaba asignar subredes cuyo campo de subred fuera todo ceros o todo unos. La RFC 1878 (1995) califica esa práctica de obsoleta, y el software moderno puede usar todas las subredes definibles.
- IPv6 usa una notación similar. La RFC 4291 exige identificadores de interfaz de 64 bits para todas las direcciones unicast excepto las que empiezan por el valor binario 000, de modo que una subred IPv6 ordinaria es una /64 y la planificación de direcciones se hace en los bits situados por encima.
Idea clave
La longitud de un prefijo indica cuántos bits iniciales corresponden a la red. Todo lo demás se deduce de ahí: bloques de cualquier tamaño que sea potencia de dos, agregación de vecinos alineados y reenvío según el prefijo coincidente más largo.
Fuentes y lecturas complementarias
- RFC 4632: Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan (Fuller and Li, 2006)
- RFC 1519: Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy (Fuller, Li, Yu and Varadhan, 1993)
- RFC 950: Internet Standard Subnetting Procedure (Mogul and Postel, 1985)
- RFC 1878: Variable Length Subnet Table For IPv4 (Pummill and Manning, 1995)
- RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links (Retana, White, Fuller and McPherson, 2000)
- RFC 1918: Address Allocation for Private Internets (Rekhter et al., 1996)
- RFC 4291: IP Version 6 Addressing Architecture (Hinden and Deering, 2006)
- Kevin R. Fall and W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols, 2nd edition (Addison-Wesley, 2011)
- Larry L. Peterson and Bruce S. Davie, Computer Networks: A Systems Approach (Morgan Kaufmann)
¿Necesitas comprobar las direcciones DNS públicas de un dominio? Usa la herramienta Domain IP Lookup.
Herramientas gratuitas sobre este tema
Preguntas frecuentes
Lecturas relacionadas
Espacio de direcciones público frente a privado
IP pública
192.0.2.10
única en el mundo, enrutable desde cualquier sitio
Rangos privados
no enrutables en internet público
Direcciones IP públicas frente a privadas: ¿cuál es la diferencia?
Tu dispositivo tiene dos direcciones a la vez, y solo una de ellas existe en internet. Aquí te explicamos por qué y qué significan los rangos reservados.
Dos esquemas de direccionamiento, en paralelo
IPv4
192.0.2.10
32 bits, ~4300 millones de direcciones, agotadas
IPv6
2606:4700::6810:84e5
128 bits, 340 sextillones de direcciones
El agotamiento de IPv4 y la lenta marcha hacia IPv6
El mundo se quedó sin direcciones IPv4 nuevas hace años. Esto es lo que ha mantenido todo en marcha desde entonces y por qué la transición sigue sin completarse.
Dos esquemas de direccionamiento, en paralelo
IPv4
192.0.2.10
32 bits, ~4300 millones de direcciones, agotadas
IPv6
2606:4700::6810:84e5
128 bits, 340 sextillones de direcciones
Qué es una dirección IP: IPv4 e IPv6 explicados sin rodeos
La etiqueta numérica que hay detrás de cada sitio web, servidor y teléfono de internet: qué significa, cómo leerla y por qué existen dos versiones incompatibles.