Beruflich Dokumente
Kultur Dokumente
Aula 1 – 07/02/2011
O MODELO OSI
1 Visão Geral do Modelo OSI
Essa seção (1) é cópia fiel (com pequenas alterações) do livro - do livro “Redes de Computadores - Curso
Completo - Gabriel Torres”.
Quando as redes de computadores surgiram, as soluções eram, na maioria das vezes, proprietárias, isto é uma
determinada tecnologia só era suportada por seu fabricante. Não havia a possibilidade de se misturar soluções de
fabricantes diferentes. Dessa forma, um mesmo fabricante era responsável por construir praticamente tudo na rede.
Para facilitar a interconexão de sistemas de computadores a ISO (International Standards Organization)
desenvolveu um modelo de referência chamado OSI (Open Systems Interconnection), para que os fabricantes
pudessem criar protocolos a partir desse modelo.
Interessante notar que a maioria dos protocolos existentes - como o TCP/IP o IPX/SPX e o NetBEUI - não
segue esse modelo de referência ao pé da letra (como veremos esses protocolos só correspondem a partes do padrão
OSI). Todavia, o estudo deste modelo é extremamente didático, pois através dele há como entender como deveria ser
um protocolo ideal, bem como facilita enormemente a comparação do funcionamento de protocolos criados por
diferentes fabricantes.
O modelo de protocolos OSI é um modelo de sete camadas, apresentadas na Figura 1.
Por exemplo, na prática simplesmente falamos que um programa cliente de e-mail está requisitando dados de
um programa servidor de e-mail, e não nos preocupamos muito como isto é feito. O mesmo ocorre na comunicação
virtual do modelo OSI. Quando analisamos a comunicação de uma camada do transmissor com a mesma camada no
receptor, normalmente não estamos nos preocupando (ou não precisamos saber) como está ocorrendo a comunicação
nas camadas inferiores àquela estudada.
A maioria dos protocolos comerciais também trabalha com o conceito de camadas, porém essas camadas não
necessariamente possuem o mesmo nome e função das apresentadas no modelo OSI. Muitas vezes, para cada uma
dessas camadas há um protocolo envolvido.
Dessa forma, muitos protocolos são, na verdade, um conjunto de protocolos, cada um com papel específico em sua
estrutura de camadas.
Até então estávamos usando os termos pacotes e quadros como sinônimos, mas estes termos se referem a duas
coisas distintas. Um quadro é um conjunto de dados enviado através da rede, de forma mais "bruta" ou, melhor
dizendo, de mais baixo nível. Dentro de um quadro encontramos informações de endereçamento físico, como, por
exemplo, o endereço real de uma placa de rede. Logo, um quadro está associado às camadas mais baixas (1 e 2) do
modelo OSI.
Um pacote de dados se refere a um conjunto de dados manipulados nas camadas 3 e 4 do modelo OSI. No
pacote há informações de endereçamento virtual. Por exemplo, a camada 4 cria um pacote de dados para ser enviado
pela rede e a camada 2 divide esse pacote em vários quadros que serão efetivamente enviados através do cabo da rede.
Um pacote, portanto, contém a informação proveniente de vários quadros.
Para dar um exemplo real e elucidar de uma vez essa diferença, em uma rede usando o protocolo TCP /IP, a
camada IP adiciona informações de endereçamento de um pacote (número do endereço IP da máquina de destino), que
é um endereçamento virtual. Já a camada Controle de Acesso ao Meio (MAC) - que corresponde à camada 2 do
modelo OSI - transformará esse pacote em um ou mais quadros e esses quadros terão o endereço da placa de rede de
destino (endereço real, físico) que corresponda ao número IP fornecido.
Estudaremos agora cada uma das camadas do modelo OSI e suas funções. Note que as explicações serão dadas
como se estivéssemos transmitindo um dado do computador A para o computador B. O processo de recepção é o
inverso do descrito.
PDU (Protocol Data Unit) Informações trocadas entre entidades pares. Contém informações de controle do
protocolo.
SDU (Service Data Unit Informações trocadas entre duas entidades adjacentes. O SDU de uma camada é o
PDU da camada imediatamente superior.
A figura a seguir representa como os dados podem ser transmitidos no modelo OSI (TANENBAUM, 1997):
“A camada de aplicação faz a interface entre o protocolo de comunicação e o aplicativo que pediu ou receberá a
informação através da rede. Por exemplo, se você quiser baixar o seu e-mail, seu aplicativo de e-mail entrará em
contato com a camada de Aplicação do protocolo de rede efetuando este pedido” (TORRES, 2001).
Também chamada de camada de tradução é responsável por transformar os dados antes de do seu envio à
camada de sessão (envio) ou à camada de aplicação (recebimento). Os protocolos dessa camada, preocupam-se com a
sintaxe e semântica das informações transmitidas e determina o formato dos dados.
Exemplos de serviços que podem ser oferecidos pelos protocolos dessa camada (cópia fiel de (TORRES,
2001)):
Conversão - converte a representação de dados utilizada na aplicação para a representação padrão da rede,
e vice-versa, de forma que o novo formato seja entendido pelo protocolo utilizado. Por exemplo,
conversão do padrão de caracteres (código de página) quando, por exemplo, o dispositivo transmissor usa
um padrão diferente do ASCII, por exemplo.
Compressão de dados – pega os dados recebidos da camada sete e os comprime (como se fosse um
compactador comumente encontrado em PCs, como o Zip ou o Arj) e a camada 6 do dispositivo receptor
fica responsável por descompactar esses dados. A transmissão dos dados torna-se mais rápida, já que
haverá menos dados a serem transmitidos: os dados recebidos da camada 7 foram "encolhidos" e enviados
à camada 5.
Criptografia - Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo
que os dados só serão decodificados na camada 6 do dispositivo receptor.
Não existe nenhum tipo de serviço de multiplexação nos protocolos dessa camada, pois existe uma
correspondência entre os endereços de sessão e apresentação.
Os protocolos dessa camada fornecem mecanismos para estruturar os circuitos oferecidos pelo nível de
transporte, permitindo que as entidades do nível de apresentação possam sincronizar seus diálogos e gerenciar suas
trocas de dados.
Permite transporte de dados normal, assim como a camada de transporte, mas oferecem serviços aperfeiçoados:
- Serviço de atividades: torna possível aos usuários distinguir partes da troca de dados (atividades), sendo que
cada atividade é, normalmente, associada a uma tarefa específica de uma aplicação.
- Em uma conexão de sessão só uma atividade pode ser executada por vez, porém podem ser executadas
várias atividades consecutivas em uma mesma conexão. As situações possíveis são:
- Uma atividade por sessão.
- Várias atividades consecutivas em uma mesma sessão.
- Uma atividade pode estender-se por várias conexões de sessão.
- Exemplo: em um sistema para envio de mensagens, pode estar sendo transmitida uma mensagem muito
grande e chegar outra mensagem de menor tamanho e maior prioridade. A entidade pode suspender a
transmissão da mensagem maior (atividade) e começar a transmitir a mensagem de maior prioridade
(outra atividade). Por fim, retornar ao envio da primeira mensagem (atividade inicial).
- Serviço de token: os protocolos da camada de sessão oferecem mecanismo para controle de posse e
passagem do token, sendo que apenas a aplicação que possui o token pode enviar os dados.
- Objetivo de possibilitar troca de informações half-duplex em um circuito full-duplex.
- Sincronização: inserção de pontos de sincronização de forma que, quando ocorrer uma falha, apenas os
dados transferidos depois do ponto serão retransmitidos.
Os protocolos dessa camada oferecem um serviço de multiplexação, no qual as mensagens que chegam em uma
única conexão de rede são transmitidas às aplicações destino corretas, de forma que aplicações diferentes podem
enviar dados por um mesmo caminho físico. É uma verdadeira camada fim a fim, ou seja, a entidade da camada de
transporte da máquina origem se preocupa apenas com a entidade de transporte da máquina destino.
No envio, aceita dados da camada de sessão, acrescentando as informações necessárias, e passa-os para camada
de rede garantindo que as unidades cheguem corretamente a outra extremidade. Assim, determina o tipo de serviço
que será oferecido à camada de sessão e ao usuário, que pode ser orientado a conexão e não orientado a conexão.
A comunicação orientada a conexão pode ser comparada a uma ligação telefônica e a não orientada a conexão
pode ser comparadas ao envio de uma carta pelo correio.
No serviço não orientado a conexão as mensagens/pacotes são transportadas isoladamente sem confirmação, ou
seja, sem garantias. Nesse caso, é possível a difusão de mensagens para muitos destinos – envio em broadcast.
Quando existe conexão, a mensagem pode ser transmitida por um canal ponto a ponto livre de erro (mais
comum), que libera mensagens ou bytes na ordem em que são enviados – conexão virtual, nesse caso:
- existe a confirmação de recebimento das mensagens, de forma que as mensagens não recebidas podem
ser retransmitida, sendo que associado ao processo de retransmissão deve existir descarte de pacotes
duplicados;
- é possível realizar controle de fluxo (entre as aplicações), de forma a evitar que o transmissor envie mais
mensagens que a capacidade do receptor tem de recebê-la.
- existe a reordenação de pacotes recebidos fora de ordem.
“A camada de Transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico
(camadas de 1 a 3). Como você pode facilmente perceber, as camadas de 1 a 3 estão preocupadas com a maneira com
que os dados serão transmitidos e recebidos pela rede, mais especificamente com os quadros transmitidos pela rede. Já
as camadas de 5 a 7 estão preocupadas com os dados contidos nos pacotes de dados, para serem enviados ou recebidos
para a aplicação responsável pelos dados. A camada 4, Transporte, faz a ligação entre esses dois grupos” (TORRES,
2001).
Essa camada é responsável por fazer com que a mensagem alcance o host destino. Nesta camada são resolvidos
problemas do tipo:
- Endereçamento de pacotes;
- Definição da rota a ser seguida pelo pacote, de forma que este alcance o host destino. Roteamento é a sua
principal função.
- As rotas podem ser definidas em tabelas estáticas ou dinâmicas (determinadas para cada pacote),
previamente ou passo a passo.
- Controla o tamanho do pacote, podendo dividir as mensagens de acordo com o MTU1 do meio físico
(processo de fragmentação);
- Permite a interconexão de redes heterogêneas.
Nas redes de difusão o roteamento é simples, pois existe apenas um caminho (uma rota). Nesse tipo de rede a
função dos protocolos dessa camada é muito simples.
Nessa camada existem duas filosofias:
- Serviço de datagrama – não orientado a conexão: os pacotes não tem relação um com os outros, carregando
todas as informações para a transmissão, por exemplo, endereço destino. Essa é a filosofia do protocolo IP,
que faz parte da arquitetura TCP/IP.
- Os pacotes podem ser perdidos ou chegar fora de ordem (quando divididas em pacotes). Assim, os
protocolos da camada de rede não garantem que o pacote chegue corretamente ao seu destino.
- Serviço de circuito virtual – orientado a conexão: primeiramente é enviado um pacote para estabelecer a
conexão (virtual), sendo que é definido o número do circuito virtual, que será utilizado nos pacotes com o
mesmo destino. Assim, pacotes de uma mesma transmissão não são independentes.
Durante a transmissão coordenada pela camada física, os bits podem sofrer alterações, provocadas por: ruídos;
perda de sincronismo entre o emissor e o receptor; falhas nos componentes dos circuitos de transmissão e recepção;
entre outros.
Assim, a camada de enlace tem o objetivo principal de detectar e, opcionalmente, corrigir erros ocorridos na
camada física, transformando um canal de transmissão bruta de dados em uma linha que pareça livre dos erros de
transmissão para o uso do nível de redes.
Funcionamento:
- No envio, a camada de Link de Dados (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 o CRC2. O quadro criado pela camada Link de Dados é enviado para a camada
1
MTU - (Maximum Transfer Unit) - maior quantidade de dados suportada pelo meio de transmissão, sendo que é determinada
pelo hardware utilizado.
2
CRC (Cyclic Redundancy Check) - Método usado para verificar a integridade da transmissão, sendo que é calculado um valor
baseado nos dados que serão trafegados, que é anexado ao quadro que será enviado . No recebimento o cálculo é refeito e se o
Física, que converte esse quadro em sinais elétricos (de acordo com o meio físico) para serem enviados
através do cabo da rede.
- No recebimento, o software da camada Link de Dados (camada 2) recalcula o CRC e verifica se o dado
chegou íntegro. Caso o quadro esteja corrompido, o quadro é descartado. Caso os dados tenham chegado
corretamente, estes são enviados para a camada de rede (camada 3). Se for oferecida a função de correção de
erros3, é enviada uma confirmação de recebimento (acknowledge ou te ack) para o emissor (este retransmite
o quadro se não receber a confirmação).
Considerações:
- Deve ser definido em que momento cada quadro acessará o meio. Nesse caso, deve ser utilizado um
protocolo de acesso ao meio. Por exemplo, nas redes Ethernet é utilizado o CSMA-CD.
- Adicionam-se endereços das placas de rede (origem e próximo destino). O próximo destino não é
necessariamente o destino final do pacote.
- No recebimento, os protocolos desta camada devem organizar os bits brutos para enviar aos protocolos das
camadas superiores.
Essa camada trata da transmissão de bits brutos através de um canal de comunicação, para garantir que estes
cheguem ao destino da mesma forma que foram enviados pela origem.
Os protocolos dessa camada adaptam o sinal ao meio de transmissão, sem se preocupar com o seu significado e
com a forma com que os bits foram agrupados e devem se preocupar com as características mecânicas e elétricas do
meio de transmissão. Compreende as especificações de Hardware, que são documentadas por padrões internacionais
(Ex. IEEE 802.3), por exemplo:
- quantidade de volts usados para representar os bits 0 e 1;
- quantidade de milisegundos que o bit deve durar;
- se a transmissão pode ser feita em duas direções;
- características do conector: quantidade de pinos e forma de utilização.
Os protocolos desse nível não se preocupam com os erros de transmissão.
“A camada Física especifica, portanto, a maneira com que os Os e 1s dos quadros serão enviados para a rede
(ou recebidos da rede, no caso da recepção de dados). Ela não sabe o significado dos Os e 1 s que está recebendo ou
transmitindo. Por exemplo, no caso da recepção de um quadro, a camada física converte os sinais do cabo em Os e 1 s
e envia essas informações para a camada de Link de Dados, que montará o quadro e verificará se ele foi recebido
corretamente” (TORRES, 2001).
“Como você pode facilmente perceber, o papel dessa camada é efetuado pela placa de rede dos dispositivos
conectados em rede. Note que a camada Física não inclui o meio onde os dados circulam, isto é, o cabo da rede. O
máximo com que essa camada se preocupa é com o tipo de conector e o tipo de cabo usado para a transmissão e
recepção dos dados, de forma que os Os e 1s sejam convertidos corretamente no tipo de sinal requerido pelo cabo, mas
o cabo em si não é responsabilidade dessa camada ” (TORRES, 2001).
3.8 Resumo
Modelo OSI
PDU
Camada Descrição (Unidade do
Protocolo)
valor calculado no destino corresponder ao CRC que foi calculado na origem pode-se confirmar que os dados foram recebidos
sem erro.
3
Nem todos protocolos dessa camada oferecem essa ação de correção de erro/confirmação, o que é o caso do protocolo ethernet.
Faz a interface com o usuário e a interface entre os aplicativos e o
(7) Aplicação
protocolo de comunicação
4 Arquitetura TCP/IP
É o modelo mais conhecido e utilizado – arquitetura usada para a comunicação na Internet, que surgiu da rede
ARPANET, que foi uma rede criada pelo Departamento de Defesa do governo americano. Tinha, entre outras, a
finalidade de suprir os problemas acarretados pela interconexão de várias redes com enlaces diferentes.
- Independente de plataforma.
A figura a seguir apresenta uma comparação do modelo RM-OSI com a arquitetura TCP/IP:
RM-OSI TCP/IP
7 Aplicação
6 Apresentação 4 Aplicação
5 Sessão
4 Transporte 3 Transporte
3 Rede 2 Rede
Enlace/Link de
2 1 Interface com a Rede
Dados
1 Física
A arquitetura TCP/IP define bem as funcionalidades da camada de rede e de transporte. As camadas de aplicação
e de Interface com a Rede não possuem regras bem definidas, dependendo muito do serviço oferecido pela
aplicação e da tecnologia de comunicação utilizada para a interligação dos componentes da rede. A camada física
não é descrita na arquitetura TCP/IP.
Rede: Responsável pelo envio de datagramas (pacotes) de um computador a outro, independente de sua localização
na rede.
- Principais funcionalidades: Endereçamento e Roteamento.
- Esta camada é normatizada pela arquitetura TCP/IP.
- Datagrama ou pacote é a denominação da PDU neste nível do modelo, já que foi projetada para trabalhar
sobre comutação de pacotes.
- Orientado a datagrama e não a conexão.
- O IP (Internet Protocol) é o principal protocolo dessa camada, porém existem outros: ARP, ICMP, RARP,
RIP, IGP, OSPF, entre outros.
- IPv4 e IPv6 são versões do protocolo IP.
Transporte: Responsável por prover suporte à camada de aplicação, podendo ser de maneira confiável ou não.
- A função dessa camada é garantir uma comunicação fim-a-fim (entre aplicações) com a qualidade solicitada
pela camada de aplicação.
- Dois protocolos efetivamente utilizados: o TCP (orientado a conexão) e o UDP (não orientado a conexão).
- O acesso das aplicações à camada de transporte é feito através de portas - número inteiro para cada tipo de
aplicação.
- Os protocolos dessa camada podem servir a mais de uma aplicação simultaneamente.
- Os protocolos da camada de transporte utilizam o conceito de Portas para identificar as aplicações.
- Cada processo de aplicação é identificado por uma porta diferente, que
é o endereço de transporte (número inteiro de 16 bits). APLICAÇÕES
- Função principal é a multiplexação: transmite dados das várias aplicações simultâneas, sendo que várias
mensagens são repassadas para a camada de rede (protocolo IP). No recebimento, o IP repassa dados das
aplicações para a camada de transporte que entrega para as aplicações (portas) correspondentes -
demultiplexação.
Aplicação: Responsável pelo suporte às aplicações dos usuários (nessa camada são implementadas todas as
especificidades da aplicação).
- Não possui um padrão comum, sendo que cada aplicação tem seu próprio padrão. Por exemplo, os serviços
FTP, TELNET, DNS, entre outros, possuem seu próprio protocolo.
- Nessa camada que se estabelece o tratamento das diferenças entre representação de formato de dados – o que
era função da camada de apresentação do modelo OSI.
- Sincronização e controle de atividades são implementados nessa camada, quando forem necessários - o que
era função da camada de seção do modelo OSI.
- O endereço para a comunicação com a camada de transporte é a porta – única para cada aplicação.
A figura a seguir relaciona cada camada da arquitetura TCP/IP com os protocolos que trabalham nas mesmas.
Telnet FTP HTTP SMTP ...
4. Aplicação
TCP UDP
3. Transporte
IP (+ ICMP +IGMP)
2. Rede
5 Fontes de Pesquisa
(CHIOZZOTTO, 1999) CHIOZZOTTO, Mauro; SILVA, L. A. P. da. TCP/IP: Tecnologia e Implementação.
São Paulo: Érica, 1999.
(SOARES, 1995) SOARES, Luiz Fernando Gomes; LEMOS, Guido; COELCHER, Sérgio. Redes de
Computadores, das LANs, MANs e WANs às Redes ATM. Rio de Janeiro: Campus, 1995.
(TANENBAUM, 1997) TANENBAUM, Andrew S. Redes de Computadores. Rio de Janeiro: Campus, 1997.
(TORRES, 2001) TORRES, Gabriel. Redes de Computadores: Curso Completo. Rio de Janeiro: Axcel Books,
2001.