Subnetting e Endereçamento
Aula 2 de 6
Endereçamento IPv4
Estrutura
Um endereço IPv4 tem 32 bits (4 octetos), representado em notação decimal pontuada:
192.168.1.0 = 11000000.10101000.00000001.00000000
Classes de Endereços (Legado)
| Classe | Prefixo | Faixa | Máscara Padrão | Uso |
|---|---|---|---|---|
| A | 0 | 1.0.0.0 - 126.255.255.255 | /8 (255.0.0.0) | Grandes redes |
| B | 10 | 128.0.0.0 - 191.255.255.255 | /16 (255.255.0.0) | Redes médias |
| C | 110 | 192.0.0.0 - 223.255.255.255 | /24 (255.255.255.0) | Redes pequenas |
| D | 1110 | 224.0.0.0 - 239.255.255.255 | - | Multicast |
| E | 1111 | 240.0.0.0 - 255.255.255.255 | - | Experimental |
CIDR (Classless Inter-Domain Routing)
CIDR substituiu o sistema de classes, permitindo máscaras de tamanho variável:
192.168.1.0/24 → Máscara: 255.255.255.0 (24 bits de rede)
192.168.1.0/25 → Máscara: 255.255.255.128 (25 bits de rede)
Cálculo de Sub-rede
Dado um IP e máscara, calculamos:
IP: 192.168.1.130 → 11000000.10101000.00000001.10000010
Máscara: 255.255.255.128 → 11111111.11111111.11111111.10000000
Rede: 192.168.1.128 → 11000000.10101000.00000001.10000000 (IP AND Máscara)
Broadcast:192.168.1.255 → 11000000.10101000.00000001.11111111 (Rede OR NOT Máscara)
Endereços Especiais
- Rede: primeiro endereço do bloco (todos bits de host = 0)
- Broadcast: último endereço do bloco (todos bits de host = 1)
- Loopback: 127.0.0.0/8 (localhost)
- APIPA: 169.254.0.0/16 (quando DHCP falha)
- Privados: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
Subnetting
Divisão de Rede
Criar sub-redes menores a partir de um bloco maior:
Rede base: 192.168.1.0/24 (256 endereços, 254 hosts)
Sub-redes /25: 192.168.1.0/25 (128 endereços, 126 hosts)
192.168.1.128/25
Sub-redes /26: 192.168.1.0/26 (64 endereços, 62 hosts)
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
Fórmulas
Número de sub-redes = 2^(bits emprestados)
Número de hosts = 2^(bits de host) - 2 (rede + broadcast)
VLSM (Variable Length Subnet Mask)
Permite sub-redes de tamanhos diferentes dentro da mesma rede principal:
Rede: 10.0.0.0/8
Setor A (500 hosts): 10.0.0.0/23 (10.0.0.0 - 10.0.1.255)
Setor B (200 hosts): 10.0.2.0/24 (10.0.2.0 - 10.0.2.255)
Setor C (50 hosts): 10.0.3.0/26 (10.0.3.0 - 10.0.3.63)
Setor D (2 hosts): 10.0.3.64/30 (10.0.3.64 - 10.0.3.67)
IPv6
Estrutura
Endereço de 128 bits em notação hexadecimal com 8 grupos de 16 bits:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Regras de Abreviação
- Zeros à esquerda podem ser omitidos:
2001:db8:85a3:0:0:8a2e:370:7334 - Um grupo de zeros consecutivos pode ser substituído por
::(uma vez):2001:db8:85a3::8a2e:370:7334
Tipos de Endereços IPv6
| Tipo | Prefixo | Descrição |
|---|---|---|
| Global Unicast | 2000::/3 | Internet pública |
| Link-Local | fe80::/10 | Sub-rede local (não roteável) |
| Unique Local | fc00::/7 | Equivalente ao 10.0.0.0/8 privado |
| Multicast | ff00::/8 | Um-para-muitos |
| Anycast | - | Um-para-o-mais-próximo |
NAT/PAT
| Tipo | Descrição |
|---|---|
| SNAT | Traduz IP privado → IP público (origem) |
| DNAT | Traduz IP público → IP privado (destino) |
| PAT | Múltiplos IPs privados em uma única porta pública (usando portas) |
| 1:1 NAT | Um IP privado mapeado para um IP público |
Cliente: 192.168.1.10:54321 → Roteador (NAT) → 200.100.50.1:54321 → Internet
Lab: Cálculo de Sub-redes
# Calcular sub-redes com PowerShell
$ip = "192.168.1.130"
$maskBits = 25
$ipBinary = [convert]::ToString([int](($ip -split '\.')[0]),2).PadLeft(8,'0') +
[convert]::ToString([int](($ip -split '\.')[1]),2).PadLeft(8,'0') +
[convert]::ToString([int](($ip -split '\.')[2]),2).PadLeft(8,'0') +
[convert]::ToString([int](($ip -split '\.')[3]),2).PadLeft(8,'0')
Write-Host "IP Binário: $($ipBinary.Substring(0,$maskBits)) $($ipBinary.Substring($maskBits))"
# Verificar endereços da interface
Get-NetIPAddress | Where-Object {$_.AddressFamily -eq "IPv4"} |
Select-Object IPAddress, PrefixLength, InterfaceAlias
# Verificar vizinhos IPv6
Get-NetNeighbor -AddressFamily IPv6 | Select-Object IPAddress, LinkLayerAddress, State
# Testar conectividade IPv6
ping -6 -n 1 2001:4860:4860::8888
# Ver configuração de NAT no Windows (se disponível)
Get-NetNat | Format-List
Subnetting é a base do design de redes. Domine AND binário, CIDR e VLSM — cada bit economizado em máscara significa mais redes disponíveis.