A camada de enlace de dados

Neste artigo, vamos estudar os serviços oferecidos pela segunda camada do modelo de referência OSI, a geração dos quadros (frames), o tratamento de erros e o controle de fluxo. Apesar de possuir protocolos que verificam a natureza dos erros, suas causas e como podem ser detectados e corrigidos, estes protocolos poderão ser tema para um futuro artigo.

[ Hits: 80.019 ]

Por: Perfil removido em 20/09/2013


Serviços oferecidos à camada de rede



Transmissão de dados no modelo OSI

A figura 1 mostra como os dados podem ser transmitidos no modelo OSI. Esse modelo foi baseado em uma proposta desenvolvida pela ISO (Organização de Padrões Internacionais) como primeiro passo na direção para uma padronização internacional dos protocolos utilizados nas diferentes camadas.

A ideia geral é a de que, embora a transmissão de dados seja na vertical (comunicação real), os protocolos das camadas adjacentes são projetados "simulando" uma comunicação virtual (horizontal).

Quando a camada de transporte emissora recebe uma informação da camada de sessão, ela anexa um cabeçalho de transporte e transmite à camada de transporte da camada adjacente receptora.

"Trata-se apenas de um detalhe técnico o fato de que (a camada de transporte) na verdade deve transferir a mensagem para a camada de rede de sua própria máquina." [Tanenbaum, 1997]

[figura 1] Modelo de referência OS
A finalidade principal da camada de enlace de dados, é fornecer serviços à camada de rede. O mais importante é a transferência de dados da camada de rede do host de origem para a camada de rede do host de destino. Para entendermos os serviços oferecidos pela camada de enlace devemos considerar a comunicação virtual ao invés da comunicação real entre as duas camadas de rede dos equipamentos interligados.

[figura 2] Comunicação real x comunicação virtual
A camada de enlace de dados pode ser desenvolvida para oferecer diversos serviços. Os serviços mais frequentes oferecidos pela camada de enlace, são:
  • Serviço sem conexão e sem confirmação.
  • Serviço sem conexão com confirmação.
  • Serviço orientado a conexão.

Serviço sem conexão e sem confirmação

A camada de enlace de dados oferece a menor confiabilidade possível, no entanto, é o serviço em que oferece maior performance. Para a escolha deste tipo de serviço, é vital uma boa qualidade de transmissão de dados por parte da camada física.

Caso a taxa de erros for baixa, e permitir que a correção de eventuais erros seja feita pelas camadas superiores, pode ser uma boa escolha para este tipo de serviço na camada de enlace.

Nas aplicações que exigem alta performance, como transmissão de voz e teleconferência, em que muitas vezes a performance (rapidez) possui mais prioridade do que a qualidade, pode ser uma escolha interessante.

Serviço sem conexão com confirmação

A confirmação neste tipo de serviço oferecido pela camada de enlace de dados, garante que os quadros recebidos pelo destinatário são "integros", ou seja, não houve qualquer perda ou dano por parte da informação presente no quadro.

Esta confirmação é feita através de pequenas informações ou sinais ACK (ACKnowledge). Caso o servidor (emissor) não receba esta confirmação ACK por parte de algum quadro, o emissor pode resolver reencaminhar o quadro correspondente, garantindo, portanto, a recepção íntegra e completa de todos os quadros transmitidos.

Uma falha deste tipo de serviço oferecido pela camada de enlace de dados, em relação a um serviço com conexão, seria quanto à numeração dos quadros. Imagine uma situação em que ocorra um erro ou perda por parte da confirmação (ACKnowledge) e o emissor resolva retransmitir o quadro novamente, como os quadros não são numerados, o receptor ficaria impossibilitado de identificá-lo e descartá-lo.

Este tipo de serviço é muito utilizado em aplicações que exigem alto desempenho, mas a taxa de ruído no meio físico de transmissão é muito alta.

Serviço orientado a conexão

Este tipo de serviço oferecido pela camada de enlace é dividido em três etapas. Neste serviço, as máquinas de origem e destino, estabelecem uma conexão antes dos dados serem transmitidos: na primeira etapa é estabelecido uma troca inicial de informações entre as duas camadas de enlace através de variáveis e contadores para controlar quais quadros foram recebidos e quais não foram recebidos.

Após esta troca de informações, os quadros são transmitidos. E, novamente, uma outra troca de informações a liberação de variáveis e buffers para o encerramento da conexão.

A partir da abertura de uma conexão, a camada de enlace do emissor passa a enumerar todos os quadros encaminhados, fazendo com que eles sejam recebidos uma única vez e na ordem correta, impedindo assim, a retransmissão de múltiplos quadros no caso de uma confirmação perdida.

Outra vantagem do serviço orientado à conexão, é o controle de fluxo de informações entre emissor, receptor e os roteadores intermediários que participam da comunicação.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Serviços oferecidos à camada de rede
   3. Enquadramento
   4. Controle de erros e fluxo
   5. Conclusão
