Modelo OSI

Modelo teórico dividido em sete camadas que fornece uma arquitetura padrão de rede para realizar a transferência de dados entre computadores.

Categoria de Tecnologia

Postado em 20 abril 2022

Atualizado em 28 janeiro 2023

Palavras-chave: network,model,protocol,transmissão,internet,pacote,dados

Visualizações: 5085

Olhando do ponto de vista de usuários comuns, a internet é uma grande caixa preta. Apesar de ser uma tecnologia presente na vida de muitas pessoas, poucos se questionam como a internet funciona.

Felizmente, a internet foi padronizada em todo o mundo. Por isso, podemos nos conectar com a internet usando dispositivos de diferentes fabricantes sem depender de certas tecnologias. Um modelo extremamente importante para a padronização da internet foi o modelo OSI.

O que é o modelo OSI

A sigla OSI vem do inglês “open systems interconnection”, em português, “interconexão de sistemas abertos”.

O modelo OSI é um modelo teórico de comunicação de rede. Esse modelo serve de referência para o desenvolvimento sistemas de comunicação, sendo visto como uma forma padronizar e auxiliar implementações de rede.

Esse conceito explica como os dados enviados de outro computador conectado a rede interna ou externa conseguem chegar até a máquina do destinatário e como são processados. O modelo de comunicação de rede é separada em sete camadas. As camadas explicam desde a parte física até a parte digital de como a transferência de informação é realizada. Esse modelo também permite que pessoas sem conhecimento técnico também possam entender em etapas como a internet funciona.

Ordem Camada Descrição
7 Aplicação Camada que o usuário interage
6 Apresentação Conversão de dados
5 Sessão Controla o inicio e o fim de cada sessão de comunicação
4 Transporte Transporta dados de forma ordenada dependendo do protocolo
3 Rede Distribui os pacotes de dados entre os dispositivos
2 Enlace Estabelece a conexão com outras máquinas
1 Física Responsável pelas conexões físicas

Ao receber os dados de outra máquina conectada na rede, o receptor recebe os dados na ordem crescente das camadas até chegar a camada 7, onde o usuário pode visualizar os dados.

Ordem das camadas no recebimento
1
2
3
4
5
6
7

No envio dos dados, a ordem das camadas do ponto de vista do remetente é decrescente. Pois os dados são enviados da aplicação até chegarem a camada física, onde serão enviados em forma física.

Ordem das camadas no envio
1
2
3
4
5
6
7

Como funciona o modelo OSI?

O modelo OSI mostra como os dados são processados em cada uma das 7 camadas até chegar ao usuário final. Sua prioridade é esclarecer como cada camada funciona e qual é o seu papel.

Camada física

A camada física gerencia conexões físicas entre dispositivos de rede, sendo responsável por estabelecer, manter e encerrar as conexões. Nessa camada são definidos os meios físicos utilizados na conexão e transferência de dados. Esses meios podem ser cabos de cobre ou fibra óptica.

Nessa camada, os protocolos usados são Ethernet, USB e RS-232. A transferência de dados é feita através de sinais elétricos ou feixes de luz dependendo do meio. Esses sinais são usados para representar os dados binários, usando a ausência e a presença desses sinais como valor.

Exemplos de meios na camada de rede são os cabos RJ, usados para conectar computadores com hubs e switches. O RS-232, responsável pela transferência de dados binários também pertence a camada física.

modelo osi camada física

Camada de enlace

A camada de enlace gerencia a conexão física entre os dispositivos da mesma rede. Tem papel intermediário entre a camada física e a camada de rede, garantindo que os dispositivos de rede conectados possam receber e enviar dados sem que haja conflitos. Possui mecanismos que garantem a confiabilidade de transmissão de dados, como o ARQ (Automatic Repeat Request) e o CRC (Cyclic Redundancy Check), responsáveis por detectar erros e solicitar reenvio de dados em caso de dados corrompidos. Alguns exemplos de protocolos na camada de enlace são: CSMA/CD (Carrier Sense Multiple Access with Collision Detection), MAC (Media Access Control) e ARP (Address Resolution Protocol).

Exemplos de dispositivos da camada de enlace são hub e switch. De modo geral, esses dispositivos exercem o papel de segmentar e estruturar pacotes de dados, garantindo a transmissão desses dados.

camada de enlace protocolo CSMA/CD

