Modelo OSI e TCP/IP
Aula 1 de 6
Modelo OSI — 7 Camadas
O Modelo OSI (Open Systems Interconnection) é um modelo conceitual que padroniza as funções de um sistema de comunicação em 7 camadas:
| Camada | Unidade de Dados (PDU) | Função |
|---|---|---|
| 7 - Aplicação | Dados | Interface com o usuário (HTTP, FTP, SMTP) |
| 6 - Apresentação | Dados | Tradução, criptografia, compressão |
| 5 - Sessão | Dados | Controle de diálogo, sessões |
| 4 - Transporte | Segmento | Confiabilidade, controle de fluxo |
| 3 - Rede | Pacote | Roteamento, endereçamento lógico |
| 2 - Enlace | Quadro | Endereçamento MAC, detecção de erros |
| 1 - Física | Bits | Transmissão binária pelo meio físico |
Encapsulamento
Cada camada adiciona um header ao dado recebido da camada superior:
[Dados da Aplicação]
↓ Camada de Transporte adiciona header TCP/UDP
[TCP|Dados]
↓ Camada de Rede adiciona header IP
[IP|TCP|Dados]
↓ Camada de Enlace adiciona header Ethernet + FCS
[Ethernet|IP|TCP|Dados|FCS]
Modelo TCP/IP
O modelo TCP/IP possui 4 camadas, mais próximo da implementação real:
| Camada | Protocolos Principais |
|---|---|
| Aplicação | HTTP, HTTPS, DNS, DHCP, FTP, SMTP, SSH |
| Transporte | TCP, UDP |
| Internet | IP, ICMP, ARP, IGMP |
| Acesso à Rede | Ethernet, Wi-Fi (802.11), PPP |
TCP vs UDP
| Característica | TCP | UDP |
|---|---|---|
| Conexão | Orientado à conexão | Não orientado |
| Confiabilidade | Garantido (ACK + retransmissão) | Sem garantia |
| Ordenação | Sequenciação | Não ordena |
| Velocidade | Mais lento (overhead) | Mais rápido |
| Uso típico | HTTP, HTTPS, SSH, FTP | DNS, VoIP, streaming, DHCP |
Headers Fundamentais
Ethernet Frame
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Destino (6 bytes) | MAC Origem (6 bytes) | Tipo (2 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Dados (46-1500 bytes) | FCS (4 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Tipo: 0x0800 = IPv4, 0x0806 = ARP, 0x86DD = IPv6
IPv4 Header
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if IHL > 5) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Protocol: 1=ICMP, 6=TCP, 17=UDP
TCP Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port (16) | Destination Port (16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number (32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number (32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data| Res| Flags (9) | Window Size (16) |
| Off | | U A P R S F | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum (16) | Urgent Pointer (16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Flags: SYN, ACK, FIN, RST, PSH, URG
UDP Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port (16) | Destination Port (16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length (16) | Checksum (16) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Diferenças OSI vs TCP/IP
| Aspecto | OSI | TCP/IP |
|---|---|---|
| Camadas | 7 | 4 |
| Desenvolvimento | Teórico (antes dos protocolos) | Prático (protocolos existentes) |
| Uso | Modelo de referência | Implementação real |
| Camadas superiores | Sessão + Apresentação fundidas | Direto na Aplicação |
| Abordagem | Modular, separação estrita | Flexível, camadas integradas |
Lab: Identificando Headers
# Verificar a tabela ARP (camada de enlace/rede)
arp -a
# Inspecionar conexões TCP ativas
netstat -an | findstr "ESTABLISHED"
# Verificar rota e TTL
ping -n 1 8.8.8.8
# Capturar headers com PowerShell (raw sockets simulados)
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State
# Análise de MTU e fragmentação
netsh interface ipv4 show interfaces
# Visualizar tabela de roteamento
route print
# Instalar e usar Wireshark via CLI (tshark) para análise de headers
tshark -D # Listar interfaces
tshark -i 1 -c 5 -Y "ip" # Capturar 5 pacotes IP
tshark -i 1 -c 1 -T fields -e frame.protocols # Ver protocolos em camadas
O modelo OSI é teórico; o TCP/IP é prático. Todo tráfego de rede passa por encapsulamento sequencial — entender os headers é essencial para diagnosticar problemas.