Uma máscara de sub-rede, também conhecida como subnet mask ou netmask, é um número de 32 bits usado em um IP para separar a parte correspondente à rede pública, à sub-rede e aos hosts.[1]
Uma sub-rede é uma divisão de uma rede de computadores. A divisão de uma rede grande em menores resulta num tráfego de rede reduzido, administração simplificada e melhor performance de rede. No IPv4 uma sub-rede é identificada por seu endereço base e sua máscara de sub-rede.
Endereços de Rede e Endereços Lógicos
O termo endereço de rede pode tanto significar o endereço lógico, ou seja, o endereço da camada de rede – tal como o endereço IP, como o primeiro endereço (endereço base), de uma faixa de endereços reservada a uma organização.
Os computadores e dispositivos que compõem uma rede (tal como a Internet) possuem um endereço lógico. O endereço de rede é único e pode ser dinâmico ou estático. Este endereço permite ao dispositivo se comunicar com outros dispositivos conectados à rede. Para facilitar o roteamento os endereços são divididos em duas partes:
O endereço (número) da rede que identifica toda a rede/sub-rede: o endereço de todos os nós de uma sub-rede começam com a mesma sequência.
O endereço (número) do host que identifica uma ligação a uma máquina em particular ou uma interface desta rede.
Isto funciona de maneira semelhante a um endereço postal onde o endereço de rede representa a cidade e o endereço do host representa a rua. A máscara de sub-rede é usada para determinar que parte do IP é o endereço da rede e qual parte é o endereço do host.
Classes IPv4
Os endereços IPv4 consistem de endereços de 32 bits divididos em 4 octetos e uma máscara de sub-rede do mesmo tamanho. Há três tipos de redes "classful"
Classe
Bits iniciais
Início
Fim
Máscara de sub-rede padrão
Notação CIDR
A
0
1.0.0.1
126.255.255.254
255.0.0.0
/8
B
10
128.0.0.1
191.255.255.254
255.255.0.0
/16
C
110
192.0.0.1
223.255.255.254
255.255.255.0
/24
O primeiro octeto 127 não pertence à Classe A, pois é utilizado para LOOPBACK, quando ajustado o localhost para 127.0.0.0 e feito a operação do loopback realizando um ping em 127.0.0.1, que será o espelho da máquina que está gerando este ping.
Utiliza-se o loopback para testes de placas de rede e cabeamento entre o host e o switch. Portanto, a classe A vai de 1 a 126 no primeiro octeto. No primeiro octeto quando se define 127, é LOOPBACK para o endereço 127.0.0.1, com o localhost definido como 127.0.0.0 a classe B vai de 128 a 191 no primeiro octeto, a classe C vai de 192 a 223 no primeiro octeto; a classe D vai de 224 a 239 no primeiro octeto - classe restrita, reservada para Multicast; a classe E vai de 240 a 255 no primeiro octeto - classe restrita, reservada para pesquisas.
Uma rede "classful" é uma rede que possui uma máscara de rede 255.0.0.0 (classe A), 255.255.0.0 (classe B) ou 255.255.255.0 (classe C).
Máscaras de rede
A máscara de rede padrão acompanha a classe do endereço IP: num endereço de classe A, a máscara será 255.0.0.0, indicando que o primeiro octeto se refere à rede e os três últimos ao host. Num endereço classe B, a máscara padrão será 255.255.0.0, onde os dois primeiros octetos referem-se à rede e os dois últimos ao host, e num endereço classe C, a máscara padrão será 255.255.255.0 onde apenas o último octeto refere-se ao host.
Os 32 bits das máscaras de sub-rede são divididos em duas partes: um primeiro bloco de 1s, indicando a parte do endereço IP que pertence à rede, seguido por um bloco de 0s, indicando a parte que pertence ao host.
Normalmente, as máscaras de sub-rede são representadas com quatro números de 0 a 255
separados por pontos. A máscara 255.255.255.0 (ou, em binário, 11111111.11111111.11111111.00000000).
Embora normalmente as máscaras de sub-rede sejam representadas em notação decimal, é mais fácil entender seu funcionamento usando a notação binária. Para determinar qual parte de um endereço é o da rede e qual é o do host, um dispositivo deve realizar a operação AND.
Exemplo classfull
Endereço Decimal
Binário
Endereço completo
192.168.5.10
11000000.10101000.00000101.00001010
Máscara da sub-rede
255.255.255.0
11111111.11111111.11111111.00000000
Porção da rede
192.168.5.0
11000000.10101000.00000101.00000000
A porção da rede é o resultado de um AND entre o endereço da rede e a máscara.
As máscaras de sub-rede não precisam preencher um octeto ("byte"). Isto permite que uma rede “classfull” seja subdividida em sub-redes. Para criar uma sub-rede reserva-se alguns bits do host para a rede. O exemplo a seguir mostra como os bits podem ser "emprestados" para converter uma rede classfull em uma sub-rede.
Exemplo CIDR
Endereço Decimal
Binário
Endereço completo
192.168.5.130
11000000.10101000.00000101.10000010
Máscara de sub-rede
255.255.255.192
11111111.11111111.11111111.11000000
Porção da sub-rede
192.168.5.128
11000000.10101000.00000101.10000000
No exemplo dois bits foram emprestados da porção do host e usados para identificar a sub-rede.
IP
Prefixo da Rede
Número da sub-rede
Número do Host
11000000.10101000.00000101.10000010
11000000.10101000.00000101
10
000010
Para determinar o número de hosts/sub-redes disponíveis a partir de certa máscara de sub-rede devemos verificar o número de bits emprestados. No exemplo anterior, por exemplo, há 2 bits emprestados, logo há:
sub-redes disponíveis RFC 1812, já pela antiga RFC 950 o número de sub-redes seria 2. Isto se deve ao fato de que a RFC 950 (seção 2.1, página 5) não permite sub-redes com todos os bits em 1 ou em 0.