Os dispositivos da camada de enlace usam o quadro (frame) como unidade de dados. O quadro é uma estrutura de dados padronizada, contendo informações de cabeçalho e payload. O cabeçalho armazena informações como endereço MAC de origem e destino. Diferente do endereço IP que é um endereço lógico e pode variar, o endereço MAC é um endereço físico e fixo da máquina, sendo crucial para a conexão com a rede local. O payload armazena os dados que interessam ao usuário, como vídeos, imagens ou textos, e outras informações como verificação de erros. Dependendo do protocolo utilizado, podem haver outras informações incluídas.

Frame
Cabeçalho
Payload
Dados
FCS
Destino MAC
Origem MAC
Tipo Ethernet

Além de conexões físicas, a camada de enlace também trabalha com conexões lógicas entre os dispositivos de rede. É o caso do protocolo PPP (Point-to-Point Protocol) que estabelece uma conexão lógica entre dispositivos através de uma linha telefônica.

Qual é a diferença entre a conexão lógica e a conexão física?

A conexão física usa interfaces físicas como cabos e conectores para ligar os dispositivos e permitir a transferência de dados. Por outro lado, a conexão lógica usa protocolos de comunicação como o PPP para estabelecer regras e procedimentos para a comunicação de dispositivos, permitindo a transferência de dados de forma independente da conexão física estabelecida.

Camada de rede

A camada de rede é responsável pela conexão lógica entre os dispositivos de diferentes redes. Ela gerencia as informações necessárias para a transferência de dados entre computadores situados em diferentes lugares do mundo usando protocolos de roteamento. Ela endereça os dispositivos de rede e identifica, garantindo que os pacotes de dados cheguem ao destino correto.

camada de rede modelo osi

Exemplos de protocolos usados na camada de rede são o ARP (Address Resolution Protocol), IP (Internet Protocol) e o ICMP (Internet Control Message Protocol). O ARP usa o endereço MAC como base para definir o endereço IP de cada dispositivo conectado a rede. O IP encaminha os pacotes de dados para diferentes redes. Os protocolos ARP e IP trabalham em conjunto para garantir que os dados possam ser enviados e recebidos corretamente. O ICMP também trabalha em conjunto com o IP e é responsável pelo gerenciamento de mensagens de erros entre os dispositivos.

Alguns dispositivos usados na camada de rede são os roteadores, dispositivos de gateway e dispositivos de firewall. O roteador já possui mecanismos de gateway e firewall embutidos. Porém dispositivos de firewall e gateway separados possuem mais recursos e opções de configuração avançada.

Camada de transporte

A camada de transporte é responsável pela conexão lógica entre dispositivos, garantindo que os dados possam ser enviados de forma ordenada. Essa camada usa portas lógicas para identificar diferentes aplicações em uma máquina e monitora a transferência de dados, detectando e corrigindo erros quando necessário. Nessa camada os dados são divididos em segmentos que são enviados ao destinatário em seguida. Os protocolos da camada de transporte geralmente estabelecem uma conexão entre um cliente e um servidor. Protocolos comuns na camada de transporte são o TCP (protocolo de transmissão confiável) e o UDP (protocolo de transmissão não confiável). O TCP fornece uma conexão orientada, garantindo a entrega dos dados de modo confiável. Diferente do UDP que não fornece conexão orientada e nem garante a entrega dos dados. Porém, diferente do TCP, o UDP é usado em aplicações que precisam de alta velocidade e baixa latência, pois ele pula processos como confirmação de entrega de dados.

camada de transporte modelo osi

A camada de transporte não possui dispositivos específicos, uma vez que a lógica é implementada em dispositivos de rede em formato de software. Porém ela tem um papel importante no gerenciamento de conexões e transferência de dados com os aplicativos. Um bom exemplo é o navegador. Quando acessamos um endereço web, o navegador envia uma solicitação para o servidor usando a porta 80 ou 443. O servidor responde a essa solicitação usando a mesma porta. Os protocolos de e-mail funcionam da mesma forma na porta 25 ou 110 dependendo do protocolo, enviando uma solicitação do cliente para o servidor usando o aplicativo de email.

Camada de sessão

A camada de sessão é responsável por gerenciar o tempo de vida das conexões, podendo encerrar a conexão quando necessário. Ela mantém a sessão ativa e garante que os dados sejam enviados de forma consistente entre dois dispositivos, permitindo a troca de dados de modo organizado e controlado.

