Definição – O que significa Automatic Repeat reQuest (ARQ)?
O Automatic Repeat ReQuest (ARQ), também chamado de Automatic Repeat Query, é um protocolo de controle de erros que inicia automaticamente uma chamada para retransmitir qualquer pacote ou quadro de dados após o recebimento de dados falhos ou incorretos. Quando o dispositivo de transmissão falha em receber um sinal de confirmação para confirmar que os dados foram recebidos, ele geralmente retransmite os dados após um tempo limite predefinido e repete o processo um número predeterminado de vezes até que o dispositivo de transmissão receba a confirmação.
ARQs são freqüentemente usados para garantir transmissões confiáveis em um serviço não confiável.
Definirtec explica o pedido de repetição automática (ARQ)
Três tipos principais de ARQ são Stop-and-wait ARQ, Go-Back-N ARQ e Selective Repeat ARQ. O ARQ de parar e esperar é o ARQ mais simples. Ele tem um quadro de cada vez enviado sem nenhum quadro adicional até que a recepção do anterior seja confirmada por meio de um sinal de confirmação.
Go-Back-N ARQ é um protocolo muito mais complexo. Ele permite que os quadros sejam enviados mesmo que os quadros anteriores tenham sido recebidos sem um sinal de confirmação. Este protocolo acompanha a sequência. Quando o último quadro é recebido, ele solicita a retransmissão dos quadros enviados sem confirmação. Isso é repetido até que todos os quadros sejam recebidos com um sinal de confirmação. No entanto, esse protocolo pode resultar no envio de muitos quadros várias vezes, o que pode ser evitado usando o protocolo ARQ de repetição seletiva.
A Repetição Seletiva ARQ pode ser usada para a entrega e confirmação de pacotes de dados enviados ou a entrega de mensagens subdivididas em subunidades. Na primeira metodologia, o protocolo continua a aceitar e reconhecer os quadros enviados após um erro inicial. Ele continua fazendo isso até que um número especificado de quadros seja recebido, chamado de tamanho da janela. Há um tamanho de janela para transmissão e recepção e devem ser iguais. Os números de sequência de todos os quadros não recebidos são rastreados e enviados de volta ao transmissor.
O remetente continua enviando quadros de dados não confirmados até que seu tamanho de janela seja alcançado (ele esvaziou sua janela). Quando isso acontece, o remetente reenvia o número do quadro dado pelos sinais de confirmação e continua de onde foi interrompido. Para garantir que todos os quadros sejam recebidos, o tamanho das janelas de envio e recebimento deve ser a metade do número máximo de sequência. Portanto, se a janela de recebimento for maior que a metade do número máximo de sequência, alguns ou mesmo todos os quadros reenviados, após os tempos limite exigidos, são duplicados, mas não são reconhecidos como tal. Se o remetente mover sua janela (chamada janela deslizante) para cada confirmação recebida, o número de confirmações e o maior número de sequência devem ser iguais e a metade desse número deve ser o tamanho da janela usada pelo receptor.
Na segunda metodologia que usa mensagens subdivididas, o processo é diferente. Os canais de comunicação não contínuos são usados onde as mensagens variam em comprimento, mas os protocolos tratam a mensagem como uma única unidade. Alternativamente, cada mensagem pode ser subdividida em sub-blocos, que são de comprimento fixo, em um processo denominado segmentação de pacotes. Cada mensagem contém um número variável de sub-blocos. Cada resposta não reconhecida carrega um sinalizador de bit adicional indicando que cada sub-bloco foi recebido com sucesso. Cada retransmissão diminui em comprimento, ela contém apenas os sub-blocos não reconhecidos.
Os ARQs com mensagens de comprimento variável têm maior dificuldade com mensagens mais longas, porque cada mensagem repetida tem comprimento total. No entanto, a retransmissão seletiva de mensagens de comprimento variável, ao usar o ARQ Repetição Seletiva, elimina a dificuldade de entrega de mensagens mais longas. Menor dificuldade é evidenciada pela retenção de sub-blocos entregues com sucesso após cada transmissão e pela diminuição do número de sub-blocos pendentes após cada transmissão.
Os protocolos ARQ residem nas camadas de Enlace de Dados ou Transporte do modelo OSI. O TCP usa uma variante do Go-Back-N ARQ para garantir a transmissão de dados confiável pelo protocolo da Internet. No entanto, não garante a entrega de pacotes de dados. Se o TCP usar a confirmação seletiva (SACK), a repetição seletiva ARQ será usada. Quando as redes locais (LAN) têm ambientes ruidosos, a Repetição Seletiva ARQ é empregada com a segmentação de pacotes.