Domain IP Lookup

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

10.0.0.0/8172.16.0.0/12192.168.0.0/16

no enrutables en internet público

Fundamentos de DNS

Qué es CIDR: enrutamiento sin clases, prefijos y agregación

6 min de lectura

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.

PrefijoDireccionesUso típico
/816 777 216El tamaño de la antigua clase A
/1665 536El tamaño de la antigua clase B
/221024Un sitio de tamaño medio, un tamaño que el sistema de clases no podía expresar
/24256El tamaño de la antigua clase C y un tamaño habitual de LAN
/304Un enlace punto a punto tradicional con 2 hosts utilizables
/312Un enlace punto a punto según la RFC 3021, con las dos direcciones utilizables
/321Un ú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.9 coincide con las tres rutas y sigue la /24 hacia C.
  • Un paquete para 10.1.9.9 coincide con la /8 y la /16, y sigue la /16 hacia B.
  • Un paquete para 10.9.9.9 coincide 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/12 y 192.168.0.0/16. El bloque intermedio abarca únicamente de 172.16.0.0 a 172.31.255.255, así que una dirección como 172.32.0.1 es 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

¿Necesitas comprobar las direcciones DNS públicas de un dominio? Usa la herramienta Domain IP Lookup.

Herramientas gratuitas sobre este tema

Preguntas frecuentes