quarta-feira, 19 de setembro de 2007

Modelo de Referência: ISO OSI

O Modelo de Referência OSI

Na Figura 1 você pode ver uma ilustração do modelo de referência OSI. Os programas comunicam-se apenas com a camada 7, a camada de Aplicação, enquanto que a camada “abaixo” da camada 1 é o meio de transmissão da rede (por exemplo, cabo ou ar, no caso de redes sem fio). O cabeamento de rede é às vezes referido como “camada 0”.


Figura 1: Modelo de referência OSI.

As sete camadas podem ser agrupadas em três grupos: Aplicação, Transporte e Rede, como você pode ver na Figura 1.

  • Rede: As camadas deste grupo são camadas de baixo nível que lidam com a transmissão e recepção dos dados da rede.
  • Transporte: Esta camada é responsável por pegar os dados recebidos da rede e transformá-los em um formato compreensível pelo programa. Quando seu computador está transmitindo dados, esta camada pega os dados e os divide em vários pacotes para serem transmitidos pela rede. Quando seu computador está recebendo dados, esta camada pega os pacotes recebidos e os coloca em ordem.
  • Aplicação: Essas são as camadas mais altas que colocam os dados no formato usado pelo programa.

Abaixo nós explicamos cada camada do modelo de referência OSI. Em nossos exemplos estamos assumindo que o computador está enviando dados pela rede – por exemplo, você está enviando um e-mail através do seu programa de e-mail.

  • Camada 7 – Aplicação: A camada de aplicação faz a interface entre o programa que está enviando ou recebendo dados e a pilha de protocolos. Quando você está baixando ou enviando e-mails, seu programa de e-mail entra em contato com esta camada.
  • Camada 6 – Apresentação: Também chamada camada de Tradução, esta camada converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado pela pilha de protocolos. Por exemplo, se o programa está usando um código de página diferente do ASCII, esta camada será a responsável por traduzir o dado recebido para o padrão ASCII. Esta camada também pode ser usada para comprimir e/ou criptografar os dados. A compressão dos dados aumenta o desempenho da rede, já que menos dados serão enviados para a camada inferior (camada 5). Se for utilizado algum esquema de criptografia, os seus dados circularão criptografados entre as camadas 5 e 1 e serão descriptografadas apenas na camada 6 no computador de destino.
  • Camada 5 – Sessão: Esta camada permite que dois programas em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, esses dois programas definem como será feita a transmissão dos dados e coloca marcações nos dados que estão sendo transmitidos. Se porventura a rede falhar, os dois computadores reiniciam a transmissão dos dados a partir da última marcação recebida em vez de retransmitir todos os dados novamente. Por exemplo, você está baixando e-mails de um servidor de e-mails e a rede falha. Quando a rede voltar a estar operacional, a sua tarefa continuará do ponto em que parou, não sendo necessário reiniciá-la. Note que nem todos os protocolos implementam esta função.
  • Camada 4 – Transporte: Nas redes de computadores os dados são divididos em vários pacotes. Quando você está transferindo um arquivo grande, este arquivo é dividido em vários pequenos pacotes. No computador receptor, esses pacotes são organizados para formar o arquivo originalmente transmitido. A camada de Transporte é responsável por pegar os dados enviados pela camada de Sessão e dividi-los em pacotes que serão transmitidos pela rede. No computador receptor, a camada de Transporte é responsável por pegar os pacotes recebidos da camada de Rede e remontar o dado original para enviá-lo à camada de Sessão. Isso inclui controle de fluxo (colocar os pacotes recebidos em ordem, caso eles tenham chegado fora de ordem) e correção de erros, tipicamente enviando para o transmissor uma informação de reconhecimento (acknowledge), informando que o pacote foi recebido com sucesso. A camada de Transporte separa as camadas de nível de Aplicação (camadas 5 a 7) das camadas de nível Rede (camadas de 1 a 3). As camadas de Rede estão preocupadas com a maneira com que os dados serão transmitidos e recebidos pela rede, mais especificamente com os pacotes são transmitidos pela rede, enquanto que as camadas de Aplicação estão preocupadas com os dados contidos nos pacotes, ou seja, estão preocupadas com os dados propriamente ditos. A camada 4, Transporte, faz a ligação entre esses dois grupos.
  • Camada 3 – Rede: Esta camada é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, de forma que os pacotes consigam chegar corretamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, levando em consideração fatores como condições de tráfego da rede e prioridades.
  • Camada 2 – Link de Dados: Essa camada (também chamada camada de Enlace) pega os pacotes de dados recebidos da camada de rede e os transforma em quadros que serão trafegados pela rede, adicionando informações como o endereço da placa de rede de origem, o endereço da placa de rede de destino, dados de controle, os dados em si e uma soma de verificação, também conhecida como CRC. O quadro criado por esta camada é enviado para a camada Física, que converte esse quadro em sinais elétricos (ou sinais eletromagnéticos, se você estiver usando uma rede sem fio) para serem enviados através do cabo de rede. Quando o receptor recebe um quadro, a sua camada de Link de Dados confere se o dado chegou íntegro, refazendo a soma de verificação (CRC). Se os dados estiverem o.k., ele envia uma confirmação de recebimento (chamada acknowledge ou simplesmente ack). Caso essa confirmação não seja recebida, a camada Link de Dados do transmissor reenvia o quadro, já que ele não chegou até o receptor ou então chegou com os dados corrompidos.
  • Camada 1 – Física: Esta camada pega os quadros enviados pela camada de Link de Dados e os transforma em sinais compatíveis com o meio onde os dados deverão ser transmitidos. Se o meio for elétrico, essa camada converte os 0s e 1s dos quadros em sinais elétricos a serem transmitidos pelo cabo; se o meio for óptico (uma fibra óptica), essa camada converte os 0s e 1s dos quadros em sinais luminosos; se uma rede sem fio for usada, então os 0s e 1s são convertidos em sinais eletromagnéticos; e assim por diante. No caso da recepção de um quadro, a camada física converte os sinais do cabo em 0s e 1s e envia essas informações para a camada de Link de Dados, que montará o quadro e verificará se ele foi recebido corretamente.
