Universidade Federal do Paraná
Departamento de Informática
Bacharelado em Ciência da Computação
Prof. Elias P. Duarte Jr.

Trabalho Prático de Redes de Computadores II - Turma 2011/2

Proxy Pinger

Entrega: Todos os trabalhos serão acessados quarta-feira dia 14 de dezembro de 2011; não serão aceitos trabalhos disponibilizados após esta data. Atenção, são 3 semanas de prazo, organize-se!

O trabalho deve preferencialmente ser feito em dupla; o código, os testes e o relatório devem ser feitos por ambos os membros da dupla. Use esta oportunidade para melhorar sua habilidade de trabalhar em equipe.

Nas próximas aulas todas as duplas devem informar ao professor os nomes dos alunos, bem como a URL do trabalho.

Descrição do Trabalho

Você vai construir um Proxy Pinger, um processo que funciona como PEER, sendo ao mesmo tempo cliente e servidor. O Proxy Pinger que recebe do cliente o endereço de um host. A Proxy executa um comando ping enviando um ICMP Echo Request para o host devolvendo para o cliente a seguinte informação: host-endereço sem-falha ou host-endereço falho (o endereço consultado deve ser explicitado na resposta). Defina uma estratégia de monitoramento que não desista se o primeiro ping não retornar corretamente, três tentativas é um bom número.

Permita o encadeamento de proxies de forma recursiva: ao invés de enviar o ping diretamente para o host, o Proxy Pinger pode enviar a consulta para outro Proxy Pinger. Faça experimento mostrando o funcinamento correto para até 3 Proxy Pingers entre o cliente e o host monitorado.

Cada dupla pode escolher o protocolo de transporte usado pelo Proxy Pinger, TCP ou UDP. Como será a configuração, mensagens e todos os detalhes que não estão especificados aqui. Interface, organização, criatividade são valorizadas! Capriche!

ENTREGA DO TRABALHO

Deve ser construída uma página Web, que contém em documentos HTML, os seguintes itens:

  • Relatório de como foi feito o trabalho e quais foram os resultados obtidos. Use desenhos, diagramas, figuras, todos os recursos que permitam ao professor compreender como a dupla estruturou o trabalho e quais resultados obteve. O objetivo é o professor entender como a dupla fez o trabalho, como o trabalho funciona.
  • Código Fonte comentado. ATENÇÃO: acrescente a todo programa a terminação ".txt" para que possa ser diretamente aberto em um browser. Exemplos: cliente.py.txt ou servidor.c.txt ou speer.py.txt
  • Logs de execução dos processos cliente/servidores, que demonstrem a execução correta destes processos. Os testes devem ser exaustivos até o ponto que demonstrem com clareza a funcionalidade correta do sistema.

    Observações:

  • Não serão aceitos trabalhos impressos, nem em meio ótico/magnético.
  • Alguns trabalhos serão defendidos no laboratório, portanto certifique-se que seu trabalho funciona aqui.
  • Pode ser usada qualquer linguagem de programação. A diversidade é bem vinda! O professor recomenda que os alunos usem esta oportunidade para aprender a linguagem Python.


    Prof. Elias P. Duarte Jr.     Departamento de Informática     UFPR