You are on page 1of 9

Protocolos de comunicao

um conjunto de regras ou diretrizes estabelecidas para o


estabelecimento de uma comunicao entre dois ou mais
dispositivos para trocar informaes de forma eficiente.

2
Redes de Computadores
O protocolo XModem o pai de uma srie de protocolos
de transferncia de arquivos;
Foi criado para resolver um problema imediato de
transferncia de arquivos;

2
Consideraes do transmissor
TRANSMISSOR RECEPTOR
NAK
NAK
PACOTE #1
ACK
PACOTE #2
ACK

EOT
ACK
Consideraes do transmissor
O pacote a transmitir deve ser preferialmente montado
antes do inicio da sua transmisso, para evitar pausas no
meio da transmisso do pacote.
Os momentos adequados para montar um pacote no
incio da comunicao e aps receber o ACK de um pacote.
Antes de enviar o pacote (ou melhor ainda, antes de enviar
o ltimo caracter do pacote) o transmissor deve limpar a
sua fila de recepo para diminuir a possibilidade de "lixo"
ser interpretado como a resposta do receptor.
Consideraes do transmissor
Logo antes de enviar uma resposta o receptor deve limpar
a sua fila de recepo, para diminuir a possibilidade de
"lixo" ser interpretado.
Na recepo do pacote, deve ignorar caracteres at receber
a marca de incio (SOH), dando timeout caso a marca no
seja recebida dentro de um certo tempo.
A partir deste ponto deve aguardar todos os caracteres do
pacote, dando timeout caso o caracter seguinte no seja
recebido dentro de 1 segundo.
Em todos os casos de timeout o receptor deve enviar NAK.
Consideraes do Receptor
Recebido um pacote ntegro, o receptor deve examinar o
nmero do pacote:
Se for o pacote esperado, gravar os dados, incrementar o
nmero do pacote esperado e enviar ACK.
Se for o pacote anterior ao esperado, enviar ACK. Isto
ocorre se um ACK anterior foi extraviado ou danificado,
causando a retransmisso do pacote.
Se for um pacote diferente do esperado ou o anterior,
abortar a transferncia.
O transmissor e receptor perderam o sincronismo na
numerao dos pacotes, possivelmente pelo transmissor
achar que recebeu o ACK de um pacote que no foi
recebido corretamente.
XMODEM pacote de dados
SOH PAC *PAC DADOS (128 Bytes) CHK

Na transferncia de dados utilizado um pacote com tamanho


fixo de 132 bytes;
SOH - Indica o incio do pacote;
PAC o nmero do pacote;
Este nmero comea com 1 e incrementado a cada pacote.
Aps o pacotes 255 segue o pacote 0 (ou seja, o nmero do
pacote um byte que incrementado ignorando o overflow);
*PAC o complemento de um do nmero do pacote. Pode ser
calculado como 255-PAC ou invertendo cada bit;
Dados so os dados transferidos, com tamanho fixo de 128
bytes;
CHK o checksum, calculado somando todos os bytes de
dados ignorando o overflow.
XMODEM comunicao
O receptor envia periodicamente NAK para indicar ao
transmissor que est pronto para receber (isto permite disparar as
pontas em qualquer ordem);
Ao escutar o NAK, o transmissor envia o primeiro pacote (de
nmero 1);
Ao receber com sucesso um pacote, o receptor envia ACK;
Se o pacote foi recebido incorretamente, envia NAK;
Ao receber NAK o transmissor deve retransmitir o ltimo
pacote;
Ao receber ACK o transmissor incrementa o nmero do pacote e
envia o pacote seguinte (se existir);
Ao receber ACK do ltimo pacotes, o transmissor envia EOT;
O receptor deve confirmar o recebimento do EOT atravs de
ACK;
FIM

You might also like