Funcionamento

Como explicamos anteriormente, cada camada se comunica apenas com a camada imediatamente acima e/ou abaixo dela. Quando seu computador está transmitindo dados, o fluxo da informação é do programa para a rede (isto é, o caminho de dados é de cima para baixo), portanto os programas se comunicam com a camada 7, que por sua vez se comunica com a camada 6 e assim por diante. Quando seu computador está recebendo dados, o fluxo da informação é da rede para o programa (isto é, o caminho de dados é de baixo para cima), portanto a rede se comunica com a camada 1, que por sua vez se comunica com a camada 2 e assim por diante.

Na transmissão de dados, cada camada pega as informações passadas pela camada superior, acrescenta informações de controle e passa os dados para a camada imediatamente inferior. Na recepção de dados o processo inverso acontece: cada camada remove informações de controle e passa para a camada imediatamente superior.

Dessa forma, na transmissão de dados para a rede a camada 7 pega os dados enviados pelo programa e adiciona informações de controle e envia este novo pacote formado pelo dado original mais suas informações de controle para a camada inferior. A camada 6 adicionará suas próprias informações de controle ao pacote recebido da camada superior e envia o novo pacote para a camada 5, agora contendo o dado original, informações de controle adicionadas pela camada 7 mais informações de controle adicionadas pela camada 6 e assim por diante. Na recepção dos dados o processo inverso é feito: cada camada removerá as informações de controle de sua responsabilidade.

Cada camada entende apenas as informações de controle da sua responsabilidade. Quando uma camada recebe dados da camada superior ela não entende as informações de controle adicionadas pela camada superior, portanto ela trata os dados mais as informações de controle como se tudo fosse um único pacote de dados.

Na Figura 2 ilustramos esta idéia, onde você pode ver um computador enviando dados para a rede. Cada número adicionado ao dado original representa as informações de controle adicionadas por cada camada. Cada camada trata o pacote recebido da camada superior como se ele fosse um pacote único, não diferenciando o dado original das informações de controle adicionadas pelas camadas superiores.


Figura 2: Como o modelo OSI funciona.

