Classless Inter-Domain Routing o CIDR (en español «enrutamiento entre dominios sin clases») se introdujo en 1993 por IETF y representa la última mejora en el modo de interpretar las direcciones IP.
[1] Su introducción permitió una mayor flexibilidad al dividir rangos de direcciones IP en redes separadas.
Decimos que una dirección IP está incluida en un bloque CIDR, y que encaja con el prefijo CIDR, si los N bits iniciales de la dirección y el prefijo son iguales.
Por tanto, para entender CIDR es necesario visualizar la dirección IP en binario.
Una dirección IP puede encajar en varios prefijos CIDR de longitudes diferentes.
Todos estos prefijos CIDR se utilizaron en diferentes enrutadores para realizar el encaminamiento.
Este proceso puede ser recursivo, dividiendo una parte del espacio de direcciones en porciones cada vez menores, usando máscaras que cubren un mayor número de bits.
El usuario normal no ve este uso puesto en práctica, al estar en una red en la que se usarán, por lo general, direcciones de red privadas recogidas en el RFC 1918.
La dirección menor o más baja del bloque, todos los bits de host a 0, se usa para identificar a la propia red —toda la red— y la dirección mayor o más alta, todos los bits de host a 1, se usa como dirección de broadcast.
Esto no representaba un gran problema en la Internet original, donde solo había unas decenas/cientos de ordenadores, y los routers podían almacenar en memoria todas las rutas necesarias para alcanzarlos.
A medida que la red TCP/IP experimental se expandió en los años 80 para formar Internet, el número de ordenadores con dirección IP pública creció exponencialmente, forzando a los enrutadores a incrementar la memoria necesaria para almacenar las tablas de rutas, y los recursos necesarios para mantener y actualizar esas tablas.
Esta situación condujo al desarrollo sucesivo de las subredes y CIDR.