O modelo OSI, ou modelo de referência OSI, é um modelo conceitual que divide a comunicação em rede e a interoperabilidade em sete camadas abstratas usadas para padronizar a comunicação entre diferentes aplicações, sistemas computacionais e redes.
O modelo OSI (open systems interconnection) surgiu como solução para as incompatibilidades de comunicação entre os diversos protocolos de rede utilizados no fim do século passado. As camadas do modelo OSI ofereceram a desenvolvedores e engenheiros um framework para criar hardware e software interoperáveis entre redes, com uma abordagem categórica para rede.
O modelo OSI se concentra em fornecer uma lista de tarefas que os engenheiros devem cumprir ao construir cada camada da arquitetura de rede, em vez de definir protocolos de comunicação entre elas.
Sua abordagem teórica permite que os desenvolvedores visualizem e construam redes computacionais altamente complexas, mesmo sem conhecimento prévio do sistema de rede em si. Isso também ajuda as equipes a entender melhor como os dados percorrem a rede e a adaptar as funções de rede com codificação específica para cada camada.
O modelo OSI continua sendo essencial para compreender a arquitetura de redes, mesmo com a evolução das tecnologias e o surgimento de novos modelos. Seja no projeto de uma rede local simples (LAN) ou na administração de uma rede global complexa, os princípios do modelo OSI oferecem uma abordagem clara e estruturada para redes.
O modelo OSI inclui sete camadas distintas: As camadas de aplicação (camada 7), apresentação (camada 6) e sessão (camada 5) formam as camadas de software do modelo OSI, onde ocorrem todas as transmissões entre os aplicativos de software (incluindo sistemas operacionais e utilitários como navegadores e clientes de e-mail).
A camada de transporte (camada 4) é o “coração do OSI”, lidando com toda a comunicação de dados entre redes e sistemas. Finalmente, a camada de rede (camada 3), a camada de dados (camada 2) e a camada física (camada 1) compõem as camadas de hardware do OSI, onde os dados migrar pelos componentes físicos da rede à medida que são processados.
Os dados migram de forma bidirecional pelo modelo OSI; cada camada se comunica com as camadas abaixo e acima dela na stack. Além disso, tanto os dispositivos emissores quanto os receptores transmitem dados pelas camadas de dados, e geralmente alternam de função ao longo do processo.
Por exemplo, se um usuário quiser enviar um e-mail para outra pessoa, ele primeiro escreveria o e-mail e o enviaria. Ao pressionar “enviar”, o e-mail segue para a camada de aplicação, que escolhe o protocolo apropriado (geralmente SMTP) e repassa a mensagem para a camada de apresentação. A camada de apresentação comprime os dados da mensagem e os envia para a camada de sessão, que inicia a sessão de comunicação e encaminha os dados para a camada de transporte, onde ocorre a segmentação.
Como o e-mail será enviado para outra rede, os dados seguem para a camada de rede, onde são divididos em pacotes, e depois para a camada de enlace, onde são fragmentados em quadros. Esses quadros são então transmitidos pela camada física (via wifi do destinatário), momento em que o dispositivo receptor recebe o fluxo de bits e os dados percorrem as mesmas camadas em ordem inversa. No fim do processo, os dados de e-mail chegam na camada de aplicativo do dispositivo do destinatário onde são entregues, em formato legível por humanos, na caixa de entrada do destinatário.
O modelo OSI é fundamental para o desenvolvimento de protocolo, com cada camada do framework gerenciando processos de rede específicos.
O modelo OSI define critérios e orientações para os componentes da rede e suas funções específicas em cada camada do stack, geralmente apresentada em ordem reversa para mostrar como os dados trafegam.
A camada de aplicação é a camada OSI mais próxima do usuário final. Ele fornece serviços de rede diretamente às aplicações do usuário e facilita a comunicação entre os endpoints da API e as camadas inferiores do modelo OSI. Em outras palavras, os aplicativos de software utilizam a camada de aplicação para iniciar a comunicação com a rede e enviar dados para a camada de apresentação.
Os aplicativos em si não fazem parte dessa camada. Em vez disso, a camada de aplicativos fornece os protocolos (HTTP, FTP, DNS e SMTP, por exemplo) que permitem que o software envie e receba dados. Ele é responsável por processos como:
Serviços de diretório. A camada de aplicação fornece serviços de diretório, um banco de dados compartilhado de informações sobre dispositivos e usuários da rede, para facilitar o gerenciamento dos recursos de rede.
A camada de apresentação converte os dados para um formato que a camada de aplicação possa aceitar e transmitir pela rede (por exemplo, de um arquivo de texto codificado em EBCDIC para um arquivo codificado em ASCII). Devido à sua função na conversão de dados e gráficos em um formato exibível para a camada de aplicação, às vezes é chamada de camada de sintaxe.
Ele suporta protocolos SSL / TLS (Secure Sockets Layer/Transport Layer Security), protocolos JPEG (para compactação de imagem) e protocolos MPEG (para vídeo A camada de apresentação converte os dados para um formato que a camada de aplicação possa aceitar e transmitir pela rede (por exemplo, de um arquivo de texto codificado em EBCDIC para um arquivo codificado em ASCII). Devido à sua função na conversão de dados e gráficos em um formato exibível para a camada de aplicação, às vezes é chamada de camada de sintaxe.
Ele oferece suporte aos protocolos SSL/TLS (secure sockets layer/transport layer security), aos protocolos JPEG (para compressão de imagem) e aos protocolos MPEG (para compressão de vídeo). A camada de apresentação é responsável por:
Tradução de dados. A camada de apresentação converte os dados para o formato adequado (conforme especificado pela camada de aplicação) durante o processo de encapsulamento, à medida que as mensagens saem e descem pela pilha de protocolos, do emissor ao receptor.
Compressão de dados. A camada de apresentação reduz o tamanho de um fluxo de dados para transmissões e o descompacta para uso.
Em alguns casos, a formatação e a tradução ocorrem de forma inversa durante o processo de desencapsulamento, à medida que as mensagens recebidas sobem pela pilha de protocolos. Nesses casos, as mensagens enviadas são convertidas para o formato especificado durante o encapsulamento, enquanto as mensagens recebidas passam por uma conversão inversa durante o desencapsulamento.
A camada de sessão é responsável pelo gerenciamento de sessões, o processo de estabelecer, gerenciar e terminar conexões, chamadas de "sessões", entre dois ou mais computadores. Ele inicia as conexões entre aplicativos locais e remotos, mantendo a sessão aberta por tempo suficiente para transmitir os dados necessários e fechando-os quando concluídos para preservar os recursos da rede.
As principais funções da camada de sessão incluem:
Interações de sessão. A camada de sessão gerencia o logon do usuário (estabelecimento) e o logoff (encerramento), incluindo os protocolos de autenticação integrados ao software cliente.
Recuperação de sessão. A camada de sessão gerencia falhas de sessão e restabelece conexões se houver problemas de rede.
Ela também define protocolos para conectar e desconectar sessões entre fluxos de dados relacionados, como áudio e vídeo em conferências on-line. Por isso, a camada de sessão costuma ser implementada explicitamente em ambientes de rede que utilizam chamadas de procedimento remoto.
A camada de transporte utiliza protocolos como o TCP (transmission control protocol) e o UDP (user datagram protocol) para gerenciar a entrega de mensagens completas de ponta a ponta. Ele pega mensagens da camada de sessão e as divide em unidades menores (chamadas “segmentos”), cada uma com um cabeçalho associado. No destino, a camada de transporte remonta os segmentos na ordem correta para reconstruir a mensagem original.
A camada de transporte também lida com:
Endereçamento de ponto de serviço. A camada de transporte ajuda a garantir que as mensagens sejam entregues ao processo correto, anexando um cabeçalho de camada de transporte (incluindo um ponto de serviço ou lidar com).
Multiplexação. A camada de transporte permite que vários aplicativos de rede usem a mesma conexão simultaneamente.
No lado do emissor, a camada de transporte recebe os dados formatados das camadas superiores, realiza a segmentação e aplica os controles de fluxo e de erro para garantir uma transmissão precisa. Ela adiciona ao cabeçalho os números das portas de origem e destino e, em seguida, encaminha os dados segmentados para a camada de rede.
No lado do receptor, a camada de transporte lê o número da porta no cabeçalho e encaminha os dados recebidos para a aplicação correspondente. Ele também lida com o sequenciamento e a remontagem dos dados segmentados e retransmite os dados se forem detectados erros.
A camada de transporte fornece dois tipos de serviço.
Com o serviço orientado à conexão, um processo de três partes que inclui o estabelecimento da conexão, a transferência de dados e o encerramento (ou desconexão), o receptor de dados envia uma confirmação de recebimento ao remetente quando o pacote de dados é entregue. O serviço sem conexão, no entanto, envolve apenas a transferência de dados. O receptor não confirma o recebimento, o que acelera a comunicação, mas pode ser menos confiável do que o serviço orientado à conexão.
A camada de rede do modelo OSI é responsável por facilitar a transferência de dados de um nó para outro em diferentes redes. A camada de rede determina o melhor caminho (roteamento) para os dados trafegarem entre os nós. Se os segmentos forem muito grandes, a camada de rede os divide em "pacotes" menores para transporte e os remonta na extremidade receptora.
Uma rede serve como um meio onde múltiplos nós (cada um com um endereço) podem se conectar. A camada de rede permite que os nós enviem mensagens a nós em outras redes, fornecendo o conteúdo da mensagem e o endereço de destino, e deixando que a rede determine o caminho ideal de entrega, o que pode incluir o roteamento por nós intermediários.
A camada de rede usa principalmente o Internet Protocol v4 (IPv4) e IPv6 e é responsável por:
Fragmentação e remontagem de pacotes. A camada de rede divide pacotes grandes (aqueles que excedem os limites de tamanho da camada de link de dados) em pacotes menores para transmissão e os remonta no destino.
A camada de rede não garante confiabilidade; embora muitos protocolos dessa camada ofereçam entrega confiável de mensagens, alguns não oferecem. Além disso, o relato de erros não é obrigatório nesta camada do modelo OSI, o que significa que o remetente pode ou não receber uma confirmação de entrega.
A função principal da camada de encadeamento de dados é gerenciar a transferência de dados sem erros entre vários dispositivos que interagem na mesma rede.
A DLL é dividida em dois subníveis.
A camada de controle de enlace lógico (LLC), que atua como interface entre a camada de controle de acesso ao meio (MAC) e a camada de rede, gerencia o controle de fluxo, a sincronização e a multiplexação (quando dois ou mais fluxos de dados compartilham uma única conexão com o host). A camada Mac controla como os dispositivos acessam as mídias da rede e transmitem dados.
Quando a DLL recebe um pacote da camada de rede, divide o pacote em "quadros" de dados, de acordo com o tamanho do quadro da placa de interface de rede (NIC), e o transmite ao host usando seu endereço Mac para lidar com.
As funções de DLL incluem:
Enquadramento. A LLC permite que o remetente transmita um conjunto de bits (dados) significativos para o destinatário, anexando padrões de bits especiais ao início e ao fim do quadro.
Controle de erros. A DLL detecta quadros danificados ou perdidos e gerencia a retransmissão (se necessário) para garantir a integridade dos dados.
Controle de acesso:quando vários dispositivos compartilham um único canal de comunicação, a subcamada MAC determina qual dispositivo tem controle sobre o canal em um determinado momento.
A camada física compreende os componentes físicos da rede responsáveis pela transmissão de dados brutos, na forma de "bits", ou sequências de 1s e 0s - entre dispositivos (conectores, roteadores, repetidores e OPTIC, por exemplo) e um meio físico (como wi-fi).
A camada física é responsável por:
Controle de taxa de bits. A camada física define as taxas de transmissão de dados, geralmente em bits por segundo.
Modo de transmissão. A camada física define como os dados fluirão entre os dispositivos conectados (como transmissão simplex, half duplex ou full duplex).
A camada física também define como a codificação ocorre em um sinal físico (usando tensão elétrica, pulsos de rádio ou luz, por exemplo).
O modelo de referência OSI fornece uma base teórica que ajuda engenheiros e desenvolvedores a entender as complexidades da comunicação em rede. No entanto, às vezes é comparado com outro modelo de rede: o modelo de protocolo de controle de transmissão/internet protocol (TCP/IP).
Ao contrário do modelo OSI, o modelo TCP/IP baseia-se em protocolos padronizados que são ampla e diretamente implementados e em redes do mundo real. Ele é composto por quatro camadas, em vez de sete, mas cada uma corresponde a uma ou mais camadas do modelo OSI.
Camada de acesso à rede. Também chamada de camada de enlace de dados ou camada física, a camada de acesso à rede no modelo TCP/IP reúne os componentes de hardware e software necessários para se conectar ao meio de rede, combinando as camadas física e de enlace do modelo OSI. Ela realiza a transmissão física dos dados utilizando Ethernet (em redes locais) e protocolos ARP entre dispositivos da mesma rede.
Camada de transporte. A camada de transporte TCP/IP tem a mesma função que a camada de transporte do modelo OSI; Ele permite a transferência confiável de dados entre as camadas superior e inferior. Usando os protocolos TCP e UDP, ele também fornece mecanismos para verificação de erros e controle de fluxo.
O principal valor do modelo OSI está em sua utilidade educacional e em seu papel como estrutura conceitual para projetar novos protocolos, garantindo que eles possam interoperar com sistemas e tecnologias existentes.
No entanto, o foco prático e a aplicabilidade do modelo TCP/IP no mundo real tornaram-no a espinha dorsal das redes modernas. Seu design robusto e escalável e sua abordagem de camada horizontal impulsionaram o crescimento explosivo da internet, acomodando bilhões de dispositivos e grandes quantidades de tráfego de dados.
Embora o modelo OSI não sirva como base direta para as tecnologias modernas de rede, ele teve um impacto profundo no desenvolvimento de padrões de computação, ajudando a moldar a compreensão atual da arquitetura de redes.
No final da década de 1970 e início da de 1980, os sistemas computacionais estavam se interconectando cada vez mais, mas os fabricantes desenvolviam suas próprias soluções de rede, criando um cenário fragmentado com sistemas proprietários e não interoperáveis.
Vários esforços iniciais de rede tentaram lidar com problemas de compatibilidade com a ARPANET (que lançou as bases para a internet moderna) e o pacote TCP/IP (encomendado pelo Departamento de Defesa). Ambos representaram avanços significativos, mas também destacaram a necessidade de uma abordagem mais abrangente e universalmente aceita.
Reconhecendo a crescente importância das redes e a necessidade de uma estrutura universal, a Organização Internacional para Padronização (ISO) e o Comitê Consultivo Internacional de Telégrafo e Telefone (CCITT) iniciaram o desenvolvimento de um modelo de rede padronizado com framework.
A ISO publicou formalmente o modelo OSI, um framework para o desenvolvimento de soluções de rede interoperáveis, em 1984. Diferentemente de tentativas anteriores de padronização, a configuração em camadas do OSI permite que sistemas díspar se comuniquem, apesar das diferenças em suas arquiteturas e protocolos subjacentes .
Sua abordagem abstrata de redes em camadas verticais permite o design de protocolos modulares, em que cada camada pode ser desenvolvida e atualizada de forma independente.
A modularidade do modelo OSI incentiva uma inovação mais rápida no desenvolvimento de protocolos, já que os engenheiros de software podem integrar novas Tecnologias sem revisar toda a stack.
Ele também permite que os desenvolvedores abstraiam as camadas inferiores do modelo para simplificar o desenvolvimento.
Os engenheiros de software podem separar as camadas operacionais de cada componente de rede e organizá-las de acordo com suas funções principais na rede. Essa decomponibilidade torna mais fácil para os desenvolvedores conceituar uma rede e compartilhar modelos simplificados entre as equipes de desenvolvimento.
Quando um dispositivo na rede falha ou um aplicativo perde a conexão, o modelo OSI permite que as equipes identifiquem e isolem a camada problemática para lidar com quaisquer problemas de segurança ou vulnerabilidades de rede sem interromper todo o framework.
O IBM Cloud Infrastructure Center é uma plataforma de software compatível com o OpenStack para gerenciamento da infraestrutura de nuvens privadas em sistemas IBM zSystems e no IBM LinuxONE.
Conheça servidores, armazenamento e software projetados para sua estratégia corporativa de nuvem híbrida e IA.
Encontre a solução ideal de infraestrutura em nuvem para as necessidades do seu negócio e expanda os recursos conforme a demanda.