Máscara de Sub-rede e do Subnetting em Redes

Redes de Computadores Thiago Rossi
Tempo de leitura: 9 minutos

Máscara de Sub-rede e do Subnetting em Redes: Nos artigos anteriores, desvendamos o que são redes de computadores, seus tipos e modelos de referência, e mergulhamos no Endereçamento IP, apresentando o IPv4 e o IPv6. Vimos que um endereço IP identifica um dispositivo e sua localização em uma rede, e que essa localização é definida pela porção de rede do endereço. Mas como essa divisão entre rede e host é determinada, especialmente de forma flexível? E por que seria interessante dividir uma grande rede IP em partes menores?

É aqui que entram a Máscara de Sub-rede e a técnica de Subnetting. A máscara de sub-rede é a ferramenta que nos permite definir explicitamente qual parte de um endereço IPv4 pertence à rede e qual parte pertence ao host. O subnetting é o processo de utilizar essa ferramenta para dividir uma rede IP maior em sub-redes menores e mais gerenciáveis. Compreender a máscara de sub-rede e dominar o subnetting é uma habilidade fundamental para qualquer profissional de redes que trabalhe com redes IPv4, e mesmo para iniciantes que desejam entender a fundo como o endereçamento e o roteamento funcionam.

Este artigo irá desmistificar esses conceitos, explicando o que são, como funcionam e por que são tão cruciais para o design de redes eficiente e seguro.

Revisitando a Estrutura do Endereço IPv4

Máscara de Sub-rede e do Subnetting em Redes: Lembramos que um endereço IPv4 é um número de 32 bits, dividido conceitualmente em duas partes: a porção de rede e a porção de host. Dispositivos na mesma rede podem se comunicar diretamente (no mesmo domínio de broadcast, tratado por switches na Camada 2), enquanto dispositivos em redes diferentes precisam da ajuda de um roteador (na Camada 3) para trocar dados.

A forma como essa divisão entre rede e host é definida é o segredo por trás do roteamento IP. Originalmente, essa divisão era rígida, baseada nas classes (A, B, C) do endereço IPv4 (o sistema classful). No entanto, essa abordagem era ineficiente e inflexível. Precisávamos de uma maneira de definir limites de rede mais granulares.

A Máscara de Sub-rede: O Delimitador da Rede

A Máscara de Sub-rede é um número de 32 bits que trabalha em conjunto com um endereço IPv4 para determinar qual parte do endereço identifica a rede e qual parte identifica o host. Ela segue uma regra simples:

  • Os bits na máscara de sub-rede que são definidos como ‘1’ correspondem aos bits no endereço IPv4 que fazem parte da porção de rede.
  • Os bits na máscara de sub-rede que são definidos como ‘0’ correspondem aos bits no endereço IPv4 que fazem parte da porção de host.

A máscara de sub-rede também é geralmente representada em notação decimal pontuada, como o endereço IPv4. Por exemplo:

  • Uma máscara comum para uma rede pequena é 255.255.255.0. Em binário, isso é: 11111111.11111111.11111111.00000000

Para determinar o endereço de rede ao qual um endereço IP pertence, realiza-se uma operação lógica AND bit a bit entre o endereço IP e a máscara de sub-rede.

Exemplo:

  • Endereço IP: 192.168.1.10 (Binário: 11000000.10101000.00000001.00001010)
  • Máscara de Sub-rede: 255.255.255.0 (Binário: 11111111.11111111.11111111.00000000)

Realizando a operação AND bit a bit:

11000000.10101000.00000001.00001010 (IP) & 11111111.11111111.11111111.00000000 (Máscara) ------------------------------------ 11000000.10101000.00000001.00000000 (Endereço de Rede em Binário)

Convertendo o resultado de volta para decimal pontuado, obtemos o endereço de rede: 192.168.1.0. Isso significa que qualquer dispositivo com um endereço IP que, ao ser submetido a essa máscara, resulte em 192.168.1.0 como endereço de rede, pertence a essa mesma sub-rede.

