Com o CIDR, classes de endereços (Classe A, B, e C) tornaram-se sem sentido. O endereço de rede não é mais determinado pelo valor do primeiro octeto, mas atribuído pela máscara de sub-rede. O número de hosts em uma rede pode, agora, ser atribuído por um prefixo específico, dependendo do número de servidores necessários para essa rede. Em suma, as faixas de endereços não precisam mais iniciar com determinados números. Uma faixa com máscara /24 (equivalente a uma faixa de endereços de classe C) pode começar com qualquer dígito e não apenas com de 192 a 223.
CIDR usa VLSM (Variable Length Sub Mask – máscaras de tamanho variável) para alocar endereços IP para sub-redes de acordo com a necessidade, em vez de uma classe, o que permite uma flexibilidade muito maior na criação das faixas de endereços. Como já visto, VLSM permite dividir em sub-redes e por sua vez dividir novamente.
Se são necessários apenas 1000 endereços, por exemplo, poderia ser usada uma máscara /22 (que permite o uso de 1022 endereços), em vez de uma faixa de classe B inteira, como seria necessário antigamente.
Propagar supernets CIDR ou sub-redes VLSM requer um protocolo de roteamento sem classes. Um protocolo de roteamento sem classes inclui a máscara de sub-rede, juntamente com o endereço de rede na atualização de roteamento.