Modelos OSI e TCP/IP

Fundamentos da Comunicação em Rede

Entender os modelos OSI e TCP/IP é essencial para compreender como os dados trafegam pela rede, desde a aplicação até o meio físico.


🌐 Modelo OSI (Open Systems Interconnection)

Modelo Conceitual

O modelo OSI é um modelo conceitual usado para entender e descrever como diferentes aplicações e protocolos de rede interagem e se comunicam entre si.

Modelo OSI

📊 As Sete Camadas do Modelo OSI

CamadaNomeFunçãoProtocolos/Exemplos
7AplicaçãoInterface com o usuário e serviços de redeHTTP, FTP, SMTP
6ApresentaçãoTradução, criptografia e compressãoSSL, TLS
5SessãoGerencia conexões entre aplicaçõesNFS, NetBIOS, RPC
4TransporteEntrega confiável de dadosTCP, UDP
3RedeEndereçamento e roteamentoIP, ICMP
2Enlace de DadosTransferência confiável entre dispositivosEthernet, PPP
1FísicaTransmissão de bits brutosCabos, Wi-Fi, Fibra

🔍 Detalhamento das Camadas

Camada 1: Física

  • Função: Transmissão e recepção de bits brutos através de um meio físico
  • Exemplos: Cabos Ethernet, fibra óptica, Wi-Fi
  • Utilização: Transmite dados como sinais elétricos, ópticos ou de rádio

Camada 2: Enlace de Dados

  • Função: Transferência confiável entre dois dispositivos conectados diretamente
  • Exemplos: Ethernet, PPP
  • Utilização: Controla formatação para transmissão e acesso ao meio físico

Camada 3: Rede

  • Função: Endereçamento, roteamento e encaminhamento de pacotes
  • Exemplos: IP, ICMP
  • Utilização: Define rotas para enviar pacotes entre redes diferentes

Camada 4: Transporte

  • Função: Transmissão confiável e controle de fluxo entre pontos finais
  • Exemplos: TCP, UDP
  • Utilização: Garante entrega sem erros e na sequência correta

Camada 5: Sessão

  • Função: Gerencia sessões de comunicação entre dispositivos
  • Exemplos: NFS, NetBIOS, RPC
  • Utilização: Estabelece e gerencia conexões entre máquinas

Camada 6: Apresentação

  • Função: Tradução de dados entre formatos de rede e aplicação
  • Exemplos: SSL, TLS
  • Utilização: Criptografa dados e traduz diferentes formatos

Camada 7: Aplicação

  • Função: Interface entre o usuário e os serviços de rede
  • Exemplos: HTTP, FTP, SMTP
  • Utilização: Fornece interfaces para navegadores, email, etc.

Fluxo de dados no modelo OSI

📺 Vídeo: Modelo OSI


🌍 Modelo TCP/IP

Modelo Prático

O modelo TCP/IP (Transmission Control Protocol/Internet Protocol) é o conjunto de protocolos usado para interconectar dispositivos na Internet. É mais prático que o OSI, com menos camadas.

Modelo TCP/IP

📊 As Quatro Camadas do TCP/IP

CamadaFunçãoProtocolos
AplicaçãoComunicação de alto nívelHTTP, HTTPS, FTP, SMTP, DNS
TransporteGerencia transmissão entre sistemasTCP, UDP
InternetRoteamento de pacotesIP, ICMP, ARP
Acesso à RedeTransmissão física dos dadosEthernet, Wi-Fi, PPP

🔄 Comparativo OSI vs TCP/IP

Encapsulamento de dados

AspectoModelo OSIModelo TCP/IP
Camadas7 camadas4 camadas
NaturezaTeórico/ConceitualPrático
UsoReferência educacionalInternet real
ProtocolosIndependenteSuite específica

Exemplo Prático

Use o Wireshark para visualizar as camadas do modelo TCP/IP em ação durante uma captura de pacotes.


