O que é Enlace e como funciona? O que uma viagem tem a ver com isso?
- #Python
Nas férias universitárias, me vem sempre o sentimento de visitar os meus familiares, para ser mais específico: no Marajó. Terra linda demais... 😍
Então pensei em viajar e rapidamente me veio alguns problemas para resolver, os transportes até o destino, eu teria que viajar para o porto de carro e de lancha até a ilha, após concluir da viajem de lancha, teria que pegar mais um transporte para chegar na cidade, ou seja, um ônibus. E assim pensei Enlace tem tudo a ver com isso! Então interessado em saber junto comigo por que isso faz muito sentido? Me segue então! Que vou te explicar isso. 😉
🤨Vamos começar com a primeira questão da pergunta, o que é Enlace?
Veja uma imagem de exemplo de camada no modelo OSI, observe a camada destacada em vermelho na imagem, será a camada que irei abordar nesse artigo técnico:
ALEXSANDRO, Lucas. Camada no modelo OSI. 2024. Imagem criada pelo autor.
Primeiro começamos de forma superficial para estar se situando o que é enlace, ‘Um tipo de magia do Harry Potter?’ 🤣
Sinto muito pela resposta, mas é: não!😒
O Enlace é um serviço, uma função que é fornecido pelos dispositivos de rede, para manter e estabelecer uma comunicação, por meio de rede local (LAN), neste caso é bem comum a utilização do canal de broadcast, mas esse tema seria para um outro artigo técnico, enfim, esta camada tem a responsabilidade de garantir uma comunicação confiável entre os dispositivos, sejam eles conectados por meio físicos como cabos ou conexões sem fio: Wi-Fi e Bluetooth.
Ora então como isso é implementado?
Então, o enlace é implementado geralmente em um adaptador de rede que é conhecido como NIC (Controlador de interface de rede). Veja na imagem a seguir:
ALEXSANDRO, Lucas. NIC. 2024. Imagem criada pelo autor.
A camada de Enlace está focada em ligar dois Nós próximos, ela realiza a conexão entre as máquinas que estão trocando informações, ou seja, uma máquina de origem para uma máquina de destino adjacente, mas vale a pena observar que esse serviço também é oferecido às camadas mais altas, que não tem relação diretamente com o enlace de máquinas, o enlace realiza a verificação e possível correção de erros, esses erros estariam nos pacotes que foram transmitidos por uma máquina, a camada de Enlace depende da camada Física para receber e enviar bits, o Enlace se preocupa com o destino imediato e oferece serviço de possíveis correções de transmissões entre os nós da rede, regula o fluxo de dados, para que o Nó mais rápido não sobrecarregue um Nó mais lento.
Por fim que isso tem a ver com uma viajem?🧳
Agora imagine comigo que um agente de viagens está organizando uma jornada para mim, partindo de Belém até o Marajó.
O agente de viagens decide que a opção mais conveniente é eu pegar um carro até o Terminal Hidroviário de Belém e então uma lancha do Terminal até o Terminal Hidroviário de Camará, por fim um ônibus do Terminal de Camará até o centro da cidade.
Após o agente fazer as três reservas, é responsabilidade da empresa de transporte terrestre me levar até o Terminal Hidroviário de Belém, é responsabilidade da companhia de navegação marítima me levar do Terminal Hidroviário de Belém até o Terminal Hidroviário de Camará e por fim é responsabilidade da empresa de transporte rodoviário me levar do Terminal Hidroviário até o centro da cidade.
Cada um dos três trechos da viagem é 'direto' entre duas localidades 'adjacentes'.
Os três segmentos de transporte são administrados por empresas diferentes e utilizam modos de transporte completamente distintos (carro, lancha e ônibus). Apesar das diferenças nos modos de transporte, cada um deles oferece o serviço de levar passageiros de uma localidade a outra localidade adjacente.
Nessa analogia com o transporte, eu sou um datagrama e cada segmento de transporte é um enlace de comunicação, o modo de transporte é um protocolo de camada de enlace e o agente de viagens é um protocolo de roteamento.
Agora que entendemos o que é enlace e como funciona, vamos praticar?
Enlace na prática:
Observe melhor o enlace do meu dispositivo que estou usando, utilizando a linguagem Python e a biblioteca Psutil para me auxiliar nesses dados, tenho o seguinte resultado na interface de conexão via Bluetooth e Wi-Fi respectivamente:
Nesse caso ele me dá a informação do enlace, sendo seu status e velocidade desse enlace.
Código para visualizar o enlace:
Caso queira observar dessa mesma maneira, é preciso ter instalado o Python3 e a lib Psutil, para instalar a lib Psutil, utilize o comando no Windows:
digite em seu terminal: pip install psutil
# Desse modo sua máquina estará apta em executar esse comando,
# Mas antes abra o terminal python como administrador e execute o seguinte comando:
import psutil
# Obter todas as interfaces de rede
interfaces = psutil.net_if_stats()
# Iterar sobre todas as interfaces
for interface, status in interfaces.items():
print(f"Interface: {interface}")
print(f"Status: {'UP' if status.isup else 'DOWN'}")
print(f"Velocidade: {status.speed} Mbps")
print(f"MTU: {status.mtu}")
print()
Conclusão
Após explorar o conceito de enlace e sua relevância no contexto das comunicações de rede, é evidente que essa camada desempenha um papel fundamental na conectividade e transmissão confiável de dados entre dispositivos e utilizando uma analogia com uma viagem, pudemos compreender como o enlace se assemelha aos diferentes segmentos de uma jornada, cada responsável por levar os passageiros de um ponto para o outro de forma eficiente, sem colisões.
Assim como em uma organização de uma viagem, onde diferentes transportes são coordenados para atender às necessidades, nas redes, o enlace utiliza protocolos e dispositivos para garantir que os dados sejam transmitidos de maneira eficaz, independente do meio utilizado. O enlace desempenha um papel vital na eficiência e na segurança das redes modernas, através de verificações de possíveis correções de erros e controle de fluxo de dados e assim apreciamos melhor a complexidade e a importância dessa camada na Arquitetura de Redes de computadores.
Saber os conceitos fundamentais dessa camada te possibilita entender e dominar o Enlace que é essencial para garantir uma conectividade confiável e eficaz em um mundo cada vez mais interconectado.
Caso queira pesquisar mais a fundo sobre:
Referências
"Camada de Enlace". (2020). Aula 06 - Redes de Computadores. Universidade de São Paulo. Disponível em: https://edisciplinas.usp.br/pluginfile.php/5245911/mod_resource/content/2/2020_Aula_06_Camada_de_Enlace_2020.pdf. Acesso em: 27 fev. 2024.
"Fundamentos de Sistemas de Comunicação". ALEARDI, A. Disponível em: https://www.dcce.ibilce.unesp.br/~aleardo/cursos/fsc/cap00.php. Acesso em: 28 mar. 2024.
KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet – Uma abordgem Top Down (6ª edição).