Máscara de sub-rede (subnet mask)

Responsável por identificar cada valor dentro de um endereço IP, como endereço da rede, endereço de sub-rede e endereço da máquina hospedeira.

Categoria de Tecnologia

Postado em 26 abril 2022

Atualizado em 15 julho 2023

Palavras-chave: internet,rede,endereço,ip,address,sub,network

Visualizações: 1211

A internet é uma grande rede mundial de computadores interconectados. Ela é muitas vezes chamada de rede pública, pois qualquer dispositivo com um endereço IP público pode acessar o seu conteúdo. Usuários ordinários que querem acessar a internet da sua própria casa, devem obter um endereço público através de um provedor de internet (ISP).

Basicamente, um usuário quer conectar múltiplos dispositvos com a “internet” que ele comprou do provedor, como celular, computador e videogame. Para disponibilizar internet para múltiplos dispositivos usando um único endereço IP público, o usuário deve adquirir um roteador.

Após adquirir o roteador e conectar múltiplos dispositivos nele, o usuário estará estabelecendo uma rede privada, que pode ser considerada uma sub-rede da internet.

Uma pequena introdução da máscara de sub-rede e o endereço IP?

A máscara de sub-rede (subnet mask) é um valor usado para segregar o endereço de rede e o endereço do hospedeiro (host). Um endereço IP possui dois valores:

  • Valor para identificação de rede
  • Valor para identificação do hospedeiro

O IPv4 (versão atual do endereço IP) é usado para definir o endereço lógico de uma máquina conectada em uma rede. Ao todo o endereço IPv4 possui 32 bits que são separados em quatro octetos. Um octeto tem 8 bits, podendo ser representado como 1 byte.

192.168.11.2

O endereço IP acima é um exemplo de endereço IP privado. Cada número entre os pontos pode ter um valor máximo de 255 (8 bits). Pelo fato do zero também poder ser contado, cada octeto possui 256 variações disponíveis.

O endereço acima, em sua forma binária, pode ser representado da seguinte maneira:

 11000000.10101000.00001011.00000010

Como explicado anteriormente, existem 8 bits entre os pontos. A contagem é feita na ordem crescente da direita para a esquerda com valores que serão duplicados a cada intervalo.

1, 2, 4, 8, 16, 32, 64, 128 = 255

Normalmente, cada octeto é representado com um valor decimal. Porém, a interpretação binária do endereço IP é importante para definir qual porção pertence à rede e qual porção pertence ao hospedeiro.

O que é uma sub-rede (subnet)?

Uma sub-rede é uma porção de uma rede que foi divida em múltiplas redes. Por exemplo, uma rede privada (LAN) pode ser divida em sub-redes, para melhorar o desempenho da rede caso hajam muitas máquinas conectadas em um mesmo roteador.

exemplo de sub-rede

Em uma rede privada usada em residências, essa prática não é comum. Porém, em escritórios ou outras empresas comerciais que possuem uma grande quantidade de dispositivos conectados com a mesma rede, essa prática pode ser eficiente. Além de aumentar a eficiência de comunicação, também melhora o gerenciamento de máquinas hospedeiras e redes.

Qual a quantidade máxima de hospedeiros que podem se conectar com a sub-rede?

A quantidade máxima de hospedeiros que podem se conectar com a rede depende da classe da rede. Conforme o RFC 1918, a autoridade de atribuição de números da internet (IANA) reservou os seguintes endereços para redes privadas:

Classe Faixa
A 10.0.0.0 ~ 10.255.255.255
B 172.16.0.0 ~ 172.31.255.255
C 192.168.0.0 ~ 192.168.255.255

A rede de classe A é a rede com maior capacidade de máquinas que podem se conectar com a rede, podendo abrigar até 16,777,216 máquinas hospedeiras. A rede de classe B tem capacidade de conectar até 65,536 máquinas hospedeiras e a rede de classe C tem capacidade de conectar até 256 máquinas.

Pelo fato de cada octeto ter um valor máximo 256 variações, é possível calcular o número de máquinas hospedeiras apenas multiplicando esses números. No caso da classe A, o primeiro octeto é reservado para identificar a rede. Os outros 3 octetos são usados para identificar cada a máquina hospedeira.

  • 2322^{32} - 282^{8} = 2242^{24}