📡 Protocolos de Rede

Protocolos por camada

Definição

Os protocolos de rede definem regras e convenções para a comunicação entre dispositivos. Cada um tem uma função específica.

📋 Principais Protocolos

ProtocoloDescrição
HTTP/HTTPSTransferência de documentos web (seguro com HTTPS)
FTP/SFTPTransferência de arquivos (seguro com SFTP)
TCPProtocolo orientado à conexão, entrega confiável
UDPProtocolo de datagramas, mais rápido, sem garantia
IPEncaminhamento de pacotes através de redes
ICMPRelatórios de erros e informações operacionais
SSHGerenciamento seguro de sistemas remotos
TelnetInteração com servidores remotos (inseguro)
SMTPTransferência de e-mails entre servidores
POP3/IMAPRecuperação de mensagens de e-mail
DNSTradução de nomes de domínio para IPs
DHCPAtribuição automática de endereços IP
ARPMapeamento de IP para endereço MAC
RDPConexão e controle de desktop remoto

🔬 Exemplos Práticos

1️⃣ Camada de Aplicação: Transferência FTP/SSH

Objetivo

Transferir um arquivo usando FTP ou SSH.

Via SSH (SCP):

# Enviar arquivo para servidor
scp /caminho/local/arquivo usuario@servidor:/caminho/remoto/destino
 
# Baixar arquivo do servidor
scp usuario@servidor:/caminho/remoto/arquivo /caminho/local/destino

2️⃣ Camada de Transporte: Netcat

Objetivo

Criar uma conexão TCP simples entre dois computadores.

# No servidor (escutar na porta 1234)
nc -l 1234
 
# No cliente (conectar ao servidor)
nc [IP do Servidor] 1234

Resultado

As mensagens digitadas em um terminal aparecem no outro.


3️⃣ Camada de Internet: Traceroute

Objetivo

Analisar a rota percorrida pelos pacotes até um destino.

# Linux/macOS
traceroute google.com
 
# Windows
tracert google.com

4️⃣ Camada de Acesso à Rede: ARP

Objetivo

Observar o mapeamento de IP para MAC.

# Limpar tabela ARP
arp -d
 
# Visualizar tabela ARP
arp -a

Análise com Wireshark

Use o filtro arp para visualizar solicitações e respostas ARP.


🎯 Filtros Úteis do Wireshark

Para Análise de Protocolos

FiltroDescrição
ip.addr == x.x.x.xFiltrar por IP específico
dns.qry.name == "dominio.com"Consultas DNS para um domínio
http.request.full_uri contains "site"Requisições HTTP para um site
ip.addr == x.x.x.x && tcp.port == 80IP específico na porta HTTP
arpPacotes ARP

🧱 Encapsulamento de Dados

O que é encapsulamento?

Encapsulamento é o processo pelo qual cada camada do modelo OSI/TCP/IP adiciona um cabeçalho (e às vezes um trailer) ao dado recebido da camada superior, antes de passá-lo para a camada de baixo. No destino, o processo inverso, chamado desencapsulamento, remove esses cabeçalhos camada por camada.

Cada camada usa um nome específico para a sua unidade de dados, chamada de PDU (Protocol Data Unit):

Camada OSINome da PDUO que é adicionado
7 AplicaçãoDados (Data)Conteúdo gerado pelo usuário/aplicação
6 ApresentaçãoDados (Data)Formatação, criptografia
5 SessãoDados (Data)Controle de sessão
4 TransporteSegmento (TCP) / Datagrama (UDP)Porta de origem/destino, número de sequência
3 RedePacote (Packet)IP de origem e destino
2 EnlaceQuadro (Frame)MAC de origem e destino, FCS (verificação)
1 FísicaBitsSinais elétricos, ópticos ou de rádio

🔁 Diagrama de Encapsulamento OSI vs TCP/IP