Uma regra importante é que os bits ‘1’ na máscara de sub-rede devem ser contíguos, seguidos pelos bits ‘0’. Uma máscara como 255.255.0.255 seria inválida.

CIDR (Classless Inter-Domain Routing) e o Prefixo

Com a adoção do CIDR, a representação da máscara de sub-rede tornou-se mais simples e flexível. Em vez de escrever a máscara completa em decimal pontuado, usamos um / seguido pelo número de bits ‘1’ na máscara (o comprimento do prefixo).

  • 255.255.255.0 é equivalente a /24 (24 bits ‘1’).
  • 255.255.0.0 é equivalente a /16 (16 bits ‘1’).
  • 255.0.0.0 é equivalente a /8 (8 bits ‘1’).
  • Uma máscara como 255.255.255.128 (Binário: 11111111.11111111.11111111.10000000) é equivalente a /25.

O uso do CIDR tornou o endereçamento IPv4 muito mais eficiente, permitindo a criação de sub-redes de tamanhos variados, sem as restrições das classes A, B e C.

Endereços de Rede e Broadcast

Dentro de qualquer rede IP ou sub-rede, existem dois endereços reservados que não podem ser atribuídos a dispositivos de host:

  1. Endereço de Rede (Network Address): É o primeiro endereço no bloco de endereços da sub-rede. Todos os bits na porção de host são ‘0’. Ele identifica a sub-rede em si e é usado pelos roteadores nas tabelas de roteamento.
  2. Endereço de Broadcast (Broadcast Address): É o último endereço no bloco de endereços da sub-rede. Todos os bits na porção de host são ‘1’. Enviar um pacote para o endereço de broadcast envia o pacote para todos os dispositivos dentro daquela sub-rede específica (no mesmo domínio de broadcast).

Com a máscara de sub-rede ou o prefixo, é possível calcular o endereço de rede e o endereço de broadcast para qualquer sub-rede. O intervalo de endereços IP utilizáveis para os dispositivos host é aquele entre o endereço de rede e o endereço de broadcast (excluindo esses dois).

O Que é Subnetting e Por Que Usá-lo?

Subnetting é o processo de dividir um bloco maior de endereços IP (uma rede IP principal) em várias sub-redes menores. Isso é feito “pegando emprestado” bits da porção de host original e usando-os para criar uma nova porção de sub-rede. Essencialmente, você estende a máscara de sub-rede original (adicionando mais bits ‘1’) para “roubar” bits que antes pertenciam ao host e agora pertencem à sub-rede.

Por que fazer subnetting? Existem várias razões cruciais, especialmente em redes IPv4 devido à escassez de endereços:

  1. Eficiência no Uso de Endereços IP: Em vez de usar uma rede Classe C inteira (/24) para um segmento com apenas 10 computadores (desperdiçando centenas de endereços), você pode usar subnetting para criar uma sub-rede menor (por exemplo, /28), alocando apenas 14 endereços utilizáveis e conservando os demais para outras sub-redes.
  2. Organização da Rede: Divide uma grande rede em sub-redes lógicas baseadas em critérios como localização geográfica, departamento, função dos dispositivos (servidores, usuários, impressoras), etc. Isso torna a rede mais organizada e fácil de gerenciar.
  3. Melhora de Performance: O tráfego de broadcast é limitado à sub-rede local. Dividir uma grande rede em sub-redes menores reduz o tamanho dos domínios de broadcast, diminuindo o tráfego desnecessário para os dispositivos e melhorando o desempenho geral da rede.
  4. Segurança: O subnetting permite implementar políticas de segurança mais granulares. É possível configurar listas de controle de acesso (ACLs) em roteadores ou firewalls para permitir ou negar tráfego entre sub-redes específicas, controlando o fluxo de dados e protegendo recursos.
  5. Gerenciamento de Tráfego: Facilita a aplicação de políticas de Qualidade de Serviço (QoS) e outros mecanismos de gerenciamento de tráfego para priorizar determinados tipos de dados ou aplicações em sub-redes específicas.

