- resposta no formato do protocolo
- implementar loop de resposta
- switch de tratamento de entradas //cliente
- switch de tipo no servidor
- criar diretório back
- Verificar porq final do arquivo está diferente após envio
- Implementar a verificação de tamanho
- Implementar backup
- Fluxo princial
- Fluxo de erros
- NACKS
- Implementar restaura
- Fluxo princial
- Fluxo de erros
- NACKS
- Implementar verifica
- Fluxo princial
- Fluxo de erros
- NACKS
CRC-8-CCITT x8+x2+x+1x8+x2+x+1 100000111
- Implementar um servidor para backup de arquivos usando Raw Sockets
- A implementação deve ter os seguintes comandos :
- backup <nome.arq> * Faz o backup de um arquivo do cliente para o servidor
- restaur <nome.arq> * Restaura o arquivo do servidor para o cliente
- verifica <nome.arq> * Verifica se o arquivo do cliente e do servidor são iguais (cksum)
- Seguir o protocolo definido em sala
- Não usar Bit Fields
- Timeout Obrigatório
- Em duplas
- Relatório obrigatório (impresso)
- Entrega na última semana de aula, valor 4,0
Mensagem:
Maior mensagem: 63 bytes (nome do arquivo) Para e espera
Tipo | Definição |
---|---|
00000 | ACK |
00001 | NACK |
00010 | Ok |
00100 | Backup |
00101 | Restaura |
00110 | Verifica |
01101 | OK + checksum |
01110 | OK + TAM |
01111 | Tamanho |
10000 | Dados |
10001 | Fim da transmissão de dados |
11111 | Erro |
https://www.opensourceforu.com/2015/03/a-guide-to-using-raw-sockets/
https://wiki.inf.ufpr.br/maziero/doku.php?id=pua:comunicacao_em_rede&s
https://wiki.inf.ufpr.br/todt/doku.php?id=raw_socket
https://squidarth.com/networking/systems/rc/2018/05/28/using-raw-sockets.html
https://wiki.inf.ufpr.br/maziero/doku.php?id=espec:configuracao_de_rede_em_unix&s
https://www.youtube.com/watch?v=AS_nxNS6YKY&ab_channel=hoff._world