graph TD
    subgraph OSI["Modelo OSI"]
        A7[7 Aplicação]
        A6[6 Apresentação]
        A5[5 Sessão]
        A4[4 Transporte]
        A3[3 Rede]
        A2[2 Enlace de Dados]
        A1[1 Física]
    end

    subgraph TCPIP["Modelo TCP/IP"]
        T4[Aplicação]
        T3[Transporte]
        T2[Internet]
        T1[Acesso à Rede]
    end

    A7 --> T4
    A6 --> T4
    A5 --> T4
    A4 --> T3
    A3 --> T2
    A2 --> T1
    A1 --> T1

Como ler o diagrama

As camadas 7, 6 e 5 do OSI são agrupadas na camada de Aplicação do TCP/IP. As camadas 2 e 1 formam o Acesso à Rede. As camadas 4 e 3 têm correspondência direta.


📌 Mapeamento de Protocolos por Camada

Tabela de Referência Rápida

Esta tabela responde à pergunta: “Em qual camada cada protocolo opera?”

ProtocoloCamada OSICamada TCP/IPPDUFunção resumida
HTTP7 AplicaçãoAplicaçãoDadosTransferência de páginas web
DNS7 AplicaçãoAplicaçãoDadosResolução de nomes para IPs
SMTP7 AplicaçãoAplicaçãoDadosEnvio de e-mails
TLS/SSL6 ApresentaçãoAplicaçãoDadosCriptografia e autenticação
TCP4 TransporteTransporteSegmentoEntrega confiável, orientado à conexão
UDP4 TransporteTransporteDatagramaEntrega rápida, sem garantia
IP3 RedeInternetPacoteEndereçamento e roteamento
ICMP3 RedeInternetPacoteMensagens de erro e diagnóstico
ARP2/3 (híbrido)Acesso à Rede/InternetFrameMapeia IP para MAC na LAN
Ethernet2 EnlaceAcesso à RedeQuadroTransmissão local via cabo
Wi-Fi (802.11)2 EnlaceAcesso à RedeQuadroTransmissão local via rádio

ARP: protocolo híbrido

O ARP opera na fronteira entre as camadas 2 e 3. Ele usa endereços IP (camada 3) para descobrir endereços MAC (camada 2). Por isso, aparece em ambas as colunas dependendo da fonte consultada.


🌐 O que Acontece ao Carregar um Site

Jornada de uma requisição HTTP nas camadas OSI

Quando você digita https://www.google.com no navegador e pressiona Enter, uma série de eventos acontece em cada camada:

CamadaO que aconteceProtocolo envolvido
7 AplicaçãoO navegador cria a requisição HTTP GET para www.google.comHTTP/HTTPS
6 ApresentaçãoO TLS cifra o conteúdo da requisição (HTTPS)TLS 1.3
5 SessãoO TLS handshake estabelece a sessão seguraTLS
4 TransporteO TCP divide em segmentos, define porta 443, controla entregaTCP
3 RedeO IP adiciona endereço de origem (seu IP) e destino (IP do Google) e define a rotaIP, DNS (para descobrir o IP)
2 EnlaceO quadro Ethernet é criado com o MAC do roteador como destinoEthernet/ARP
1 FísicaOs bits são convertidos em sinais elétricos ou Wi-Fi e transmitidosCabo, Wi-Fi

Ao chegar no servidor do Google, o processo se inverte: o servidor desencapsula camada por camada, processa a requisição, e devolve a resposta HTTP pelo mesmo caminho.


🧪 Atividades Práticas

🧪 Atividade 1: Capture seu próprio tráfego no Wireshark e identifique as camadas

Ferramenta: Wireshark (gratuito, Windows/Linux/macOS)

Passos:

  1. Instale o Wireshark e abra-o.
  2. Selecione sua interface de rede ativa (ex: Wi-Fi ou Ethernet).
  3. Clique em Start Capture (ícone de tubarão azul).
  4. No navegador, acesse http://example.com (HTTP sem criptografia para facilitar a leitura).
  5. Volte ao Wireshark e pare a captura (ícone quadrado vermelho).
  6. Na caixa de filtro, digite http e pressione Enter.
  7. Clique em um pacote HTTP GET e expanda o painel Packet Details.

