Nesta aula, vamos mergulhar nos fundamentos do endereçamento IP (IPv4) e nas máscaras de sub-rede. Esses conceitos são a base para entender como os dispositivos se identificam e se comunicam em uma rede de computadores. Discutiremos a estrutura dos endereços, como calcular sub-redes e como o roteamento funciona de forma elementar. Ao final, você terá uma compreensão sólida para prosseguir com tópicos mais avançados, como NAT, VLANs e IPv6.

Estrutura do Endereço IP

Um endereço IPv4 é composto por 32 bits, geralmente representados em quatro octetos separados por pontos (ex: 192.168.1.1). Cada octeto pode variar de 0 a 255. Historicamente, os endereços foram divididos em classes (A, B, C, D, E), mas atualmente o uso de CIDR (Classless Inter-Domain Routing) tornou essa divisão mais flexível. Abaixo, alguns pontos importantes sobre as classes:

  • Classe A: primeiro octeto entre 1 e 126, rede grande (~16 milhões de endereços por rede).
  • Classe B: primeiro octeto entre 128 e 191, rede média (~65 mil endereços).
  • Classe C: primeiro octeto entre 192 e 223, rede pequena (254 endereços).
  • Classe D: (224 a 239) reservada para multicast.
  • Classe E: (240 a 255) experimental.

Além disso, existem endereços especiais:

  • Loopback: 127.0.0.0/8 (usado para testes locais).
  • Privados (RFC 1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 — não roteáveis na Internet pública.
  • Broadcast: endereço com todos os bits de host iguais a 1 (ex: 192.168.1.255/24).

Com o CIDR, não estamos mais presos às classes fixas. Uma rede pode ser definida por qualquer prefixo, como /23, /25, etc., permitindo melhor aproveitamento do espaço de endereçamento.

Máscara de Sub-rede e Cálculo de Sub-redes

A máscara de sub-rede determina qual parte do endereço IP identifica a rede e qual parte identifica o host. Por exemplo, para a máscara 255.255.255.0 (representada como /24), os primeiros 24 bits são o prefixo de rede e os últimos 8 bits são para hosts.

Na notação CIDR, escrevemos o endereço seguido da quantidade de bits de rede: 192.168.1.0/24. Isso permite subdividir redes maiores em sub-redes menores, otimizando o uso de endereços.

Exemplo de cálculo de sub-redes:

Considere a rede 192.168.1.0/24. Desejamos criar sub-redes com capacidade para pelo menos 50 hosts cada. Quantos bits de host são necessários? Precisamos de 6 bits de host, pois 26 - 2 = 62 hosts utilizáveis. Isso significa que tomamos emprestados 2 bits da parte de host (originalmente 8 bits) para a parte de rede, resultando em um prefixo /26 (24 + 2).

Com isso, criamos 4 sub-redes (22 = 4):

Sub-redeEndereço de RedePrimeiro HostÚltimo HostBroadcast
1192.168.1.0/26192.168.1.1192.168.1.62192.168.1.63
2192.168.1.64/26192.168.1.65192.168.1.126192.168.1.127
3192.168.1.128/26192.168.1.129192.168.1.190192.168.1.191
4192.168.1.192/26192.168.1.193192.168.1.254192.168.1.255

Podemos verificar essas sub-redes com Python usando a biblioteca ipaddress:

import ipaddress

rede_original = ipaddress.ip_network('192.168.1.0/24', strict=False)
subredes = list(rede_original.subnets(new_prefix=26))
for sub in subredes:
    print(f'Rede: {sub.network_address} - Broadcast: {sub.broadcast_address} - Máscara: {sub.netmask}')

A saída confirma os valores da tabela.

Roteamento Básico

O roteamento é o processo de encaminhamento de pacotes entre redes diferentes. Cada roteador mantém uma tabela de roteamento que associa destinos a interfaces de saída e, possivelmente, a um próximo salto (next hop).

  • Roteamento estático: o administrador configura manualmente as rotas. É simples e adequado para redes pequenas.
  • Roteamento dinâmico: protocolos como OSPF, RIP e BGP trocam informações automaticamente, ajustando as rotas conforme a topologia da rede.

Todo dispositivo que precisa se comunicar fora de sua rede local deve conhecer um default gateway — o roteador que encaminha os pacotes para outras redes. Por exemplo, em uma rede doméstica, o roteador geralmente tem o IP 192.168.1.1 e atua como gateway padrão.

Quando um pacote é enviado para um destino fora da rede local, o dispositivo consulta seu gateway padrão. O roteador então verifica sua tabela de roteamento e encaminha o pacote para o próximo salto, até que ele chegue ao destino.

Estudamos os conceitos essenciais de endereçamento IP, máscaras de sub-rede, cálculo de sub-redes e roteamento básico. Esses fundamentos são a base para disciplinas mais avançadas de redes de computadores e sistemas operacionais. Pratique com exemplos usando Python, ipcalc e comandos como ip addr e route para consolidar o aprendizado.

Perguntas Frequentes

O que é um endereço IP privado?

Endereços IP privados são faixas reservadas para uso interno em redes locais, não roteáveis na Internet pública. São definidos pela RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16. Dispositivos com esses endereços podem se comunicar dentro da rede local, mas precisam de NAT (Network Address Translation) para acessar a Internet.

Qual a diferença entre IPv4 e IPv6?

IPv4 utiliza endereços de 32 bits (4,3 bilhões de endereços), enquanto IPv6 utiliza 128 bits, oferecendo um espaço praticamente ilimitado. IPv6 também simplifica o cabeçalho, melhora a segurança com IPsec nativo e elimina a necessidade de NAT. A transição para IPv6 é gradual e ambos os protocolos coexistem atualmente.

O que é CIDR?

CIDR (Classless Inter-Domain Routing) é um método de alocação de endereços IP que substituiu o sistema de classes fixas. Com CIDR, o prefixo de rede é indicado pelo sufixo /N (ex: /24), permitindo divisão mais granular e eficiente do espaço de endereçamento. Por exemplo, /24 equivale à antiga classe C, mas podemos usar /23, /25, etc., conforme a necessidade.