Outros artigos deste autor

Instalando o CVS no Ubuntu Linux

Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop

Mais formatação especial no OpenOffice

Introduzindo um pouco mais a fundo o shell script (revisado)

Funtoo Linux - Arquivo /etc/boot.conf

Leitura recomendada

Observium - Monitoramento de Rede

Criando e Consumindo Rede de Compartilhamento NFS

Envio de e-mail criptografado pelo Zabbix usando Postfix

Configurando Zabbix 3.4 no CentOS 7

Ansible - Instalação em massa Agent Zabbix

  
Comentários
[1] Comentário enviado por danniel-lara em 20/09/2013 - 12:49h

Parabéns , muito bom o artigo

[2] Comentário enviado por removido em 20/09/2013 - 13:03h


[1] Comentário enviado por danniel-lara em 20/09/2013 - 12:49h:

Parabéns , muito bom o artigo


obrigadi Daniel,

estive olhando os seus artigos e achei os temas muito originais,

e de grande importância p/ o site VOL

valeu.

[3] Comentário enviado por renatolmorais em 24/09/2013 - 11:47h

Muito bom o artigo. Atenção apenas para a citação errada de que o Ethernet é um protocolo de camada física, na página 3.

[4] Comentário enviado por removido em 24/09/2013 - 14:36h


[3] Comentário enviado por renatolmorais em 24/09/2013 - 11:47h:

Muito bom o artigo. Atenção apenas para a citação errada de que o Ethernet é um protocolo de camada física, na página 3.


ok,

Renato vamos fazer uma errata:

O Protocolo Ethernet, é um protocolo utilizado na camada de rede ou interface com a rede

na arquitetura TCP/IP, sendo esta camada equivalente

as camadas física e enlace de dados no modelo de referência OSI - Open System Interconection.

obrigado.

[5] Comentário enviado por renatolmorais em 30/09/2013 - 15:44h

rulios, boa tarde!

Na introdução do seu artigo você fala da camada de enlace de dados do modelo de referência OSI. Logo, acredito que seu artigo faz referência a este modelo, certo? Este modelo, como sabemos, tem 7 camadas, sendo a camada física a primeira e a camada de enlace a segunda. O modelo OSI faz distinção entre as duas camadas.

Dependendo da literatura utilizada, o modelo TCP/IP pode conter 4 ou 5 camadas. Alguns autores juntam as camadas 1 e 2.

O livro "Redes de Computadores e a Internet: uma abordagem TOP-DOWN", do Kurose, apresenta o modelo TCP/IP com 5 camadas (corrija-me se eu estiver enganado), a saber: física, enlace de dados, rede, transporte e aplicação.

Do livro do Tanenbaum:

"o modelo TCP/IP não faz distinção (nem sequer menciona) entre as camadas física e de enlace de dados. Elas são completamente diferentes. A camada física está relacionada às características de transmissão do fio de cobre, dos cabos de fibra óptica e da comunicação sem fio. A tarefa da camada de enlace de dados é delimitar o início e o final dos quadros e enviá-los de um lado a outro com o grau de confiabilidade dese dado. Um modelo mais adequado deve incluir as duas camadas como elementos distintos. O modelo TCP/IP não faz isso."

Logo, na minha singela opinião, eu considero mais adequado o modelo TCP/IP com 5 camadas. Nada contra quem acha que ele possui 4 camadas. Eu só não acho legal juntar camada física e enlace de dados, uma vez que a camada física trata do sinal elétrico e do meio em que este sinal viaja. Ou seja, no nível da camada física, não há preocupação sobre a informação que trafega, mas apenas com o sinal elétrico. Diferente da camada de enlace, em que já há uma interpretação do que é o sinal (dado, paridade, correção de erros).

Por isso fiz a crítica! Você está falando desde o início do modelo de referência OSI, mas fala que o Ethernet é um protocolo de camada física. Depois, ao responder meu comentário, você fala que "O protocolo Ethernet, é um protocolo utilizado na camada de rede ou interface com a rede na arquitetura TCP/IP, sendo esta camada equivalente as camadas física e enlace de dados no modelo de referência OSI - Open System Interconection." (sic) Ainda assim, o Ethernet não é um protocolo de camada física, pois ele não trata do sinal elétrico que percorre o meio.

Na boa, não me leve a mal, mas a emenda ficou pior que o soneto.

[6] Comentário enviado por elgio em 01/10/2013 - 18:06h

Caro Júlio: pelo que li nos comentários e apenas os que estão aqui, todas as sugestões do renato são pertinentes.
Chegaste a dizer que o Ethernet é nível físico no modelo TCP/IP? De onde tiraste isto? É enlace de dados, não físico.

E as demais questões também.


Forte Abraço


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts