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]

Os números de rede e de host para as classes A, B e C a partir de seu IP.

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

editar

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

editar

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

editar
 
Máscaras de Rede para as classes A, B e C classfull.

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.

As quatro sub-redes são:

  • 11000000.10101000.00000101.00000000 = 192.168.5.0
  • 11000000.10101000.00000101.01000000 = 192.168.5.64
  • 11000000.10101000.00000101.10000000 = 192.168.5.128, sendo que o endereço IP 192.168.5.130 encontra-se nessa sub-rede;
  • 11000000.10101000.00000101.11000000 = 192.168.5.192

Referências

  1. «RFC 1918 - Address Allocation for Private Internets». tools.ietf.org. Consultado em 18 de agosto de 2012 

Ver também

editar

Ligações externas

editar