HDLC (controle de link de dados de alto nível) * poderia * ser usado como um protocolo de camada de link de dados para uma LAN em Java, mas é altamente não convencional e geralmente não é recomendado. Aqui está o porquê:
*
Padrões existentes: As LANs usam esmagadoramente Ethernet (e suas variações como o Wi-Fi, que usa 802.11). A Ethernet é uma tecnologia madura, bem apoiada e altamente otimizada. A implementação do HDLC exigiria a criação de uma infraestrutura e drivers completamente novos, ignorando todo o hardware e o software existentes projetados para a Ethernet.
*
Complexidade: O HDLC é um protocolo mais complexo que o Ethernet. Implementá -lo corretamente no Java exigiria um esforço e experiência significativos em programação de rede e design de protocolo. Você teria que lidar com formatação de quadros, detecção de erros, controle de fluxo e potencialmente vários modos HDLC (resposta normal, resposta assíncrona, balanceado assíncrono).
*
Falta de suporte de hardware: A maioria dos cartões de interface de rede (NICs) não foi projetada para funcionar diretamente com o HDLC. Você provavelmente precisaria trabalhar em um nível muito baixo (possivelmente manipulando diretamente os registros da NIC) para enviar e receber quadros HDLC. Isso é difícil e dependente da plataforma.
* Interoperabilidade
: Se você construísse uma LAN baseada em HDLC, ela não seria capaz de interoperar com as redes baseadas em Ethernet existentes. Isso limita severamente seu uso prático.
Se você deve * usar o HDLC por um motivo muito específico (por exemplo, um sistema incorporado altamente especializado ou um projeto de pesquisa), veja como você pode se aproximar dele em Java: 1.
Acesso à rede de baixo nível: Você provavelmente precisaria usar as bibliotecas Nio (New I/S) da Java para obter acesso direto à interface de rede. Isso é muito avançado e propenso a erros. Pode até precisar usar o JNI (Java Native Interface) para chamar o código nativo (C/C ++) para interação de baixo nível com o hardware.
2. Implementação de quadros HDLC: Você precisaria criar classes Java para representar quadros HDLC, incluindo campos para endereço, controle e informações.
3.
Detecção e correção de erros: Implementar cálculos de verificação de redundância cíclica (CRC) para detecção de erros. Você também precisará lidar com retransmissões se os erros forem detectados.
4.
Controle de fluxo: Implemente um mecanismo de controle de fluxo (como a janela deslizante) para impedir que o remetente sobrecarregue o receptor.
5.
Teste: Teste rigoroso é essencial devido à complexidade do HDLC.
em resumo: Embora tecnicamente possível, a construção de uma LAN baseada em HDLC em Java é uma tarefa significativamente desafiadora com pouco benefício prático. Contar com os protocolos Ethernet padrão é fortemente recomendado para qualquer aplicativo LAN do mundo real. Se este é um exercício acadêmico, focar em um aspecto menor e mais gerenciável do HDLC (por exemplo, análise de quadros) seria um objetivo mais realista.