O IPv4 possui um tamanho de 32 bits. Sendo que 8 bits são reservados para identificação de rede, sobram 24 bits para identificar cada máquina. Nas redes de classe B e C, a lógica é a mesma:

Classe Bits
A 2242^{24}
B 2162^{16}
C 282^{8}

A rede de classe C é usada em redes locais de pequeno porte, como escritórios e residências. As outras classes podem ser usadas em locais que necessitam de mais máquinas conectadas com a rede, como redes de banco, aeroporto e empresas de grande porte.

classes da sub-rede

Divisão de rede em sub-redes

Independente da classe de rede, uma rede ainda pode ser divida em sub-redes. Nesse caso, um porção do endereço IP deve ser atribuído para a sub-rede, consequentemente diminuindo o número de dispositivos que podem se conectar com a rede.

bits da sub-rede em um endereço IPv4

No caso do exemplo acima, o endereço pode ser classificado como uma rede de classe B. A princípio, dos 32 bits, metade era reservado para identificação da rede, sobrando 16 bits para identificação de máquinas que poderiam se conectar com a rede.

Com a implantação da sub-rede, apenas 8 bits restaram para a identificação de máquinas hospedeiras, ou seja, 1 byte. Os outros 24 bits (3 bytes) são reservados para identificação da rede. A máscara de sub-rede mostra qual porção do endereço IP pertence à rede e qual porção pertence à cada máquina hospedeira. Nesse caso, a máscara de sub-rede pode ser representada da seguinte maneira:

255.255.255.0

Os três octetos (bytes) serão todos uns. Apenas o último octeto terá todos os bits zerados.

O que é a máscara de sub-rede?

A máscara de sub-rede é usada para identificar a porção de rede de um endereço IP. A identificação é feita através de uma multiplicação dos bits do endereço IP com os bits da máscara de sub-rede.

Por exemplo, imagine o endereço IP 192.168.1.2 e uma máscara de sub-rede com valor de 255.255.255.0. Esses valores estão sendo exibidos em numeração decimal. Para a multiplicação ser efetuada com sucesso, eles devem ser convertidos em números binários.

192.168.1.2 = 11000000.10101000.00000001.00000010
255.255.255.0 = 11111111.11111111.11111111.00000000

O resultado da multiplicação dos valores binários acima será o seguinte:

11000000.10101000.00000001.00000000

É possível observar que apenas o último octeto será zerado. Logo, o resultado em valor decimal será 192.168.1.0. Essa porção será o endereço da rede. O endereço IP da máquina hospedeira e a máscara de sub-rede podem ser representados em uma única expressão: 192.168.1.2/24. O número 24 representa a porção de bits reservados para a identificação da rede. Isso significa que os 8 bits restantes são reservados para a identificação de máquinas conectadas com a rede.

Exemplo de aplicação de máscara de sub-rede

A divisão de redes pode ser realizada dentro de uma rede privada com a utilização de mais roteadores. O planejamento da divisão de sub-rede deve ser planejada para que cada sub-rede atenda ao número de dispositivos que irão se conectar com essa rede.

sub-rede3
8 hosts
sub-rede2
21 hosts
sub-rede1
48 hosts
Ponte de ligação
Roteador 1
Roteador 2
Roteador 3

A rede acima possui 3 sub-redes. Ao todo, são 77 máquinas que precisam se conectar com a rede. Agora, suponha que temos um endereço IP 192.168.1.0/24. Esse endereço possui um prefixo de 24 bits para a rede. Logo, temos 8 bits de sobra.

A sub-rede 1 precisa de no mínimo 48 endereços. Podemos dizer que a sub-rede 1 precisará de 6 bits para atribuir endereços para todas as máquinas, isso é 262^{6} = 64 endereços disponíveis. É importante ressaltar que cada rede precisa de 2 bits para o endereço de rede e o endereço de broadcast (transmissão). Por isso, teremos 62 endereços disponíveis e não 64.

A sub-rede 2 precisa de no mínimo 21 endereços únicos. Logo, a sub-rede 2 precisará de 5 bits, tendo uma variação de 252^{5} = 32 - 2 = 30. A sub-rede terá 30 endereços únicos disponíveis para o uso.

A sub-rede 3 precisa de no mínimo 8 endereços únicos. A sua demanda pode ser satisfeita com 4 bits, tendo uma variação de 242^{4} = 16 - 2 = 14.

