Nesta aula, mergulhamos no mundo do endereçamento IP, um dos pilares fundamentais das redes de computadores. Compreender como os dispositivos se identificam e comunicam em uma rede é essencial para qualquer profissional da área. Exploraremos desde a estrutura dos endereços IPv4, máscaras de sub-rede, notação CIDR, até conceitos avançados como VLSM (Variable Length Subnet Mask) e a importância do endereçamento no roteamento de pacotes.
Estrutura dos Endereços IPv4
Um endereço IPv4 é composto por 32 bits, normalmente representados em quatro octetos separados por pontos (ex: 192.168.1.1). Cada octeto pode variar de 0 a 255. Originalmente, os endereços foram divididos em classes (A, B, C, D, E), onde as classes A, B e C definiam redes de diferentes tamanhos. No entanto, o esgotamento de endereços e a necessidade de maior flexibilidade levaram ao desenvolvimento do CIDR (Classless Inter-Domain Routing).
- Classe A: primeiro octeto entre 1 e 126, máscara padrão /8.
- Classe B: primeiro octeto entre 128 e 191, máscara padrão /16.
- Classe C: primeiro octeto entre 192 e 223, máscara padrão /24.
- Classe D: 224 a 239, reservado para multicast.
- Classe E: 240 a 255, reservado para experimentação.
Atualmente, o roteamento sem classes (CIDR) tornou obsoleta a rigidez das classes, permitindo sub-redes de tamanho arbitrário e melhor aproveitamento do espaço de endereçamento. Além disso, o CIDR possibilita a sumarização de rotas (route aggregation), reduzindo o tamanho das tabelas de roteamento na Internet e melhorando a eficiência do roteamento.
Máscara de Sub-rede
A máscara de sub-rede é um número de 32 bits que, quando aplicado a um endereço IP, determina qual parte corresponde à rede e qual parte ao host. Por exemplo, a máscara 255.255.255.0 (ou /24) indica que os primeiros 24 bits são o prefixo da rede e os últimos 8 bits são para hosts.
Para calcular o endereço de rede, realiza-se uma operação AND binária entre o IP e a máscara. O endereço de broadcast é obtido invertendo os bits de host na máscara e aplicando OR com o endereço de rede.
Vejamos um exemplo concreto: considere o endereço 192.168.5.130 com máscara /26 (255.255.255.192). Realizando a operação AND binária entre o endereço e a máscara, obtemos 192.168.5.128 como endereço de rede. Os bits de host são os últimos 6 bits; com todos eles em 1, obtemos o broadcast 192.168.5.191. Assim, a faixa de hosts válidos é de 192.168.5.129 a 192.168.5.190, totalizando 62 endereços utilizáveis. Esse método se aplica a qualquer combinação de IP e máscara.
Notação CIDR
CIDR (Classless Inter-Domain Routing) utiliza a notação /n, onde n é o número de bits de prefixo. Por exemplo, /24 equivale a 255.255.255.0. Essa notação simplifica a representação da máscara e permite dividir redes em sub-redes de tamanhos variados.
- /8 – 16.777.214 hosts (Classe A original).
- /16 – 65.534 hosts (Classe B original).
- /24 – 254 hosts (Classe C original).
- /30 – 2 hosts (útil para links ponto a ponto).
VLSM (Variable Length Subnet Mask)
O VLSM é uma extensão do CIDR que permite utilizar máscaras de sub-rede de tamanhos diferentes dentro de uma mesma rede, otimizando a alocação de endereços conforme a necessidade de cada segmento. Por exemplo, a rede 10.0.0.0/8 pode ser subdividida em sub-redes /16, /24 e até /30, adaptando-se a departamentos com diferentes quantidades de dispositivos. Sem o VLSM, todas as sub-redes derivadas de uma mesma rede precisariam ter o mesmo tamanho, o que frequentemente leva ao desperdício de endereços.
Endereços Especiais
Alguns endereços possuem funções específicas dentro da rede:
- Loopback: 127.0.0.1 – utilizado para testes locais, o tráfego nunca sai da máquina.
- Broadcast: endereço com todos os bits de host em 1 (ex: 192.168.1.255 para rede 192.168.1.0/24).
- Endereços privados (RFC 1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 – utilizados em redes internas, não roteáveis na Internet.
- Link-local (169.254.0.0/16): utilizado para configuração automática de endereço (APIPA) quando um dispositivo não obtém um IP via DHCP. Esses endereços são válidos apenas no segmento de rede local.
Importância para o Roteamento
O endereçamento IP é a base para as tabelas de roteamento. Roteadores utilizam o prefixo da rede (rede de destino) e a máscara para decidir para onde encaminhar pacotes. Quanto mais específico o prefixo, maior a prioridade. O conceito de next hop (próximo salto) direciona o pacote ao gateway adequado.
A rota padrão (0.0.0.0/0) é usada para encaminhar pacotes cujo destino não corresponde a nenhuma rota específica. Ela geralmente aponta para o gateway da rede (roteador principal). O roteamento entre sub-redes permite que dispositivos em redes diferentes se comuniquem através de roteadores, que decidem o próximo salto baseados na tabela de roteamento. A sumarização de rotas (route aggregation) reduz o número de entradas na tabela, melhorando a performance e estabilidade do roteamento.
Exemplo Prático: Cálculo de Sub-redes
Suponha que temos o endereço 192.168.10.0/24 e precisamos dividi-lo em sub-redes que comportem pelo menos 50 hosts cada. Para 50 hosts, precisamos de 6 bits (2^6 = 64, menos 2 endereços reservados = 62 hosts). Logo, a máscara será /26 (32-6=26). Isso nos dá 4 sub-redes (2^2):
- 192.168.10.0/26 – hosts: 192.168.10.1 a 192.168.10.62, broadcast 192.168.10.63
- 192.168.10.64/26 – hosts: 192.168.10.65 a 192.168.10.126, broadcast 192.168.10.127
- 192.168.10.128/26 – hosts: 192.168.10.129 a 192.168.10.190, broadcast 192.168.10.191
- 192.168.10.192/26 – hosts: 192.168.10.193 a 192.168.10.254, broadcast 192.168.10.255
Esse tipo de cálculo é fundamental para planejar redes eficientes. Vamos agora a um exemplo que demonstra a flexibilidade do VLSM.
Exemplo com VLSM
Suponha que precisamos dividir a rede 192.168.50.0/24 em três sub-redes: uma com 60 hosts, uma com 30 hosts e outra com 10 hosts. Para 60 hosts, uma máscara /26 é suficiente (62 hosts disponíveis). Para 30 hosts, usamos /27 (30 hosts exatos). Para 10 hosts, usamos /28 (14 hosts). As sub-redes podem ser alocadas sequencialmente:
- 192.168.50.0/26 – hosts: 192.168.50.1 a 192.168.50.62, broadcast 192.168.50.63
- 192.168.50.64/27 – hosts: 192.168.50.65 a 192.168.50.94, broadcast 192.168.50.95
- 192.168.50.96/28 – hosts: 192.168.50.97 a 192.168.50.110, broadcast 192.168.50.111
Observe que as sub-redes não se sobrepõem graças aos prefixos de tamanhos diferentes. Esse planejamento evita desperdício de endereços e ilustra como o VLSM permite atender a requisitos variados dentro de um mesmo bloco.
Perguntas Frequentes
Qual a diferença entre IPv4 e IPv6?
IPv4 utiliza endereços de 32 bits (~4,3 bilhões de endereços), enquanto IPv6 usa 128 bits, oferecendo um espaço praticamente ilimitado. IPv6 também simplifica o roteamento e elimina a necessidade de NAT em muitos casos. Sua notação é hexadecimal separada por dois pontos (ex: 2001:db8::1).
O que é NAT?
NAT (Network Address Translation) permite que vários dispositivos em uma rede privada compartilhem um único endereço IP público. É amplamente utilizado para mitigar a escassez de endereços IPv4.
Como determinar a máscara ideal para uma rede com N hosts?
Calcule o menor número de bits de host h tal que 2^h - 2 >= N. A máscara será /(32 - h). Por exemplo, para 100 hosts: h = 7 (2^7 = 128, -2 = 126), máscara /25 (255.255.255.128).
O que é gateway padrão?
O gateway padrão (default gateway) é o endereço IP do roteador que permite que dispositivos de uma rede se comuniquem com outras redes, incluindo a Internet. Geralmente, o gateway é o primeiro endereço disponível na faixa de hosts (ex: 192.168.1.1 para a rede 192.168.1.0/24). Quando um host precisa enviar um pacote para fora da rede local, ele encaminha o pacote para o gateway padrão, que então o roteia para o destino.
Como o DHCP atribui endereços IP?
DHCP (Dynamic Host Configuration Protocol) é um protocolo que atribui automaticamente endereços IP e outras configurações de rede (máscara, gateway, DNS) a dispositivos. O processo ocorre em quatro etapas: Discover, Offer, Request e ACK. Primeiro, o cliente envia uma mensagem de descoberta; o servidor responde com uma oferta de endereço; o cliente solicita o endereço oferecido; e o servidor confirma com um ACK. Isso simplifica a administração de redes, evitando configuração manual em cada dispositivo.