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.