πŸ—οΈ Modelo OSI e TCP/IP

Os modelos de referΓͺncia que definem como os dados fluem atravΓ©s de uma rede, desde a aplicaΓ§Γ£o atΓ© ao meio fΓ­sico.

πŸ“‹ IntroduΓ§Γ£o aos Modelos de ReferΓͺncia

Os modelos de referΓͺncia sΓ£o frameworks teΓ³ricos que dividem a comunicaΓ§Γ£o de rede em camadas lΓ³gicas. Cada camada tem uma funΓ§Γ£o especΓ­fica e comunica com as camadas adjacentes.

ℹ️ Porque usar modelos em camadas?
  • Modularidade: Cada camada pode ser desenvolvida independentemente
  • Interoperabilidade: Diferentes fabricantes podem criar produtos compatΓ­veis
  • SimplificaΓ§Γ£o: Problemas complexos sΓ£o divididos em partes menores
  • PadronizaΓ§Γ£o: Facilita o desenvolvimento de protocolos

7️⃣ As 7 Camadas do Modelo OSI

O Modelo OSI (Open Systems Interconnection) foi desenvolvido pela ISO em 1984. Define 7 camadas, desde a fΓ­sica atΓ© Γ  aplicaΓ§Γ£o.

Modelo OSI - De baixo para cima
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     MODELO OSI - 7 CAMADAS                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ NΒΊ   β”‚     Camada      β”‚                 FunΓ§Γ£o                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  7   β”‚   AplicaΓ§Γ£o     β”‚ Interface com o utilizador (HTTP, FTP, DNS) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  6   β”‚   ApresentaΓ§Γ£o  β”‚ Formato, encriptaΓ§Γ£o (SSL/TLS, JPEG)        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  5   β”‚   SessΓ£o        β”‚ Estabelece/mantΓ©m sessΓ΅es (RPC, NetBIOS)    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  4   β”‚   Transporte    β”‚ Entrega fim-a-fim, controlo de erros (TCP)  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  3   β”‚   Rede          β”‚ Encaminhamento, endereΓ§amento lΓ³gico (IP)  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  2   β”‚   LigaΓ§Γ£o Dados β”‚ EndereΓ§amento fΓ­sico, deteΓ§Γ£o erros (MAC)  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  1   β”‚   FΓ­sica        β”‚ TransmissΓ£o de bits pelo meio fΓ­sico       β”‚
β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

         ↑ Dados descem (Encapsulamento)
         ↓ Dados sobem (Desencapsulamento)

MnemΓ³nica para Memorizar

πŸ’‘ Truque para Memorizar

De baixo para cima: "Fui Ler Da Rua Sozinho Para Aprender"

  • FΓ­sica
  • LigaΓ§Γ£o de Dados
  • De Rede
  • Rede (Transporte)
  • SessΓ£o
  • PresentaΓ§Γ£o
  • AplicaΓ§Γ£o

Detalhe por Camada

1️⃣ Camada FΓ­sicaβ–Ό

FunΓ§Γ£o: Transmite bits atravΓ©s do meio fΓ­sico.

Unidade: Bits

Dispositivos: Hubs, Cabos, Repetidores

Protocolos: Ethernet (fΓ­sico), USB, Bluetooth (fΓ­sico)

2️⃣ Camada de LigaΓ§Γ£o de Dadosβ–Ό

FunΓ§Γ£o: Controlo de acesso ao meio fΓ­sico e deteΓ§Γ£o de erros.

Unidade: Frames (Quadros)

EndereΓ§amento: MAC Address (ex: AA:BB:CC:DD:EE:FF)

Dispositivos: Switches, Bridges

Protocolos: Ethernet, Wi-Fi (802.11)

3️⃣ Camada de Redeβ–Ό

FunΓ§Γ£o: Encaminhamento de pacotes entre redes diferentes.

Unidade: Pacotes

EndereΓ§amento: EndereΓ§o IP (ex: 192.168.1.1)

Dispositivos: Routers

Protocolos: IP (IPv4, IPv6), ICMP, ARP

4️⃣ Camada de Transporteβ–Ό

FunΓ§Γ£o: ComunicaΓ§Γ£o fim-a-fim com fiabilidade.

Unidade: Segmentos

EndereΓ§amento: Portas (ex: 80, 443, 22)

Protocolos:

  • TCP: FiΓ‘vel, orientado Γ  ligaΓ§Γ£o
  • UDP: NΓ£o fiΓ‘vel, sem ligaΓ§Γ£o
5️⃣ Camada de SessΓ£oβ–Ό

FunΓ§Γ£o: Estabelece, mantΓ©m e termina sessΓ΅es entre aplicaΓ§Γ΅es.

Protocolos: RPC, NetBIOS, SMB

FunΓ§Γ΅es: SincronizaΓ§Γ£o, controlo de diΓ‘logo, gestΓ£o de tokens

6️⃣ Camada de ApresentaΓ§Γ£oβ–Ό

FunΓ§Γ£o: Traduz, encripta e comprime dados.

Protocolos: SSL/TLS, JPEG, MPEG, ASCII

FunΓ§Γ΅es: FormataΓ§Γ£o de dados, encriptaΓ§Γ£o, compressΓ£o

7️⃣ Camada de AplicaΓ§Γ£oβ–Ό

FunΓ§Γ£o: Interface direta com as aplicaΓ§Γ΅es do utilizador.

Protocolos: HTTP/HTTPS, FTP, DNS, SMTP, SSH, Telnet

O que faz: Fornece serviΓ§os de rede Γ s aplicaΓ§Γ΅es

πŸ“‘ Modelo TCP/IP

O Modelo TCP/IP Γ© o modelo prΓ‘tico usado na Internet. Γ‰ mais simples que o OSI, com apenas 4 camadas.

Modelo TCP/IP
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     MODELO TCP/IP - 4 CAMADAS                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ NΒΊ   β”‚     Camada      β”‚              Protocolos                      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  4   β”‚   AplicaΓ§Γ£o     β”‚ HTTP, FTP, DNS, SMTP, SSH                   β”‚
β”‚      β”‚                 β”‚ (Equivalente Γ s camadas 5,6,7 do OSI)        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  3   β”‚   Transporte    β”‚ TCP, UDP                                    β”‚
β”‚      β”‚                 β”‚ (Equivalente Γ  camada 4 do OSI)             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  2   β”‚   Internet      β”‚ IP, ICMP, ARP                               β”‚
β”‚      β”‚                 β”‚ (Equivalente Γ  camada 3 do OSI)             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  1   β”‚   Acesso Rede   β”‚ Ethernet, Wi-Fi, DSL, Fibra                β”‚
β”‚      β”‚                 β”‚ (Equivalente Γ s camadas 1,2 do OSI)         β”‚
β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š ComparaΓ§Γ£o OSI vs TCP/IP

ComparaΓ§Γ£o Visual
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Modelo OSI    β”‚   Modelo TCP/IPβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 7. AplicaΓ§Γ£o    β”‚                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ 4. AplicaΓ§Γ£o    β”‚
β”‚ 6. ApresentaΓ§Γ£o β”‚                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€                 β”‚
β”‚ 5. SessΓ£o       β”‚                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 4. Transporte   β”‚ 3. Transporte   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 3. Rede         β”‚ 2. Internet     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2. LigaΓ§Γ£o Dadosβ”‚                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ 1. Acesso Rede  β”‚
β”‚ 1. FΓ­sica       β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

OSI - Vantagens

  • Modelo teΓ³rico completo
  • Clara separaΓ§Γ£o de funΓ§Γ΅es
  • ReferΓͺncia acadΓ©mica

OSI - Desvantagens

  • Complexo
  • NΓ£o usado na prΓ‘tica
  • Camadas 5 e 6 pouco usadas

TCP/IP - Vantagens

  • Usado na Internet
  • Simples e prΓ‘tico
  • Amplamente implementado

TCP/IP - Desvantagens

  • Menos detalhado
  • Modelo descritivo
  • NΓ£o separa bem serviΓ§os

πŸ“¦ Encapsulamento de Dados

Quando dados sΓ£o enviados, vΓ£o sendo encapsulados em cada camada, adicionando headers. No destino, acontece o processo inverso (desencapsulamento).

Processo de Encapsulamento
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    ENCAPSULAMENTO DE DADOS                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                   β”‚
β”‚  Camada 7:  [ DADOS ]                                             β”‚
β”‚                                                                   β”‚
β”‚  Camada 6:  [ HEADER APRESENTAÇÃO | DADOS ]                      β”‚
β”‚                                                                   β”‚
│  Camada 5:  [ HEADER SESSÃO | HEADER APRES | DADOS ]             │
β”‚                                                                   β”‚
│  Camada 4:  [ HEADER TRANSPORTE | HEADER SESSÃO | ... | DADOS ]  │
β”‚              ↑ SEGMENTO                                           β”‚
β”‚                                                                   β”‚
β”‚  Camada 3:  [ HEADER IP | HEADER TRANSP | ... | DADOS ]          β”‚
β”‚              ↑ PACOTE                                             β”‚
β”‚                                                                   β”‚
β”‚  Camada 2:  [ FRAME HEADER | HEADER IP | ... | DADOS | FCS ]    β”‚
β”‚              ↑ FRAME (Quadro)                                    β”‚
β”‚                                                                   β”‚
β”‚  Camada 1:  01010110... (Bits no meio fΓ­sico)                    β”‚
β”‚              ↑ BITS                                               β”‚
β”‚                                                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
πŸ’‘ Analogia

Pensa numa carta:

  1. Escreves a mensagem (Dados)
  2. Colocas num envelope com endereΓ§o (Header IP)
  3. Colocas numa caixa de correio (Frame)
  4. O carteiro transporta (Bits no meio fΓ­sico)