Équipe pédagogique : Sacha Krakowiak, Pascal Sicard, Fabienne Boyer, Philippe Bidinger, Alan Schmitt, Christophe Lachenal, Phong Nguyen
Supposant connus les principes de base et l'utilisation des réseaux et systèmes, ce cours vise à approfondir la conception et la réalisation des protocoles de réseau et des applications réparties, en montrant la continuité entre les deux domaines. Pour les réseaux, le travail porte sur les niveaux transport, réseau et physique. Pour les applications réparties, sur l'organisation client-serveur. Dans les deux cas, on visera à mettre en évidence les principes d'organisation architecturale, notamment au moyen de patrons et canevas logiciels.
1. Réseaux et protocoles. (6 heures de cours)Introduction aux réseaux, protocoles, interfaces.
Couche physique : exemple d'Ethernet
Couche réseau : protocole IP, principe du routage
Couche transport : protocole UDP ; protocole TCP, récupération d'erreur, contrôle de flux.
On mettra en évidence le lien entre couches basses des protocoles et noyaux de systèmes.
2. Construction d'applications réparties. (6 heures de cours)Travaux dirigés/pratiquesPrincipes de la programmation répartie : schéma client-serveur, événements
Patrons de base (proxy, fabrique).
Illustration pratique par sockets, RPC, Java RMI
On mettra en évidence le lien entre applications réparties et protocoles de réseaux (réalisation d'intergiciel client-serveur au moyen de la couche transport)
6 séances de 3 heures (sur machines)
1. Mise en place et configuration d'un réseau Ethernet, observation de paquets (ping,arp ), mesures de performances et observation de collisions
2. Observation et analyse de protocoles : ARP, TCP, UDP
3. Observation et analyse de IP. Compréhension du routage. Routage statique, utilisation de RIP
4. Mise en oeuvre de la couche transport par les sockets. Utilisation des sockets pour programmer une application répartie élémentaire.
5. Protocole Java RMI. Utilisation de Java RMI pour programmer une application répartie élémentaire (1)
Bibliographie sommaire
Kurose & Ross, Computer Networking,
Addison-Wesley, 2000 (partie)
Peterson & Davie, Computer Networks, a Systems Approach,
2nd edition, Morgan Kaufmann, 2001 (partie)
Toutain, Réseaux locaux et Internet, 2ème
édition, Hermès, 1999
Coulouris & Dollimore, Distributed Systems, 3rd ed,
Addison-Wesley, 2001 (partie)