I. Présentation

I-A. Pré-requis

Systèmes et Réseaux vus du point de vue de l'utilisateur.

I-B. Objectifs

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.

II. Sommaire

  1. Introduction générale
    1. Introduction générale, présentation du cours
    2. Communication, applications réparties : services fournis, principes de réalisation
    3. Place respective du système d'exploitation, des couches de communication, du middleware
    4. Notions communes : noms, adresses, liaison, notions de protocole et d'interface
    5. Illustration sur des exemples concrets (Web…) pour montrer le rôle de chaque couche
  2. Introduction aux réseaux
    1. Organisation couches et protocoles TCP UDP IP ARP.
    2. Introductions aux problèmes résolus dans chaque protocole :
      1. Physique : exemple de codage, rapide panorama des supports, débit, temps de transmission (latence).
      2. Liaisons de données : mise en paquet, détection d'erreur, accès multiple au support
      3. Réseau : routage
      4. Transport : récupération d'erreur, contrôle de flux , contrôle de congestion, séquencement.
    3. Mise en pratique : principe de l'encapsulation Notions générales : adressage aux différents niveaux, passage de l'adresse physique à l'adresse IP, types de service : connecté, non connecté.
  3. La couche liaison de données
    1. La détection/correction d'erreur.
    2. Modèle d'étude.
    3. Quelques exemples pratiques.
    4. Un exemple de couche de liaison de données avec accès multiple au support
    5. Le protocole Ethernet : principe, évolutions.
  4. La couche transport
    1. Le contrôle de flux et la récupération d'erreur par retransmission.
    2. Problématique.
    3. Études d'algorithmes.
    4. Un exemple : le protocole TCP
  5. La couche réseau
    1. Le routage : problématique, classification. Mise en œuvre dans IP.
    2. Exemple de configuration statique Exemple de routage dynamique : le protocole RIP.
  6. Programmation client-serveur sockets - RPC
    1. Mise en œuvre du modèle client-serveur sur la couche de transport
      1. en utilisant les sockets
      2. en utilisant le RPC
    2. Réalisation du RPC (stubs, IDL, conversion de paramètres…)
  7. Introduction aux objets répartis Java RMI
    1. Introduction aux objets répartis
    2. Patrons de base : proxy, factory, nommage
    3. Un exemple de middleware à objets : Java RMI
    4. Utilisation
    5. Principes et détails techniques de mise en œuvre
  8. Introduction aux applications réparties
    1. Construction d'applications réparties : services, fonctions, architecture interne
    2. Illustration sur 2 exemples (montrant en particulier la capacité de croissance et la tolérance aux fautes) :
      1. le DNS (Domain Name Service)
      2. le World Wide Web

III. Téléchargement

Pour lire les documents au format PDF, vous pouvez utilisez le logiciel Adobe Acrobat Reader.

IV. L'auteur

L'auteur Sacha Krakowiak est enseignant-chercheur dans le domaine de l'informatique distribuée à l'Université de Grenoble (France). Pour plus d'informations, rendez-vous sur sa page personnelle.