O tempo médio de cada sessão dependerá do aplicativo e do protocolo utilizados. O objetivo da conexão também influencia na duração de cada sessão. Geralmente, a sessão é encerrada quando um dos dispositivos sincronizados encerram a sessão ou quando ocorre um “Time Out”, encerrando a sessão automaticamente por inatividade. Protocolos bastante conhecidos na camada de sessão são o SSH (Secure Shell), o Telnet e o RDP (Remote Desktop Protocol).

camada de sessão modelo osi

Camada de apresentação

A camada de apresentação é responsável por formatar e converter os dados para que o usuário possa compreender o conteúdo. Nessa camada serão feitos processos como compressão, criptografia e decodificação dos dados. Além disso, também converte dados em um formato compatível com a aplicação utilizado pelo usuário.

Protocolos comuns nessa camada são o SSL (Secure Sockets Layer) e o TLS (Transport Layer Security) para a criptografia de dados. A compressão de imagens é feita com protocolos como o JPEG (Joint Photographic Experts Group), PNG (Portable Network Graphics) e GIF (Graphics Interchange Format). A codificação de caracteres é feita com protocolos como o ASCII (American Standard Code for Information Interchange) e o UTF-8 (Unicode Transformation Format 8-bits) para representar símbolos e caracteres de diferentes idiomas.

camada de apresentação modelo osi

Camada de aplicação

A camada de aplicação é responsável por fornecer a interface que interage com o usuário final. Nessa camada atuam os softwares que interpretam, buscam e exibem a informação de acordo com as exigências dos usuários. Navegadores, clientes de e-mail, terminais e outros aplicativos que se conectam com a internet pertencem a essa camada. Nessa camada os dados chegam a sua formato final, como esse texto que você está lendo agora.

isomodel

Pra que serve o modelo OSI?

O modelo OSI foi criado pela ISO (Organização Internacional para Padronização) em 1984, com o intuito de fornecer uma arquitetura de rede eficiente e padronizada. Isso foi importante para o desenvolvimento de uma estrutura de rede que é capaz de interoperar com dispositivos de diferentes fabricantes e não depender de determinadas tecnologias.

Ao compreender como as camadas são separadas, a compreensão sobre o papel dos protocolos e dispositivos em cada camada fica mais claro. Isso ajuda a diagnosticar problemas de rede, criar soluções para sistemas de comunicação e melhorar a segurança.

Quais são as unidades de dados usados em cada camada?

Cada camada interage com suas respectivas unidades de dados. A estrutura sofre diversas modificações durante o trajeto.

Camada Alguns protocolos Unidade
Aplicação HTTP, SMTP, POP, FTP Dados
Apresentação JPEG, PNG, MPEG, MIDI, MP4 Dados
Sessão SCP, FTP Dados
Transporte TCP, UDP Segmentos
Rede IP, ICMP Pacotes de dados
Enlace ARP, STP Frames
Física Ethernet, Wifi Bits

Conclusão

O modelo OSI é um modelo teórico que explica e defini de forma abstrata uma arquitetura de rede padrão. Esse modelo é usado como referência para engenheiros especializados nessa área para implementar novas tecnologias e diagnosticar problemas em determinadas camadas.

Projetos práticos

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

Veja também

O endereçamento de dispositivos na internet é automatizado graças ao DHCP

Antigamente o endereçamento de dispositivos era feito manualmente, porém isso traz muitas dificuldades em questão de administração. O DHCP resolve esses problemas

Afinal, para que servem os cookies que sempre são solicitados quando entramos em uma página?

A política de privacidade é obrigatória para qualquer site que utiliza dados pessoais do usuário. Porém, quais dados são esses especificamente?

Pacote de dados

Unidades contendo informação de um arquivo que é enviado de um nó para o outro através da internet. Quando juntadas formam um arquivo.

DB Banco de dados

Um banco de dados é um conjunto de tabelas com dados armazenados de uma forma estruturada, possibilitando a gestão de dados de uma forma organizada.

Edge Computing

Edge Computing em português significa, computação de borda. É um modelo de computação usado para melhorar a eficácia no processamento e envio de dados.

Barramento (Bus)

Caminhos entre os componentes do computador que são responsáveis pela transferência de informações de controle, endereçamento e dados.