O que são protocolos de correção de erros do modem?
Os protocolos de correção de erros do modem são métodos para detectar e corrigir erros de transmissão de dados. Os protocolos baseados em hardware e baseados em software existem e geralmente são empregados juntos. Um modem individual geralmente usa um protocolo interno baseado em hardware para compensar o ruído do link de comunicação. Os sistemas nas duas extremidades de um link geralmente usam protocolos baseados em software para lidar com problemas além do controle de um modem.
A correção de erros de transmissão geralmente é um processo de várias etapas. Antes de cada pacote de dados ser enviado pelo link, o modem transmissor calcula sua soma de verificação e a inclui no pacote. Um algoritmo de verificação de redundância cíclica (CRC) é frequentemente aplicado para determinar a soma de verificação. Quando o pacote chega, o modem receptor também calcula a soma de verificação dos dados e a compara com a já existente no pacote. Se os dois não corresponderem, o receptor notificará o transmissor de que ele precisa reenviar o pacote de dados inválido.
Na década de 1980, a Microcom, Inc. introduziu uma família de protocolos de correção de erros de modem baseados em hardware. Chamado de Microcom Networking Protocol (MNP), consiste em dez classes numeradas que melhoram o desempenho ao longo do tempo. O MNP Classe 3 elimina bits de enquadramento desnecessários de bytes de dados individuais, por exemplo. O MNP Class 5 compacta os dados antes de enviá-los, aproveitando as melhorias nas Classes 1 a 4. O MNP Class 6 varia a largura de banda dos dados, favorecendo uma direção sobre a outra, conforme necessário, e reduz o tempo de inicialização da conexão.
O MNP foi amplamente adotado e está incorporado na maioria dos modems baseados em telefone. Um dos protocolos mais avançados de correção de erros de modem baseado em hardware foi introduzido no início dos anos 90. O padrão V.42 do Setor de Normalização das Telecomunicações da União Internacional das Telecomunicações (ITU-T) foi rapidamente incluído nos modems ao lado do MNP. O procedimento de acesso ao link para modems (LAPM) inclui compactação de dados superior em comparação ao MNP. Ele também adiciona menos sobrecarga aos dados transmitidos e oferece melhor suporte para controle de fluxo e transmissão síncrona.
Os protocolos de correção de erros do modem baseado em hardware podem ser muito bons para garantir que cada pacote de dados chegue intacto. Muitas transferências de arquivos podem ser tratadas com mais eficiência, usando os protocolos de software e hardware juntos. Se uma conexão for perdida durante o envio de um arquivo muito grande, muitos sistemas exigirão o reinício do início do arquivo. Por outro lado, alguns protocolos de correção de erros baseados em software lembram onde a transmissão parou e continuam a partir daí. Os protocolos de software também podem gerenciar melhor o controle de fluxo no sistema além da própria conexão do modem.
O XMODEM foi um dos primeiros protocolos de correção de erros de modem baseados em software criados no final dos anos 70. Era muito simples, incluindo um número de bloco, uma soma de verificação primitiva e alguns bytes de marcador em cada pacote. Seu algoritmo de soma de verificação era problemático e muitas pessoas logo implementaram variações com recursos extras. Isso incluía tamanhos de bloco maiores, transferências de vários arquivos e início de um novo pacote antes da verificação do anterior. O YMODEM, que foi o sucessor do XMODEM em meados da década de 1980, listou muitos deles como aprimoramentos opcionais.
O ZMODEM e suas variantes são protocolos de correção de erros de modem baseados em software muito aprimorados. Desenvolvido em 1986 pelo autor do YMODEM, o ZMODEM inclui um algoritmo CRC muito melhor usando 32 bits. Ele pode passar para o próximo pacote sem aguardar o reconhecimento do atual, melhorando o rendimento ou a entrega de mensagens. O ZMODEM também pode reiniciar uma grande transferência de arquivos de onde parou se a conexão for interrompida. Variações posteriores incluíram tamanhos de bloco ainda maiores e compactação automática de dados de pacotes.