Projet de programmation réseau avec Java

Implantation du protocole TFTP


Le but du projet

Le but de ce projet est de fournir une implantation en Java du protocole TFTP de transfert de fichiers au dessus du protocole UDP. Le protocole TFTP (Trivial File Transfert Protocol) est, comme son nom l'indique, un protocole de transfert de fichier très simple. Il est pensé pour être implanté facilement au dessus du protocole UDP.

Outre les fonctionalités, assez simples, de programmation réseau avec Java qu'il demande de mettre en oeuvre, ce projet présente l'intérêt majeur de devoir répondre à un besoin spécifique décrit par une RFC, c'est-à-dire dans le formalisme utilisé pour décrire tous les protocoles standardisés par l'IETF. La RFC du protocole TFTP est disponible à l'url http://www.ietf.org/rfc/rfc1350.txt et est accessible localement en texte ou en pdf.

L'implantation que vous devez développer doit être capable de communiquer avec n'importe quelle autre outil respectant le protocole TFTP. Par exemple, vous pourrez tester entre binômes que vos implantations sont compatibles.

Comme tout protocole fonctionnant sur le mode client/serveur, votre implantation devra comprendre deux parties, qui auront vraissemblablement des choses en commun: d'une part un client, capable d'initier et de réaliser des transferts de fichiers avec un serveur, et d'autre part le serveur lui-même, en attente de requêtes de clients.

NOTES et RESTRICTIONS

Comment procéder

  1. Vous vous attacherez pour commencer à bien comprendre la spécification donnée par la RFC 1350.
  2. Ensuite, vous étudierez l'architecture logicielle requise pour le client et pour le serveur qui devront être développés. Vous réfléchirez en particulier à faciliter le partage des classes communes aux deux programmes.
  3. Vous réaliserez ensuite une version itérative du serveur et un client. Dans cette version simplifiée, lorsqu'un client réalise un transfert de fichier avec le serveur, ce dernier ne peut rien faire d'autre (en particulier, il ne peut pas traiter les requêtes d'un autre client).
  4. Lorsque cette version simplifiée sera opérationnelle (et seulement à ce moment là), vous pourrez développer un serveur concurrent, permettant de gérer les transferts avec plusieurs clients simultanément.

Ce que vous devez rendre

Ce projet est à réaliser en binôme (deux personnes). Il doit être rendu au plus tard le mardi 5 février 2008, sous la forme d'un fichier ZIP contenant:

Le fichier ZIP contenant ces différents documents sera envoyé par mail à Etienne.Duris@univ-mlv.fr au plus tard le 05/02/2008 ; vous spécifierez dans le corps de ce mail les noms et prénoms des 2 auteurs du projet.

http://www-igm.univ-mlv.fr/~duris/TTT/ - © Université de Marne-La-Vallée - Décembre 2007