O que observar:

  • Frame: dados da camada Física/Enlace (tamanho do quadro, interface)
  • Ethernet II: camada 2 (MAC de origem e destino)
  • Internet Protocol: camada 3 (IP de origem e destino)
  • Transmission Control Protocol: camada 4 (portas, número de sequência)
  • Hypertext Transfer Protocol: camada 7 (método GET, Host, User-Agent)

Resultado observável: você verá cada camada OSI representada como uma “gaveta” expansível no Wireshark. Para cada protocolo identificado, anote em qual camada OSI ele aparece e qual é o nome da sua PDU.

Filtros adicionais para explorar:

dns          -> consultas DNS (camada 7)
tcp          -> segmentos TCP (camada 4)
arp          -> resolução ARP (camada 2/3)
icmp         -> pings e erros (camada 3)

🧪 Atividade 2: Mapeie um carregamento de site nas 7 camadas OSI

Ferramentas: Wireshark + navegador com DevTools (F12)

Passos:

  1. Abra o Wireshark e inicie a captura na sua interface.
  2. No navegador, abra o DevTools (F12) e vá na aba Network.
  3. Acesse http://httpbin.org/get (retorna JSON, sem redirecionamento HTTPS).
  4. Pare a captura no Wireshark.
  5. Preencha a tabela abaixo com o que você observou em cada camada:
Camada OSINomeO que você identificou na capturaProtocolo/PDU
7Aplicação
6Apresentação
5Sessão
4Transporte
3Rede
2Enlace
1Física

Dica para a camada 1: no painel Frame do Wireshark, olhe o campo “Interface id” e “Encapsulation type” para identificar o meio físico.

Resultado observável: ao final, a tabela preenchida mapeia cada detalhe visível na captura para a camada OSI correspondente. Compare com a tabela do colega: os IPs de origem/destino diferem, mas a estrutura de camadas é idêntica para todos.


🧪 Atividade 3: Classifique 6 protocolos por camada OSI e TCP/IP

Ferramenta: papel e caneta (ou planilha). Sem internet permitida durante a atividade.

Protocolos para classificar: HTTP, TCP, IP, Ethernet, DNS, ARP

Complete a tabela:

ProtocoloCamada OSI (número + nome)Camada TCP/IPPDU (nome da unidade)
HTTP
TCP
IP
Ethernet
DNS
ARP

Verificação: após preencher, abra o Wireshark, capture qualquer tráfego e confirme cada protocolo no painel Packet Details. Para cada protocolo que aparece na captura, compare com sua resposta.

Resultado observável: gabarito gerado pelo próprio Wireshark (cada linha do painel Packet Details corresponde a uma camada). Se a sua classificação divergiu, identifique em qual ponto errou e corrija.

Gabarito (abrir só depois de tentar):

ProtocoloCamada OSICamada TCP/IPPDU
HTTP7 AplicaçãoAplicaçãoDados
TCP4 TransporteTransporteSegmento
IP3 RedeInternetPacote
Ethernet2 EnlaceAcesso à RedeQuadro
DNS7 AplicaçãoAplicaçãoDados
ARP2/3 (híbrido)Acesso à RedeQuadro/Pacote

🔄 Diagrama: 7 Camadas OSI vs 4 Camadas TCP/IP