Realizando o Subnetting (Exemplo Simplificado)

Apesar de parecer intimidante no início, o subnetting envolve cálculos relativamente simples baseados em potências de 2 e manipulação de bits. O processo geralmente envolve:

  1. Identificar a Rede Original: Começar com um bloco de endereços IP e sua máscara (por exemplo, 192.168.1.0/24).
  2. Determinar a Necessidade: Decidir quantas sub-redes são necessárias ou quantos hosts utilizáveis cada sub-rede precisa.
  3. Calcular Novos Limites:
    • Para encontrar o número de sub-redes a serem criadas, determine quantos bits (‘n’) você precisa “pegar emprestado” da porção de host. O número de sub-redes criadas será 2^n.
    • Os bits restantes (‘h’) na porção de host determinarão quantos endereços utilizáveis por sub-rede você terá: 2^h – 2 (subtraindo o endereço de rede e de broadcast).
  4. Calcular a Nova Máscara: A nova máscara de sub-rede terá os bits da máscara original mais os ‘n’ bits que foram pegos emprestado do host. O prefixo será o prefixo original + n.
  5. Listar as Sub-redes: Determinar os endereços de rede, os intervalos de endereços utilizáveis e os endereços de broadcast para cada uma das novas sub-redes.

Exemplo: Subnetting de 192.168.1.0/24 em sub-redes com pelo menos 50 hosts utilizáveis.

  • Rede Original: 192.168.1.0/24 (Máscara 255.255.255.0).
  • Número de bits de host na rede original: 32 – 24 = 8 bits de host. Total de endereços: 2^8 = 256. Endereços utilizáveis: 256 – 2 = 254.
  • Precisamos de sub-redes com pelo menos 50 hosts utilizáveis.
    • Com 5 bits de host (2^5-2 = 30 hosts), não é suficiente.
    • Com 6 bits de host (2^6-2 = 62 hosts), é suficiente.
  • Precisamos deixar 6 bits para hosts. Temos 8 bits de host na rede original. Vamos “pegar emprestado” 8 – 6 = 2 bits para criar as sub-redes.
  • Número de sub-redes criadas: 2^n = 2^2 = 4 sub-redes.
  • Nova máscara de sub-rede (prefixo): /24 original + 2 bits emprestados = /26. A máscara /26 em binário é 11111111.11111111.11111111.11000000, que em decimal é 255.255.255.192.
  • As 4 sub-redes terão blocos de 2^h = 2^6 = 64 endereços cada.
    • Sub-rede 1:
      • Endereço de Rede: 192.168.1.0/26
      • Primeiro Host Utilizável: 192.168.1.1
      • Último Host Utilizável: 192.168.1.62
      • Endereço de Broadcast: 192.168.1.63
    • Sub-rede 2:
      • Endereço de Rede: 192.168.1.64/26
      • Primeiro Host Utilizável: 192.168.1.65
      • Último Host Utilizável: 192.168.1.126
      • Endereço de Broadcast: 192.168.1.127
    • Sub-rede 3:
      • Endereço de Rede: 192.168.1.128/26
      • Primeiro Host Utilizável: 192.168.1.129
      • Último Host Utilizável: 192.168.1.190
      • Endereço de Broadcast: 192.168.1.191
    • Sub-rede 4:
      • Endereço de Rede: 192.168.1.192/26
      • Primeiro Host Utilizável: 192.168.1.193
      • Último Host Utilizável: 192.168.1.254
      • Endereço de Broadcast: 192.168.1.255

Assim, dividimos a rede /24 em quatro sub-redes /26, cada uma capaz de acomodar até 62 dispositivos utilizáveis. Este é um exemplo simples, mas o princípio se aplica a qualquer bloco de endereços e requisito de tamanho.

VLSM: Sub-redes de Tamanhos Variáveis

