kb.erickguedes.com
Redes de Computadores: Fundamentos Práticos

DNS, DHCP e Protocolos Web

Aula 4 de 6

DNS (Domain Name System)

Hierarquia

Root (.) → 13 servidores raiz (a.root-servers.net ... m.root-servers.net)
  └── TLD .com, .org, .br, .io
       └── Domínios de segundo nível → exemplo.com, google.com
            └── Subdomínios → www.exemplo.com, api.exemplo.com

Tipos de Registro

RegistroDescriçãoExemplo
AMapeia nome → IPv4google.com → 142.250.217.78
AAAAMapeia nome → IPv6google.com → 2800:3f0:4001:82e::200e
CNAMEAlias (nome → nome)www → @
MXServidor de e-mail@ → mail.google.com (prioridade 10)
NSServidor de nomes@ → ns1.google.com
TXTTexto livre (verificação, SPF, DKIM)v=spf1 include:_spf.google.com ~all
SRVServiço específico_sip._tcp → sipserver:5060
PTRReverse (IP → nome)78.217.250.142.in-addr.arpa → google.com

Consulta Recursiva vs Iterativa

Cliente → Resolver (recursivo) → Root → TLD → Autoritativo
  • Recursão: o resolver faz toda a consulta e retorna a resposta final
  • Iteração: o servidor responde com "próximo servidor" e o cliente pergunta ao próximo

Ferramentas de Consulta

# nslookup (Windows)
nslookup google.com
nslookup -type=MX google.com
nslookup -type=AAAA google.com

# dig (Linux/WSL — mais detalhado)
dig google.com
dig google.com A
dig google.com MX
dig -x 8.8.8.8                         # Reverse lookup
dig google.com +trace                  # Mostrar caminho completo

# Verificar servidores DNS configurados
Get-DnsClientServerAddress

Zone Transfer

Replicação de zona DNS entre servidores primário e secundário (AXFR). Risco de segurança se exposto:

# Tentar zone transfer (não autorizado)
# dig axfr @ns1.exemplo.com exemplo.com

DHCP (Dynamic Host Configuration Protocol)

DORA

O processo de obtenção de IP em 4 etapas:

1. DHCP DISCOVER (Cliente → Broadcast)  — "Alguém me dá um IP?"
2. DHCP OFFER    (Servidor → Broadcast) — "Tome este IP 192.168.1.10"
3. DHCP REQUEST  (Cliente → Broadcast)  — "Quero o 192.168.1.10"
4. DHCP ACK      (Servidor → Broadcast) — "Confirmado, use 192.168.1.10"

Configurações

# Ver lease DHCP atual
ipconfig /all
ipconfig /renew        # Renovar lease
ipconfig /release      # Liberar IP

# Ver servidores DHCP na rede
Get-DhcpServerv4Scope -ComputerName dhcp-server.local

Escopo, Reserva e Relay Agent

ConceitoDescrição
EscopoFaixa de IPs gerenciada (ex: 192.168.1.100-200)
ReservaIP fixo baseado em MAC (ex: impressora sempre recebe .50)
ExclusãoIPs no escopo que não serão distribuídos
Relay AgentEncaminha DHCP entre sub-redes (já que broadcast não passa por roteador)

DHCP Lease

Lease: 8 dias (padrão)
Renovação em T1 (50%): o cliente tenta renovar com o servidor
Renovação em T2 (87.5%): o cliente tenta com qualquer servidor
Expiração: IP liberado

HTTP/HTTPS

Request/Response

GET /api/users HTTP/1.1
Host: api.exemplo.com
User-Agent: Mozilla/5.0
Accept: application/json
Authorization: Bearer eyJhbGci...
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=3600

{"users": [...]}

Métodos HTTP

MétodoDescriçãoIdempotente
GETRecuperar recursoSim
POSTCriar recursoNão
PUTSubstituir recursoSim
PATCHAtualizar parcialmenteNão
DELETERemover recursoSim
HEADHeaders sem corpoSim
OPTIONSMétodos disponíveisSim

Status HTTP

1xx: Informacional (101 Switching Protocols)
2xx: Sucesso (200 OK, 201 Created, 204 No Content)
3xx: Redirecionamento (301 Moved, 302 Found, 304 Not Modified)
4xx: Erro do cliente (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found)
5xx: Erro do servidor (500 Internal Server Error, 502 Bad Gateway, 503 Unavailable)

HTTP/2 vs HTTP/3

CaracterísticaHTTP/1.1HTTP/2HTTP/3
TransporteTCPTCPQUIC (UDP)
MultiplexaçãoLimitada (6 conexões)Sim (streams)Sim (streams nativos)
HeadersTexto (não comprimido)HPACK (comprimido)QPACK (comprimido)
Server PushNãoSimNão (removido)
LatênciaAlta (head-of-line blocking)Bloqueio TCPZero RTT, sem HOL

SSL/TLS Handshake

Handshake TLS 1.3

Cliente → Servidor: ClientHello (supported versions, key share)
Servidor → Cliente: ServerHello + Certificate + Finished
Cliente → Servidor: Finished (criptografado)

Ida e volta: 1-RTT (1 round trip), ou 0-RTT para conexões anteriores.

# Verificar certificado SSL de um site
openssl s_client -connect google.com:443 -servername google.com
openssl s_client -connect google.com:443 -tls1_3

Lab: Diagnóstico DNS e DHCP

# Testar resolução DNS
nslookup google.com 8.8.8.8

# Ver cache DNS local
ipconfig /displaydns

# Limpar cache DNS
ipconfig /flushdns

# Verificar configuração de rede completa
ipconfig /all

# Simular DHCP release e renew
ipconfig /release
ipconfig /renew

# Ver portas de escuta (HTTP/80, HTTPS/443, DNS/53)
netstat -an | findstr ":443 "
netstat -an | findstr ":53 "

# Testar conexão HTTPS com detalhes (PowerShell 5.1+)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$request = [System.Net.WebRequest]::Create("https://google.com")
$request.GetResponse().Headers

# Testar TLS com .NET
[System.Net.Security.SslStream]::new(
    [System.IO.Stream]::null, $false,
    { $true }).AuthenticationSslStream

DNS e DHCP são a espinha dorsal da conectividade. Um falha de DNS causa "internet não funciona" mesmo com rede funcionando. Domine as ferramentas de diagnóstico: nslookup, dig, ipconfig.