graph LR
    subgraph OSI7["OSI - 7 Camadas"]
        direction TB
        L7["7️⃣ Aplicação\nHTTP, FTP, SMTP, DNS"]
        L6["6️⃣ Apresentação\nTLS, SSL, JPEG"]
        L5["5️⃣ Sessão\nNetBIOS, RPC, NFS"]
        L4["4️⃣ Transporte\nTCP, UDP"]
        L3["3️⃣ Rede\nIP, ICMP, ARP"]
        L2["2️⃣ Enlace\nEthernet, Wi-Fi, PPP"]
        L1["1️⃣ Física\nCabos, Fibra, Rádio"]
    end

    subgraph TCP4["TCP/IP - 4 Camadas"]
        direction TB
        T4["Aplicação\nHTTP, DNS, SMTP, FTP"]
        T3["Transporte\nTCP, UDP"]
        T2["Internet\nIP, ICMP, ARP"]
        T1["Acesso à Rede\nEthernet, Wi-Fi"]
    end

    L7 -.-> T4
    L6 -.-> T4
    L5 -.-> T4
    L4 -.-> T3
    L3 -.-> T2
    L2 -.-> T1
    L1 -.-> T1

📦 Diagrama: Encapsulamento de Dados (de cima para baixo)

sequenceDiagram
    participant App as 7 Aplicação
    participant Trans as 4 Transporte
    participant Net as 3 Rede
    participant Link as 2 Enlace
    participant Phys as 1 Física

    App->>Trans: Dados HTTP (GET /index.html)
    Note over Trans: Adiciona cabeçalho TCP\n(porta, seq, ack)
    Trans->>Net: Segmento TCP
    Note over Net: Adiciona cabeçalho IP\n(IP origem/destino)
    Net->>Link: Pacote IP
    Note over Link: Adiciona cabeçalho Ethernet\n(MAC origem/destino) + FCS
    Link->>Phys: Quadro Ethernet
    Note over Phys: Converte em sinais\nelétricos ou Wi-Fi
    Phys-->>Phys: 01001101 00110101...

Desencapsulamento

No destino, o processo se inverte: a camada Física recebe os bits, a camada de Enlace remove o cabeçalho Ethernet, a Rede remove o cabeçalho IP, o Transporte remove o cabeçalho TCP, e a Aplicação recebe os dados originais.


🆚 TCP vs UDP: Quando Usar Cada Um?

Comparativo TCP e UDP

CaracterísticaTCPUDP
OrientaçãoConexão (3-way handshake)Sem conexão
ConfiabilidadeEntrega garantida com retransmissãoSem garantia de entrega
OrdemMantém ordem dos pacotesPode chegar fora de ordem
VelocidadeMais lento (overhead de controle)Mais rápido (menos overhead)
Uso típicoHTTP, HTTPS, FTP, SMTP, SSHDNS, streaming, jogos online, VoIP
PDUSegmentoDatagrama

Por que o DNS usa UDP?

O DNS usa UDP por padrão porque as consultas são pequenas e a velocidade importa mais que a confiabilidade. Se a resposta não chegar, o cliente simplesmente reenvia a consulta. Porém, transferências de zona DNS entre servidores usam TCP porque os dados são grandes e precisam ser completos.


🔧 Diagnóstico de Rede por Camada

Quando algo não funciona, saber em qual camada está o problema acelera o diagnóstico.

SintomaCamada suspeitaFerramenta de diagnóstico
Cabo desconectado, sem link1 Físicaip link show, luzes do switch
MAC inválido, colisão2 Enlacearp -a, Wireshark filtro eth
Sem rota, IP errado3 Redeping, traceroute, ip route
Porta bloqueada, timeout TCP4 Transportenetstat, ss, nc
DNS não resolve7 Aplicaçãonslookup, dig, Wireshark filtro dns
Site carrega mas imagem não7 AplicaçãoDevTools do navegador (aba Network)
# Exemplos de comandos de diagnóstico por camada
 
# Camada 1 e 2: verificar interface e link
ip link show
ip addr show
 
# Camada 3: testar conectividade IP
ping 8.8.8.8
traceroute 8.8.8.8
 
# Camada 4: verificar portas abertas
ss -tlnp          # Linux
netstat -an       # Windows/Linux
 
# Camada 7: testar DNS
nslookup google.com
dig google.com