Nós podemos ainda dizer que cada camada no computador transmissor se comunica diretamente com a mesma camada no computador receptor. Por exemplo, a camada 4 no computador transmissor se comunica diretamente com a camada 4 no computador receptor. Nós podemos dizer isso porque as informações de controle adicionadas por cada camada só podem ser interpretadas pela mesma camada no computador receptor.

TCP/IP vs. Modelo de Referência OSI

Como o TCP/IP é o protocolo de rede mais usado atualmente, vamos fazer uma correlação entre o protocolo TCP/IP e o modelo de referência OSI. Isto provavelmente ajudará a você entender tanto o modelo de referência OSI quanto o protocolo TCP/IP.

Como vimos, o modelo de referência OSI tem sete camadas. O TCP/IP, por outro lado, tem apenas quatro camadas e dessa forma algumas camadas do protocolo TCP/IP representam mais de uma camada do modelo OSI.

Na Figura 3 você pode ver uma correlação entre o modelo de referência OSI e o protocolo TCP/IP.

Figura 3: Arquitetura do TCP/IP.

A idéia por trás do TCP/IP é exatamente a mesma que explicamos para o modelo de referência OSI: na transmissão de dados, os programas se comunicam com a camada de Aplicação, que por sua vez se comunica com a camada de Transporte, que se comunica com a camada de Rede, que se comunica com a camada de Interface com a Rede, que então envia quadros para serem transmitidos pelo meio (cabo, ar, etc).

Como mencionamos anteriormente, o TCP/IP não é o nome de um protocolo específico, mas o nome de uma pilha de protocolos. Cada protocolo individual usado na pilha de protocolos TCP/IP trabalha em uma camada diferente. Por exemplo, o TCP é um protocolo que trabalha na camada de Transporte, enquanto que o IP é um protocolo que trabalha na camada de Rede.

É possível ter mais de um protocolo em cada camada. Eles não entrarão em conflito porque cada protocolo desempenha uma tarefa diferente. Por exemplo, quando você envia e-mails seu programa de e-mail se comunica com o protocolo SMTP localizado na camada de Aplicação. Em seguida este protocolo, após processar os e-mails recebidos do seu programa de e-mail, os envia para a camada inferior, a camada de Transporte. Lá os dados serão processados pelo protocolo TCP. Quando você acessa uma página da Internet, seu navegador também se comunicará com a camada de Aplicação, mas desta vez usando um protocolo diferente, HTTP, já que este é o protocolo responsável por processador paginas da Internet.

Aqui está um breve resumo de cada camada do TCP/IP.

  • Aplicação: Como mencionamos, os programas se comunicam com esta camada. Vários protocolos diferentes podem ser usados nesta camada, dependendo do programa que você estiver usando. Os mais conhecidos são HTTP (navegação web), SMTP (para envio de e-mails), POP3 (para o recebimento de e-mails) e o FTP (para transferência de arquivos).
  • Transporte: Tudo o que dissemos sobre a camada de Transporte do modelo de referência OSI é válido para a camada de Transporte TCP/IP. Dois protocolos diferentes podem ser usados nesta camada, TCP (Transmission Control Protocol) e UDP (User Datagram Protocol). O primeiro usa o esquema de confirmação de recebimento, enquanto que o UDP não usa. O TCP é usado para transmitir dados do usuário (como páginas da web e e-mails) enquanto que o UDP é mais usado para transmitir dados de controle.
  • Rede: Tudo o que dissemos sobre a camada de Rede do modelo de referência OSI é válido para a camada de Rede do TCP/IP. Vários protocolos podem ser usados nesta camada e o mais comum deles é o protocolo IP.
  • Interface com a Rede: Esta camada é responsável por enviar os dados para o meio de transmissão. O que há dentro desta camada dependerá do seu tipo de rede. Se você está usando uma rede Ethernet (o tipo mais comum) você encontrará as três camadas do Ethernet (LLC, MAC e Física – LLC significa Controle do Link Lógico e MAC significa Controle de Acesso ao Meio) dentro desta camada do TCP/IP. A camada Física da rede Ethernet corresponde à camada Física do modelo de referência OSI, enquanto que as outras duas camadas (LLC e MAC) correspondem à camada de Link de Dados do modelo OSI.

Fonte: http://www.clubedohardware.com.br/artigos/1349/1

0 comentários: