O que uma máscara de sub-rede faz
Uma máscara de sub-rede é um valor de 32 bits, do mesmo comprimento de um endereço IPv4, composto por uma sequência contígua de bits 1 seguida por uma sequência contígua de bits 0. Os bits 1 indicam quais bits do endereço identificam a rede à qual o endereço pertence, e os bits 0 indicam quais bits identificam um host específico dentro dessa rede. Aplicar um AND bit a bit entre um endereço IP e sua máscara remove os bits de host e deixa apenas o endereço de rede.
Por exemplo, a máscara 255.255.255.0 em binário é 11111111.11111111.11111111.00000000 -- 24 bits 1 seguidos por 8 bits 0 -- o que significa que os três primeiros octetos identificam a rede e o último octeto identifica os hosts individuais dentro dela, permitindo até 256 endereços (254 deles utilizáveis) nessa rede.
Notação CIDR: o que /24 realmente significa
O CIDR (Classless Inter-Domain Routing), especificado na RFC 4632, escreve a máscara de sub-rede como uma barra seguida pelo número de bits 1 iniciais, então /24 é o atalho para a máscara 255.255.255.0 e /26 é o atalho para 255.255.255.192. O CIDR substituiu o antigo sistema com classes, no qual o tamanho da rede era rigidamente fixado pelos primeiros bits do endereço (classe A, B ou C), pela flexibilidade de definir uma rede de quase qualquer tamanho, escolhendo qualquer comprimento de prefixo de /0 a /32.
O comprimento do prefixo determina diretamente tanto a máscara quanto o número de bits de host restantes: para um endereço IPv4 de 32 bits, bits de host = 32 − comprimento do prefixo. Uma rede /24 tem 8 bits de host (2⁸ = 256 endereços), uma rede /26 tem 6 bits de host (2⁶ = 64 endereços), e uma rede /30 tem 2 bits de host (4 endereços) -- quanto menor o número de bits de host, menor a rede.
Exemplo prático: 192.168.1.10/26
Considere o endereço 192.168.1.10 com um prefixo /26. Uma máscara /26 tem 26 bits 1, o que cobre todos os três primeiros octetos (24 bits) mais os 2 bits mais altos do quarto octeto, resultando na máscara 255.255.255.192 (192 em binário é 11000000). O quarto octeto do endereço, 10, é 00001010 em binário; aplicando o AND com o quarto octeto da máscara (11000000), zeram-se os 6 bits inferiores, restando 00000000 = 0, então o endereço de rede é 192.168.1.0.
Os 6 bits de host restantes no quarto octeto dão um bloco de tamanho 2⁶ = 64 endereços por sub-rede, então a sub-rede que contém .10 abrange os endereços de .0 a .63. O endereço de broadcast é o topo dessa faixa, 192.168.1.63 (todos os bits de host definidos como 1), e a faixa de hosts utilizáveis é tudo entre os endereços de rede e de broadcast: de 192.168.1.1 a 192.168.1.62 -- exatamente 2⁶ − 2 = 62 endereços de host utilizáveis.
Por que o subnetting existe
O subnetting foi padronizado na RFC 950 para resolver um problema prático: uma única rede plana com milhares ou milhões de dispositivos é ineficiente e frágil, porque todo dispositivo em um domínio de broadcast recebe todo pacote de broadcast enviado dentro dele, e uma falha ou uma tempestade de broadcast em um segmento pode afetar toda a rede. Dividir um grande bloco de endereços em sub-redes menores confina o tráfego de broadcast a cada sub-rede e permite que uma rede seja organizada em torno de limites físicos ou organizacionais -- um andar, um departamento, um rack de data center -- em vez de um único conjunto indiviso de endereços.
O subnetting também favorece a conservação de endereços e a eficiência do roteamento: uma organização pode dimensionar cada sub-rede para corresponder aproximadamente ao número de dispositivos que ela realmente precisa (um link ponto a ponto /30 entre dois roteadores não precisa consumir 254 endereços como uma rede de escritório /24 consumiria), e os prefixos de comprimento variável do CIDR permitem que os roteadores agreguem muitas sub-redes pequenas em uma única entrada na tabela de roteamento, evitando que as tabelas de roteamento em escala de internet cresçam de forma incontrolável, como descrito na RFC 4632.
Tabela de referência de prefixos CIDR
A tabela abaixo lista os comprimentos de prefixo CIDR mais comuns, com suas máscaras de sub-rede em notação decimal com pontos e o número resultante de endereços de host utilizáveis, seguindo as regras padrão de contagem de hosts do CIDR, nas quais os endereços de rede e de broadcast são reservados e não podem ser atribuídos a um dispositivo.
| Prefixo | Máscara de sub-rede | Hosts utilizáveis |
|---|---|---|
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 |
Perguntas frequentes
O que é uma máscara de sub-rede?
Uma máscara de sub-rede é um valor de 32 bits composto por uma sequência contígua de bits 1 seguida por uma sequência contígua de bits 0, usada para dividir um endereço IPv4 em uma parte de rede e uma parte de host. Aplicar um AND bit a bit entre um endereço e sua máscara resulta no endereço de rede; a máscara 255.255.255.0, por exemplo, marca os primeiros 24 bits como a parte de rede e os últimos 8 bits como a parte de host.
O que significa /24 em um endereço IP?
O /24 na notação CIDR significa que os primeiros 24 dos 32 bits do endereço identificam a rede, equivalente à máscara de sub-rede 255.255.255.0. Os 8 bits restantes identificam hosts individuais dentro dessa rede, dando 2⁸ = 256 endereços no total, dos quais 254 são utilizáveis depois de reservar os endereços de rede e de broadcast.
Como encontro o endereço de rede e de broadcast para 192.168.1.10/26?
Uma máscara /26 é 255.255.255.192, deixando 6 bits de host no último octeto e um bloco de tamanho 2⁶ = 64 endereços. Como 10 está dentro do bloco 0-63, o endereço de rede é 192.168.1.0 (todos os bits de host zerados) e o endereço de broadcast é 192.168.1.63 (todos os bits de host definidos como 1); a faixa de hosts utilizáveis é de 192.168.1.1 a 192.168.1.62, ou seja, 62 endereços.
Por que o subnetting existe?
O subnetting divide uma rede grande em segmentos menores e gerenciados de forma independente, o que limita até onde o tráfego de broadcast se espalha, isola falhas e tráfego indesejado a uma parte menor da rede, e permite que o espaço de endereços seja alocado de forma a corresponder aproximadamente ao número real de dispositivos, em vez de desperdiçar grandes blocos em links pequenos. Também permite que os roteadores agreguem muitas sub-redes pequenas em menos entradas na tabela de roteamento, o que é essencial para escalar o roteamento da internet.
Quantos hosts utilizáveis existem em uma rede /26?
62. Um prefixo /26 deixa 6 bits de host (32 − 26 = 6), dando 2⁶ = 64 endereços no total na sub-rede. Desses, o endereço com todos os bits zerados é reservado como endereço de rede e o endereço com todos os bits em 1 é reservado como endereço de broadcast, restando 2⁶ − 2 = 62 endereços que podem ser atribuídos a dispositivos.
Qual é a diferença entre o CIDR e o antigo sistema de endereçamento com classes?
O endereçamento com classes fixava o tamanho da rede em uma de poucas opções rígidas (classe A, B ou C) com base nos primeiros bits de um endereço, o que desperdiçava grandes quantidades de espaço de endereços em organizações que precisavam de algo entre os tamanhos fixos. O CIDR, especificado na RFC 4632, substituiu isso por prefixos de comprimento variável escritos em notação de barra (por exemplo, /24, /26), permitindo que uma rede fosse dimensionada para quase qualquer limite de potência de dois e permitindo que os roteadores agregassem múltiplas redes em menos entradas na tabela de roteamento.
Referências
- Mogul J, Postel J. Internet Standard Subnetting Procedure. RFC 950, IETF, 1985.
- Fuller V, Li T. Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. RFC 4632, IETF, 2006.
- Postel J. Internet Protocol. RFC 791, IETF, 1981.
- Rekhter Y, Moskowitz B, Karrenberg D, de Groot GJ, Lear E. Address Allocation for Private Internets. RFC 1918, IETF, 1996.