É um protocolo orientado a conexão (primeiro garante que a conexão está ativa, para depois iniciar o envio das mensagens) que garante que todas as mensagens enviadas são entregues aos destinatários integralmente e na ordem correta de envio.
O receptor envia uma mensagem de confirmação de recebimento (ACK) a cada mensagem recebida. Se o transmissor não recebe o ACK de uma mensagem num tempo pré-estabelecido, ele envia a mesma mensagem novamente. O transmissor cria uma espécie de tabela, onde cada posição é uma janela, em que são gravadas todas as mensagens que foram enviadas.
A cada ACK recebido, avança uma posição da tabela para a direita (a janela “desliza”). Por questão de segurança, se o receptor receber uma mensagem com numeração fora do intervalo de numeração das janelas a mesma é descartada e se estiver na numeração, porém fora de ordem a mensagem é armazenada.
Protocolo de Janelas Deslizantes
- Um protocolo que envia um frame e aguarda a sua confirmação é ineficiente porque desperdiça o canal que é full duplex;
- Um sistema que resolve esse problema é o de janelas deslizantes;
- O emissor mantém uma janela de transmissão de frames enviados mas ainda não confirmados;
- Desta forma o mesmo pode transmitir mais frames enquanto aguarda a confirmação;
- A medida que o receptor recebe os frames, envia para a origem uma confirmação especificando até qual frame já recebeu corretamente;
- Com base nas confirmações recebidas, o emissor elimina da janela de envio os confirmados e transmite novos frames;
- O emissor deve manter um controle de timeout para cada frame enviado;
- O tempo de timeout define o limite de tempo em que a confirmação pode chegar do destinatário;
- Se dentro deste tempo, a confirmação não chegar, o emissor assume que o frame não foi enviado;
Fonte: http://pt.wikipedia.org/wiki/Protocolo_de_janelas_deslizantes
Nenhum comentário:
Postar um comentário