MÓDULO 11 – Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada camada de uma rede é oferecer determinados serviços a camadas de níveis superiores, abstraindo-as dos detalhes de implementação de algum recurso. A camada X de uma máquina comunica-se com a camada X de outra máquina através de protocolos, que são basicamente um acordo entre as partes que estão se comunicando e estabelecendo como será feita a comunicação. A comunicação de máquinas diferentes não é feita diretamente de uma para outra, cada camada transfere seus dados e informações de controle para a camada que está em um nível abaixo dela, até que seja alcançada a camada de nível mais baixo. Depois de alcançado, a camada de nível mais baixo, utiliza o meio físico que é por onde são feitas as comunicações. Observamos na figura acima que entre cada par de camadas existe uma interface, ela é que define as operações e serviços que a camada inferior tem que oferecer a camada superior. Um conjunto de camadas, interfaces e protocolos são conhecidos como arquitetura de rede. 11.1 Serviços Versus Protocolos Um serviço é um conjunto de operações que uma camada inferior tem a oferecer a uma camada superior, o serviço relaciona-se a uma interface entre duas camadas. Um protocolo é um conjunto de regras que controlam o formato dos pacotes e mensagens que são trocados pelas entidades contidas nas camadas, essas entidades utilizam os protocolos para implementar suas definições e serviços. Na maioria das vezes, os serviços e os protocolos são confundidos, só que eles são totalmente distintos, pois os serviços estão relacionados às interfaces entre as camadas, e os protocolos estão relacionados aos pacotes envidados entre as entidades de máquinas diferentes. 11.2 O Modelo OSI Com o objetivo de obter uma padronização na conectividade e máquinas de diferentes fabricantes, a Organização Internacional de Normalização (ISO), aprovou no inicio da década de 80, um modelo para sistemas de arquiteturas abertas, que visava permitir a comunicação entre computadores heterogêneos, independente da tecnologia de implementação. Esse modelo recebeu a denominação de OSI (Open System Interconnection), que serve de base para a implementação de qualquer tipo de rede. Para alcançar os objetivos de escalabilidade, compatibilidade, portabilidade que são exigidos na elaboração de um modelo, são necessárias algumas etapas obrigatórias como: • • • • • Cada camada de um computador comunica-se indiretamente com a camada semelhante de outro computador, sendo feita através de conexões virtuais; Cada camada irá utilizar os serviços da camada inferior; As camadas que estão situadas em níveis mais baixos estarão próximas do hardware, enquanto as camadas de nível superior estão mais próximas do usuário; Toda camada irá utilizar algum tipo de protocolo, sendo sempre adequado ao tipo de função que realiza; Todas as camadas são independentes, e alterações em uma camada não refletem na outra. As camadas do modelo OSI são as seguintes: 11.2.1 A Camada Física A camada física trata da transmissão de bits brutos pelo canal de comunicação, especificando detalhes como nível de tensão, modulação, conectores e a distância máxima que os canais podem utilizar. O seu projeto deve garantir que quando um lado envia um bit 1, o outro lado recebe um bit 1 e não um bit 0. Não existe nenhuma preocupação com o significado dos dados, endereços, CRCs e outros valores. O Hub é um dispositivo de redes que opera exclusivamente na camada física, pois ele simplesmente repete os sinais recebidos por todas as portas, não sendo levado em conta o seu significado. Outros dispositivos que operam na camada física são os transmissores e os receptores localizados na placa de rede. Características da camada física: • • Velocidade máxima de transmissão dos dados; Transmissão simplex, half-duplex e full-duplex. 11.2.2 A Camada de Enlace de Dados A camada de enlace é responsável pela transmissão e recepção de frames, que são conjuntos de dados que acompanham informações de endereçamento e correção de erro. Na camada de enlace ocorre a detecção e opcionalmente a correção de erros, que ocorreram na camada física, com isso busca-se tornar um canal de comunicação não confiável em um canal de comunicação confiável para uso nas camadas superiores. A camada de enlace também é responsável por um controle do fluxo de dados, ela evita que um transmissor envie mais informações que o receptor pode processar, utilizando mecanismos que permitem ao transmissor conhecer os espaço em buffer do receptor em um dado momento. 11.2.3 A Camada de Rede A camada de rede tem como função controlar as operações de rede de um modo geral. Sua principal característica é o roteamento de pacotes entre a fonte e o destino. Em redes de longa distância para uma mensagem chegar ao seu receptor, ela passa por diversos nós intermediários no seu caminho, e a camada de rede tem como tarefa escolher o melhor caminho para essa mensagem percorrer. A escolha da melhor rota a ser seguida é baseada em tabelas estáticas e dinâmicas que são atualizadas pelo roteador. Principais funções da camada de rede: • • Roteamento dos pacotes entre o transmissor e o receptor, mesmo que tenha que percorrer nós intermediários; Controle do congestionamento, evitando gargalos na conexão. 11.2.4 A Camada de Transporte A função básica da camada de transporte é receber os dados da camada acima, dividi-lo em unidades menores, caso exista a necessidade, repassar para a camada de rede e assegurar que eles cheguem corretamente a outra extremidade. A camada de transporte faz uma interface entre as camadas 1,2 e 3 que estão vinculadas a rede e aos dispositivos de rede, e as camadas 5,6 e 7 que operam em alto nível e são totalmente independentes da rede. Sob condições normais, a camada de transporte cria conexões distintas para cada conexão de transporte requisitada pelo nível superior, e se essas conexões necessitarem de uma alta velocidade de transmissão, ela cria múltiplas conexões de rede, dividindo os dados para aumentar a velocidade de transmissão. A camada de transporte trabalha com conexões lógicas fim a fim, ou seja, um programa na origem pode se comunicar com um programa similar no destino. Diferente das camadas anteriores que se comunicam somente com o nó vizinho. Principais características da camada de transporte: • Criar conexões para solicitações vindas de níveis superiores; • • Dividir mensagens em tamanhos menores; Estabelecer e terminar conexões através da rede. 11.2.5 A camada de Sessão A camada de sessão permite que usuários de diferentes computadores estabeleçam sessões entre eles, essas sessões encarregam-se do gerenciamento do fluxo de dados, podendo, por exemplo, recomeçar uma transmissão do ponto onde ela parou, caso tenha sido interrompida. Pode suspender e reiniciar fluxos de dados e definir se aplicativos podem enviar e receber dados. Características da camada de sessão: • • • Manter o controle de quem deve transmitir em cada momento; Impede que duas partes tentem executar a mesma operação crítica ao mesmo tempo; Realiza a verificação periódica de transmissões longas para permitir que elas continuem a partir do ponto que estava ocorrendo falha. 11.2.6 A Camada de Apresentação A camada de apresentação leva em conta a codificação dos dados, e também eventuais conversões (EX: ASCII / UNICODE), isso torna possível à comunicação entre computadores com diferentes representações de dados. A camada de apresentação também é responsável por outros aspectos de representação de dados, como criptografia e compressão de dados. 11.2.7 A Camada de Aplicação A camada de aplicação fornece aos usuários uma interface que permite acesso a diversos serviços de aplicação. Contém uma série de protocolos comumente necessários para os usuários, ou seja, fornece um conjunto de funções usadas pelos aplicativos que operam sobre o modelo OSI.