4.2 Camada de enlace
     Após a transmissão dos sinais, a camada física envia os bits para a camada superior, a Camada de enlace. Essa camada normalmente possui duas principais funções: agrupar os bits em quadros e detecção de erros.
     No agrupamento de bits, essa camada define o tamanho do quadro, o número de sequência, preâmbulos de sincronização, endereços da fonte e do destino, entre outras informações. A detecção de erros normalmente acontece pela utilização do CRC (Cyclic Redundancy Check), ou seja, a camada de enlace do transmissor adiciona bits redundantes no final de cada quadro e, no receptor, essa camada verifica a consistência desses bits. No caso em que essa verificação falha, o receptor pode pedir para que o quadro seja retransmitido, procedimento conhecido como ARQ (Automatic Repeat Request - Pedido Automático de Repetição), mas isso só pode ser feito caso ambos os nós, transmissor e receptor, estejam executando o mesmo protocolo. Os protocolos mais comuns são Stop & Wait, Go Back N e Selective Repeat Protocol. Suas diferenças e funcionalidades fogem do escopo desse trabalho, mas é importante ressaltar que, em geral, eles controlam os quadros transmitidos, detectando os erros e garantindo a sequência dos quadros, formando, assim, a subcamada LLC (Logical Link Control - Controle de Enlace Lógico) da Camada de enlace.
     Existe ainda uma outra subcamada, que controla o acesso ao meio comum a todos os nós. Como exemplos de protocolos dessa subcamada, podem ser citados o ALOHA e o CSMA, explicados na próxima seção.
4.2.1 Controle de Acesso ao Meio
     Nas redes de comunicação, frequentemente o tempo que um nó transmite informação em um canal de comunicação é menor do que o tempo que ele fica ocioso. Dessa forma, é possível compartilhar a frequência e os espaços de tempo disponíveis entre vários nós. Mas, para isso funcionar, é necessário que os nós utilizem um protocolo de acesso múltiplo ao meio, para determinar quando e quem irá transmitir. Essa é a parte recebendo uma atenção especial atualmente, pois é a mais crítica das transmissões subaquáticas, devido principalmente às altas taxas de erros e às restrições relacionadas à bateria. Os três métodos mais comuns e difundidos que os protocolos utilizam são FDMA, TDMA e CDMA.
  • FDMA (Frequency Division Multiple Access - Acesso Múltiplo por Divisão de Frequência): Esse método divide a faixa de frequência disponível em faixas menores e cada usuário (ou nó) pode utilizá-la individualmente. Esse método, no entanto, é ruim para a comunicação subaquática, devido à limitada faixa de frequência disponível.
  • TDMA (Time Division Multiple Access - Acesso Múltiplo por Divisão de Tempo): Esse método realiza uma espécie de multiplexação no tempo, dividindo-o em intervalos menores e subsequentes. Em cada intervalo desses, um nó pode utilizar o meio de modo exclusivo. No entanto, para garantir a eficiência, deve haver uma margem de segurança entre um intervalo e outro proporcional ao atraso do canal, além de um sincronismo entre todos os nós. Em uma comunicação subaquática, os atrasos podem ser muito grandes, limitando a eficiência do TDMA, e o sincronismo ainda é um problema não resolvido. Portanto, esse método não é muito utilizado em comunicações subaquáticas, apesar de ser utilizado em algumas redes terrestres.
  • CDMA (Code Division Multiple Access - Acesso Múltiplo por Divisão de Código): Esse método introduz códigos de pseudo-ruído nos sinais, permitindo que vários usuários utilizem a mesma faixa de frequência simultaneamente para transmitir. Esse método parece ser o mais promissor para a comunicação subaquática.
     Abaixo alguns protocolos de acesso ao meio muito utilizados:
  • ALOHA: Esse protocolo é o mais simples de todos. Ele se baseia no envio aleatório de informação sem saber se o meio está sendo utilizado ou não, ou seja, assim que a mensagem está pronta para ser enviada, ela é enviada. O receptor deve confirmar o recebimento com um ACK e, se isso não ocorrer, o transmissor deve tentar enviar novamente. Devido à aleatoriedade, sua eficiência é de apenas 18%.
  • S-ALOHA: Esse é apenas um melhoramento do protocolo anterior. Seu nome significa Slotted ALOHA, ou seja, divide o tempo em intervalos para melhorar a eficiência, conseguindo aumentá-la para 36%, o dobro da anterior.
  • CSMA (Carrier Sense Multiple Access): Esse protocolo consiste em escutar o meio antes de transmitir. Dessa forma, o número de colisões diminui, já que, se o meio está ocupado, o transmissor deverá esperar até o meio ficar disponível. No entanto, ainda há o problema do nó oculto. Como evoluções, esse protocolo teve o CSMA-CD (CSMA- Collision Detection), que detectava uma colisão, e o CSMA- CA(CSMA-Collision Avoidance), que procurava evitar as colisões. Dessa forma, sua eficiência aumentou.