← Voltar ao blog

O que é um bloco CIDR? Notação explicada

O que é um bloco CIDR? Notação explicada

Um bloco CIDR é uma faixa de endereços IP escrita como um endereço base e um comprimento de prefixo, como 192.168.1.0/24, em que o número após a barra indica quantos bits iniciais são fixos para identificar a rede. CIDR significa Classless Inter-Domain Routing, e é assim que as redes são descritas em tabelas de roteamento, regras de firewall e grupos de segurança na nuvem.

Como ler a notação CIDR

Um endereço IPv4 tem 32 bits. Em 192.168.1.0/24, o /24 significa que os primeiros 24 bits são a parte de rede e os 8 bits restantes ficam livres para identificar hosts dentro dela. Esses 8 bits livres dão 2^8 = 256 endereços, indo de 192.168.1.0 a 192.168.1.255. A regra vale para qualquer prefixo: o tamanho do bloco é 2 elevado a (32 menos o comprimento do prefixo).

  • /8 fixa um octeto e contém 16.777.216 endereços, por exemplo 10.0.0.0/8.
  • /16 fixa dois octetos e contém 65.536 endereços, por exemplo 172.16.0.0/16.
  • /24 contém 256 endereços, e /32 é exatamente um endereço.
  • /0 é todo endereço, que você verá como 0.0.0.0/0, significando "qualquer lugar" em regras de firewall.

A forma mais antiga, a máscara de sub-rede, diz a mesma coisa. Um /24 equivale a 255.255.255.0, um /16 equivale a 255.255.0.0 e /20 equivale a 255.255.240.0. No IPv6, a mesma ideia se aplica a 128 bits, então 2001:db8::/32 fixa os primeiros 32 bits.

Por que o CIDR substituiu o endereçamento por classes

Antes do CIDR, os endereços eram divididos em classes fixas: A, B e C, com prefixos /8, /16 e /24. Uma organização que precisasse de 2.000 endereços tinha de pegar uma classe B com 65.536, desperdiçando a maior parte, ou várias classes C, inflando as tabelas de roteamento. O CIDR permite qualquer comprimento de prefixo, de modo que um /21 (2.048 endereços) pode ser alocado com precisão. Ele também permite resumir blocos vizinhos: dois /24 adjacentes alinhados em uma fronteira podem ser anunciados como um único /23, o que mantém menores as tabelas de roteamento globais.

Alinhamento e endereços utilizáveis

Um bloco deve começar em uma fronteira compatível com seu tamanho. Um /24 deve começar em um endereço cujo último octeto seja 0; um /22 deve começar em um múltiplo de 4 no terceiro octeto, como 10.0.4.0/22. Por isso 10.0.3.0/22 não é válido: não está alinhado, e as ferramentas o rejeitarão ou o normalizarão silenciosamente para a fronteira real. Em sub-redes comuns, o primeiro endereço identifica a rede e o último é o endereço de broadcast, então um /24 oferece 254 endereços de host utilizáveis. Provedores de nuvem costumam reservar vários outros por sub-rede, então confira as regras deles antes de dimensionar.

Onde você encontra o CIDR na prática

Firewalls e listas de permissão são o caso mais comum. Permitir 203.0.113.0/24 autoriza 256 endereços com uma única entrada. O perigo é ser amplo demais: um /16 onde se pretendia um /24 pode permitir dezenas de milhares de hosts sem relação. Quando você só conhece um único IP, encontrar o bloco ao redor é uma etapa de pesquisa, e parte dela pode ser feita com o ipto. O diretório de faixas de IP permite navegar pelo espaço de endereços por bloco /8 e /16, com detalhamento de país e ASN para cada um. A consulta de ASN mostra as faixas atribuídas a uma rede, e a consulta whois de IP retorna o bloco registrado via RDAP, que informa a faixa exata que uma organização detém.

As faixas reservadas também são expressas em CIDR. Espaço privado como 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16, loopback 127.0.0.0/8 e link-local 169.254.0.0/16 nunca deveriam aparecer como origens públicas. O verificador de IP bogon informa se um endereço cai em uma delas, e a consulta de IP do ipto retorna os campos bogon e bogon_type com o mesmo propósito.

O resumo também funciona ao contrário: para ver se duas faixas podem ser unidas, verifique se têm o mesmo tamanho, se são adjacentes e se a primeira começa em uma fronteira do bloco combinado. Se qualquer condição falhar, você precisa de duas entradas em vez de uma.

Erros comuns

  • Confundir o endereço base com um host. 192.168.1.0/24 descreve a rede, não um dispositivo.
  • Bloquear uma faixa inteira por causa de um endereço. Um único host abusivo em um bloco de hospedagem compartilhada não torna hostil o /24 ao redor, e bloqueá-lo pode atingir clientes inocentes.
  • Esquecer o IPv6. Uma regra escrita apenas para faixas IPv4 deixa o tráfego IPv6 sem filtragem.

Para uma verificação rápida, conte os bits de host, eleve 2 a essa potência e compare com o que você esperava. A documentação da API mostra como obter dados de faixas programaticamente.

Respostas diretas

O /24 significa que os primeiros 24 bits do endereço IPv4 identificam a rede, deixando 8 bits para hosts. Isso dá 256 endereços, como 192.168.1.0 a 192.168.1.255.
Subtraia o comprimento do prefixo de 32 para IPv4 e eleve 2 a essa potência. Um /28 tem 2^4 = 16 endereços, e um /20 tem 2^12 = 4.096 endereços.
Descrevem a mesma fronteira de formas diferentes: o CIDR usa um comprimento de prefixo como /24, enquanto a máscara de sub-rede o escreve como 255.255.255.0. A notação CIDR é mais curta e também funciona para IPv6.
← Voltar ao blog