O advento do CIDR e do subnetting trouxe a capacidade de usar Máscaras de Sub-rede de Tamanho Variável (VLSM – Variable Length Subnet Masking). Antes do CIDR, se você dividisse uma rede Classe B (por exemplo) em sub-redes, todas as sub-redes teriam que ter o mesmo tamanho. Com VLSM, você pode pegar uma sub-rede e dividi-la ainda mais usando uma máscara maior (prefixo mais longo), criando sub-redes de tamanhos diferentes dentro do mesmo bloco maior. Isso é fundamental para otimizar ainda mais o uso de endereços, por exemplo, usando blocos /30 (apenas 2 endereços utilizáveis) para links entre roteadores onde só são necessários dois IPs.

Subnetting em IPv6: Uma Perspectiva Diferente

Em IPv6, o conceito de dividir o espaço de endereçamento também existe, mas a termologia e a prática são um pouco diferentes. Devido ao vasto espaço de endereçamento (2^128), o foco do “subnetting” em IPv6 não é a conservação de endereços, mas sim a organização lógica da rede.

O tamanho padrão de uma sub-rede em IPv6 é um bloco /64. Isso significa que 64 bits são usados para o prefixo de rede e 64 bits para o ID da interface (host). Mesmo um bloco /64 contém 2^64 endereços utilizáveis, um número incrivelmente grande. Provedores de Internet geralmente atribuem blocos maiores (como /48 ou /56) a organizações, que então podem dividir esse bloco em sub-redes /64 para seus diferentes segmentos de rede. A manipulação manual de bits e as máscaras decimais complexas são muito menos comuns; a referência primária é o comprimento do prefixo (/n).

Conclusão

Máscara de Sub-rede e do Subnetting em Redes: A Máscara de Sub-rede e o Subnetting são conceitos fundamentais que moldaram a forma como projetamos e gerenciamos redes IP, especialmente no cenário do IPv4. A máscara nos permite definir os limites de uma rede ou sub-rede, e o subnetting nos dá a flexibilidade para dividir grandes blocos de endereços de forma eficiente e organizada.

Dominar o subnetting não é apenas sobre calcular endereços; é sobre entender como otimizar o espaço de endereçamento (crucial no IPv4), melhorar o desempenho da rede limitando broadcasts, aumentar a segurança criando barreiras lógicas entre segmentos e simplificar a administração ao organizar a rede em unidades menores e lógicas.

Embora o IPv6 mude a dinâmica ao eliminar a escassez de endereços e simplificar algumas abordagens, a lógica de dividir um espaço maior em partes menores para organização e gerenciamento continua relevante. Para qualquer pessoa que trabalhe com redes, ter um entendimento sólido de máscaras de sub-rede e subnetting em IPv4 é uma habilidade indispensável e a base para entender o funcionamento detalhado do roteamento IP.

Esperamos que este artigo tenha desmistificado o subnetting e a importância da máscara de sub-rede. Com esses conceitos em mente, você está bem posicionado para entender como os roteadores utilizam essas informações para tomar decisões de encaminhamento, o tema dos nossos próximos artigos sobre redes de computadores. Continue aprendendo e construindo sua expertise em redes de computadores!

Se você está iniciando sua jornada no universo da computação, desenvolva uma base sólida com nossos artigos sobre Hardware. Caso você já domine tudo sobre Hardware, entenda como um SO funciona. Mas se tem conhecimento sobre os principais conceitos sobre Sistemas Operacionais, pode ir ainda mais além: se aprofundar no sistema operacional do pinguim e se preparar para as certificações de entrada do universo Linux!!!

Hardware
Hardware
Sistemas Operacionais
Sistemas Operacionais
Thiago Rossi Linux
Linux

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi
Eng. de Computação com quase 20 anos de experiência na área de TI, onde desde meu primeiro estágio atuo no setor. Iniciei como técnico de montagem e manutenção de computadores, evoluindo para a área de desenvolvimento Web e Analista de Sistemas e atualmente com foco em Redes e Cibersegurança. Resolvi compilar todo meu conhecimento na área de T.I para te entregar artigos que são verdadeiras jóias que te orientarão para que você também se torne um profissional nessa área e consiga mudar sua vida graças à T.I!