Boa Tarde,
Preciso fazer um trabalho para a faculdade. O trabalho é de redes e preciso implementar um GoBackN com Controle de erros CRC.
Esta não é muito a minha praia, então se alguém tem alguma coisa para me ajudar por favor...
Segue definição do trabalho:
Implementar uma aplicação que simule o comportamento de um protocolo orientado à conexão. Para
tanto, os seguintes mecanismos deverão ser implementados:
Estabelecimento e encerramento da conexão
Sequenciamento das mensagens
Controle de erro das mensagens
Envio de dados (arquivos texto que serão selecionados do computador).
Implementar a técnica de controle de fluxo Go Back-n em uma aplicação cliente/servidor. O servidor
deve receber e armazenar arquivos dos clientes. O tamanho da janela de transmissão é de 5 pacotes
e o tamanho máximo suportado em cada transmissão (pacote) deve ser de 50 bytes. Portanto, o
arquivo deve ser dividido em partes para que o mesmo possa ser enviado.
O usuário deve poder informar o nome do arquivo que será transferido. A aplicação deve rodar sobre
UDP e deve ser orientada à conexão.
O formato dos pacotes que devem ser utilizados está definido abaixo:
Pacote de estabelecimento e encerramento da conexão
Máquina Origem Máquina Destino Tipo CRC
Byte 4 4 1 4
Pacote de confirmação e Rejeição
Máquina Origem Máquina Destino Tipo Sequência CRC
Byte 4 4 1 1 4
Pacote de Dados
Máquina Origem Máquina Destino Tipo Sequência Tam. dos Dados Dados CRC
Identificação dos campos:
Máquina Origem: IP da máquina origem
Máquina Destino: IP da máquina destino
Tipo: 00 pedido de estabelecimento da conexão
01 ACK
02 Reject
03 para pacote de dados
04 pedido de encerramento da conexão
Sequência: Número de sequência do pacote sendo enviado ou confirmado.
Tam. dos Dados: Indica o tamanho da área de dados do pacote.Dados: Dados do arquivo que está sendo enviado.
CRC: Controle de erro. Utilizar o CRC32
A rede que suportará a simulação é uma rede de alta velocidade e com taxa de erros muito baixa,
de forma que os pacotes gerados pela aplicação não serão espontaneamente perdidos. Assim
sendo, deve haver um módulo de inserção de falhas que force as estações a enviar uma mensagem
com “erro”. Essa função deve inserir falhas aleatoriamente durante a transmissão e o protótipo
deverá operar em dois modos distintos: com e sem falhas.
A máquina origem, ao identificar que uma mensagem chegou com erro no destino, deverá
retransmiti-la de acordo com a técnica Go Back-n. Deve ser previsto um número máximo de
retransmissões (3 retransmissões) e, quando este número for excedido, deverá ser gerado um alerta
sobre a impossibilidade do arquivo ser enviado corretamente.
Requisitos
a) Deve ser utilizado socket datagram (UDP) para suporte à aplicação de forma
que o controle dos pacotes seja executado pela aplicação desenvolvida.
b) Devem ser estabelecimentos procedimentos para contabilização de estatísticas
como: número de pacotes de dados enviados e recebidos e número de pacotes
de controle enviados e recebidos.
Observação: Lembrem que o número de sequência dos quadros começa em zero e vai até o
tamanho da janela usado.
Desde já muito obrigado.