O que é um nível de link?
O nível do link é um dos níveis conceituais mais baixos e fundamentais em comunicações digitais. Basicamente, é onde reside toda a lógica para lidar com um link de dados. Ele opera em uma espécie de hierarquia, atuando como uma interface, neste caso, entre o nível mais baixo, o nível físico que transmite o fluxo bruto de uns e zeros e as camadas superiores. Em muitos casos, o termo é usado de forma intercambiável com "camada de link", que normalmente significa a segunda camada do modelo OSI (Open Systems Interconnection), a camada de link de dados, usada em redes de computadores. Existem inúmeros protocolos de comunicação que operam no nível do link, mas suas funções essenciais são a preparação dos pacotes de dados destinados ao transporte e a interpretação de qualquer entrada via link de dados.
Existem três tipos de links de dados com os quais um nível de link deve lidar: simplex, half-duplex e full duplex. Com um link simples, os dados trafegam em uma direção, como uma rede de transmissão, onde há um remetente e um destinatário dedicados, e o destinatário não precisa enviar nada de volta ao remetente. Com half-duplex, os dados podem ir nos dois sentidos, mas não ao mesmo tempo. As comunicações full-duplex permitem que os dados viajem nas duas direções simultaneamente, o que requer mais esforço em nome do nível do link para classificar as comunicações que estão indo e vindo.
Para executar grande parte de seu trabalho, o nível do link usa uma técnica conhecida como enquadramento. Isso envolve aplicar um identificador extra que indica onde o quadro começa ou termina no fluxo de bits. Embora existam outros métodos de enquadramento, na maioria dos casos, isso é simplesmente um bit extra adicionado ao fluxo durante incrementos específicos. Na extremidade receptora, a camada de link sincroniza os bits de enquadramento no fluxo para ajudar a separar os quadros, retirar os pacotes originais e passá-los pelas outras camadas, conforme necessário. A sincronização entre as extremidades de envio e recebimento é importante, porque se a camada de link de recebimento capta o fluxo entre os quadros, ela pode simplesmente esperar até o próximo quadro iniciar, descartando quaisquer bits inutilizáveis que não pertençam a um quadro.
A camada de link de dados do modelo OSI percebe ainda duas subcamadas na camada de link. Um é chamado de controle de link lógico (LLC), enquanto o outro é o controle de acesso à mídia (MAC). A sub-camada superior LLC lida com questões como controle de fluxo e correção de erros na transmissão. Dependendo do tipo de comunicação, alguns métodos de correção de erros podem não ser empregados. Por exemplo, na rede sem fio, o nível do link tem a capacidade de solicitar que pacotes errados sejam enviados novamente, o que é muito mais raro em comunicações com fio, onde a camada de link lida apenas com a detecção de erros e o cancelamento de pacotes inválidos.
A subcamada MAC inferior é responsável por identificar o endereço físico do dispositivo, geralmente chamado de endereço MAC. Ele também é capaz de manter qualquer enfileiramento dos pacotes de dados, além de agendar sua entrega e garantir a qualidade da transmissão. É também aqui que ocorre a sincronização do quadro, bem como os protocolos que impedem que os fluxos colidam.