🔁 3-Way Handshake do TCP

Como o TCP estabelece uma conexão

Antes de transmitir dados, o TCP realiza um aperto de mão em 3 etapas para garantir que ambos os lados estejam prontos:

sequenceDiagram
    participant C as Cliente
    participant S as Servidor

    C->>S: SYN (seq=x)
    Note right of S: "Quero conectar!"
    S->>C: SYN-ACK (seq=y, ack=x+1)
    Note left of C: "Recebi, pode enviar!"
    C->>S: ACK (ack=y+1)
    Note right of S: Conexão estabelecida
    C->>S: Dados HTTP GET /index.html
    S->>C: Dados HTTP 200 OK + conteúdo

SYN, SYN-ACK, ACK

SYN (synchronize): inicia a conexão. ACK (acknowledge): confirma recebimento. O SYN-ACK combina os dois: confirma o SYN do cliente e ao mesmo tempo envia o próprio SYN do servidor.


🌐 Como o DNS Funciona

A resolução de nomes é uma das operações mais frequentes na rede.

sequenceDiagram
    participant User as Usuário (navegador)
    participant Res as Resolver DNS Local (SO)
    participant ISP as DNS do Provedor (ISP)
    participant Root as Servidor Raiz (.)
    participant TLD as Servidor TLD (.com)
    participant Auth as Servidor Autoritativo (google.com)

    User->>Res: Qual o IP de www.google.com?
    Res->>ISP: Não sei, pergunto ao ISP
    ISP->>Root: Quem responde por .com?
    Root->>ISP: 192.5.6.30 (TLD .com)
    ISP->>TLD: Quem responde por google.com?
    TLD->>ISP: 216.239.34.10 (NS do Google)
    ISP->>Auth: Qual o IP de www.google.com?
    Auth->>ISP: 142.250.79.100
    ISP->>Res: 142.250.79.100 (cacheado)
    Res->>User: 142.250.79.100

Cache DNS

Para evitar repetir esse caminho em cada consulta, o resolver e o ISP armazenam a resposta por um tempo definido pelo campo TTL (Time To Live). Por isso, mudanças de DNS levam horas para se propagar.


📖 Resumo Visual: Protocolos no Pacote OSI

graph TB
    subgraph "Pacote completo numa requisição HTTP"
        B7["HTTP: GET /index.html\nHost: example.com"]
        B4["TCP: Porta 80 → 443, Seq 1001, Ack 3001"]
        B3["IP: 192.168.1.10 → 93.184.216.34"]
        B2["Ethernet: MAC_PC → MAC_Roteador | FCS"]
        B1["Bits: 01001100 01001000 01010100..."]
    end

    B7 --> B4
    B4 --> B3
    B3 --> B2
    B2 --> B1

💡 Curiosidades e Contexto Histórico

Origem do Modelo OSI

O modelo OSI foi desenvolvido pela ISO (International Organization for Standardization) em 1984, durante a chamada “guerra dos protocolos”, quando diferentes fabricantes (IBM, DEC, Xerox) tinham protocolos incompatíveis. O objetivo era criar um padrão universal. Na prática, o TCP/IP venceu a batalha por ser mais simples e já estar em uso na ARPANET (precursora da Internet).

IPv4 vs IPv6

O protocolo IP na camada de Rede existe em duas versões:

  • IPv4: endereços de 32 bits (ex: 192.168.1.1). Esgotou em 2011.
  • IPv6: endereços de 128 bits (ex: 2001:0db8:85a3::8a2e:0370:7334). Permite 340 undecilhões de endereços. A transição ainda está em curso em 2026.

HTTPS e TLS

Desde 2018, o Google Chrome marca como “Não seguro” qualquer site HTTP sem TLS. O protocolo TLS 1.3 (lançado em 2018) é a versão atual e opera na camada de Apresentação (6) do OSI, cifrando os dados antes que o TCP os envie.


📚 Fontes (2026)