Definindo as máscaras de sub-rede

O valor do prefixo de cada sub-rede pode ser encontrado subtraindo 32 bits (tamanho do IPv4) pela quantidade de bits necessários para cada sub-rede.

  • Sub-rede 1: 32 - 6 = 26 (192.168.1.0/26)
  • Sub-rede 2: 32 - 5 = 27 (192.168.1.0/27)
  • Sub-rede 3: 32 - 4 = 28 (192.168.1.0/28)

A sub-rede 1 é a maior das três sub-redes, podendo atribuir até 62 endereços IP privados. Lembrando que o endereço da rede principal é 192.168.1.0/24, perceba que a sub-rede 1 tem um prefixo de 26 bits. Nesse valor, a identificação da rede principal também está incluído. Para saber a quantidade de bits da sub-rede 1, precisamos subtrair o número de bits da rede principal pelo número de bits da sub-rede. No caso da sub-rede 1, 26 - 24 = 2 bits. Portanto, teremos 222^{2} = 4 sub-redes disponíveis para o uso. Porém, nesse exemplo, apenas 3 serão necessárias.

Se a sub-rede 1 é a maior com 64 endereços disponíveis, ela será mais predominante do que as outras por causa do seu tamanho. Se temos 4 sub-redes disponíveis com um número de 64 endereços por sub-rede, teremos um total de 256 endereços disponíveis, como podemos ver abaixo:

  1. 192.168.1.0/26 (24 bits para o endereço, 2 bits para sub-rede e 6 bits para hospedagem)
  2. 192.168.1.64/26
  3. 192.168.1.128/26
  4. 192.168.1.192/26

A primeira sub-rede pode ser usada pela sub-rede 1, pois ela atende a demanda de 48 hospedagens.

A segunda e terceira sub-redes, se somadas, dão um total de 29 hospedagens demandadas. A segunda sub-rede do exemplo acima contém a quantidade necessária de endereços para abrigar a segunda e a terceira sub-redes. Logo, ela pode ser divida por 2:

  • 64 ÷\div 2 = 32

Assim, dividimos uma sub-rede com capacidade de 64 hospedagens para outras duas sub-redes, cada uma com capacidade de 32 hospedagens:

  1. 192.168.1.64/27
  2. 192.168.1.96/27

Os endereços definidos acima são o suficiente para a atender as três sub-redes definidas nesse exemplo. Repare que só foi usado a metade da capacidade disponível de endereços. As sub-redes abaixo, foram as sub-redes que sobraram:

  1. 192.168.1.128/26
  2. 192.168.1.192/26

Com as sub-redes acima, seria possível atribuir mais 128 endereços.

Conclusão

A máscara de sub-rede é um valor que define o papel de cada porção do endereço IP. Ela é responsável por identificar o endereço de rede, o endereço de sub-rede e o endereço da máquina hospedeira. A máscara de sub-rede pode ser expressada com um prefixo após o endereço IP (192.168.1.0/24) ou através de um valor separado (255.255.255.0).

Projetos práticos

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Criando artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

Veja também

Os bancos estão sendo substituídos pelos robôs em transações online

As criptomoedas mudaram totalmente o modo das pessoas pensarem. Usar robôs para autentificar transações online, custa muito menos comparado com os bancos em relação às taxas...

A manutenção de softwares é o maior pesadelo de um programador quando o código parece um campo minado

Existe muitos programadores que escrevem algoritmos mal planejados. Essa falta de planejamento dificulta a manutenção do aplicativo e aumenta a probabilidade de novos bugs.

SaaS (Software as a Service)

Serviço disponível na internet que oferece softwares que permitem realizar atividades como verificar e-mails, armazenar fotos e compartilhar arquivos.

Websockets

Protocolo que atua sobre o protocolo HTTP para múltiplas transferências de dados com uma única conexão com o intuito enviar e receber dados em tempo real.

CRM Customer Relationship Management

O sistema de gestão de relacionamento com o cliente oferece ferramentas que melhoram a busca de informação, tomada de decisões e acompanhamento do cliente.

Web Marketing

O web marketing utiliza ferramentas disponíveis na internet para criar, explorar e entregar valor de serviços ou produtos através da internet.