Introdução

Hoje na aula de redes, abordamos o tema de endereçamento IP e sub-redes. Este é um conceito fundamental para entender como os dispositivos se comunicam em uma rede IP. Vimos como os endereços IP são estruturados, as diferentes classes, e como a máscara de rede permite dividir redes maiores em sub-redes menores, otimizando o uso de endereços e melhorando a segurança e o desempenho da rede.

O entendimento correto do endereçamento IP é essencial para qualquer profissional de TI, desde a configuração de redes domésticas até a administração de grandes infraestruturas corporativas. Nesta anotação, registro os principais pontos discutidos em sala.

O que é endereçamento IP?

Um endereço IP (Internet Protocol) é um identificador único atribuído a cada dispositivo em uma rede que utiliza o protocolo IP. Na versão IPv4, ele é 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, o que fornece aproximadamente 4,3 bilhões de endereços possíveis.

O endereço IP é dividido em duas partes: a porção de rede, que identifica a rede à qual o dispositivo pertence, e a porção de host, que identifica o dispositivo específico dentro dessa rede. A máscara de rede define onde essa divisão ocorre.

Classes de endereços IP

Originalmente, os endereços IP foram divididos em classes para facilitar a alocação. As principais classes são:

  • Classe A: primeiro octeto de 1 a 126, máscara padrão 255.0.0.0 (16 milhões de hosts por rede).
  • Classe B: primeiro octeto de 128 a 191, máscara padrão 255.255.0.0 (65 mil hosts por rede).
  • Classe C: primeiro octeto de 192 a 223, máscara padrão 255.255.255.0 (254 hosts por rede).
  • Classe D: 224 a 239, usado para multicast.
  • Classe E: 240 a 255, reservado para experimentação.

Embora o sistema de classes seja didático, ele foi substituído por um modelo mais flexível, o CIDR, que permite sub-redes com tamanhos variados.

Sub-redes e máscara de rede

Uma sub-rede é uma divisão lógica de uma rede IP. Ao criar sub-redes, podemos organizar dispositivos em grupos menores, reduzir o tráfego de broadcast e melhorar a segurança. A máscara de rede (ou máscara de sub-rede) é um número de 32 bits que indica quais bits do endereço IP pertencem à rede e quais pertencem ao host.

Para calcular a sub-rede de um endereço IP, aplicamos a operação AND binária entre o IP e a máscara. O resultado é o endereço da sub-rede. Por exemplo:

IP:         192.168.1.35   → 11000000.10101000.00000001.00100011
Máscara:    255.255.255.0  → 11111111.11111111.11111111.00000000
Sub-rede:   192.168.1.0    → 11000000.10101000.00000001.00000000

Os bits do host (onde a máscara é 0) podem ser usados para endereçar dispositivos dentro da sub-rede. O primeiro endereço é reservado para a rede e o último para broadcast.

CIDR (Classless Inter-Domain Routing)

O CIDR foi introduzido para substituir o sistema de classes e permitir uma alocação mais eficiente dos endereços IP. Na notação CIDR, o endereço é seguido por uma barra e o número de bits de rede (prefixo). Exemplo: 192.168.1.0/24 indica que os primeiros 24 bits são da rede.

Com o CIDR, podemos criar sub-redes de tamanhos arbitrários, não limitados às máscaras padrão das classes. Por exemplo, /26 significa 26 bits de rede e 6 bits de host, permitindo 62 hosts por sub-rede.

Exemplo prático

Vamos dividir o bloco 192.168.1.0/24 em 4 sub-redes de mesmo tamanho. Para isso, precisamos emprestar 2 bits da parte de host, resultando em uma máscara /26 (255.255.255.192). As sub-redes obtidas são:

  • 192.168.1.0/26 — hosts: 192.168.1.1 a 192.168.1.62, broadcast: 192.168.1.63
  • 192.168.1.64/26 — hosts: 192.168.1.65 a 192.168.1.126, broadcast: 192.168.1.127
  • 192.168.1.128/26 — hosts: 192.168.1.129 a 192.168.1.190, broadcast: 192.168.1.191
  • 192.168.1.192/26 — hosts: 192.168.1.193 a 192.168.1.254, broadcast: 192.168.1.255

Exemplo de cálculo de sub-rede usando Python:

import ipaddress
rede = ipaddress.IPv4Network('192.168.1.0/24')
subredes = list(rede.subnets(prefixlen_diff=2))
for sub in subredes:
    print(sub)
# Output:
# 192.168.1.0/26
# 192.168.1.64/26
# 192.168.1.128/26
# 192.168.1.192/26

Esse tipo de divisão é muito usado em projetos de rede para segmentar departamentos ou setores.

Perguntas Frequentes

  • O que é uma sub-rede? Uma sub-rede é uma divisão lógica de uma rede IP. Permite organizar dispositivos em grupos menores, melhorando desempenho e segurança, além de facilitar o gerenciamento.
  • Como calcular a máscara de rede? A máscara de rede é calculada convertendo o número de bits de rede em uma máscara de 32 bits. Por exemplo, /24 corresponde a 255.255.255.0. Para saber a sub-rede de um IP, aplica-se a operação AND entre o IP e a máscara.
  • Qual a diferença entre IP privado e público? IP privado é usado dentro de redes locais (ex: 192.168.x.x, 10.x.x.x, 172.16-31.x.x) e não é roteável na internet. IP público é atribuído por provedores e permite comunicação global, sendo único na internet.