TP Multicast

Module SOI
1996-97-98-99

Philippe Daimages

SOMMAIRE

  • 2ème partie: Programmation d'une application multicast
  • Documentation en ligne

  • 1ère partie: Initiation aux applications multicast

  • Illustration des mécanismes du multicast par nam

    Nam (Network AniMator) est un outil de visualisation de simultations d'algorithmes réseaux programmés à l'aide de ns (Network Simulator) de LBNL (Berkeley).

    Ouvrir l'URL suivante:

  • http://www.infres.enst.fr/net/nam/session.nam

    Une fois que la fenêtre de nam apparaît, aggrandir au maximum cette fenêtre de telle sorte qu'elle couvre presque tout l'écran physique. On voit alors 2 grappes de réseaux de machines et/ou de routeurs représentés par des petits cercles numérotés.

    C'est la grappe de gauche qui nous intéresse. S'arranger pour l'aggrandir par un zoom (flèche vers le bas dans l'ascenseur à gauche).

    La barre de menu se présente comme les boutons d'un magnétoscope. La flèche simple vers la droite démarre l'animation. Un curseur de granularité de temps est initialement fixé à 2ms. Il est possible d'agir sur ce curseur pour ralentir la visualisation, par exemple 250us ou 500us, en le déplaçant vers la gauche. On voit aussi à sa gauche le compteur de temps (initialement mis à 0).

    La simulation commence au temps de 1s. Afin d'éviter d'attendre le déclenchement depuis le temps 0s, vous pouvez postionner le curseur "Time" juste avant la première grande graduation de l'échelle du bas. Vous êtes alors prêt pour démarrer et appuyer sur le bouton marche.

    Cette animation représente une session Multicast réelle de la NASA diffusant des images vidéo en temps-réel depuis la navette spaciale vers un certain nombre de récepteurs. La source diffusante est représentée par le noeud 20 (en rouge) situé en bas et à gauche de la grappe. Les paquets sont aussi coloriés en rouge (trops épais pour l'esthétique). Les récepteurs sont représentés en noir fonçé, alors que les autres routeurs sont en gris.

    On peut observer comment le paquet initial et les autres qui suivent, émis par la source vont se démultiplier lorsque qu'ils atteindront un routeur dont ses branches conduisent à des récepteurs feuilles (en noir).

  • Utilisation de l'annonceur de sessions sdr

    Sdr (Session Directory) est un outil qui permet de présenter les annonces des sessions du MBone présentes et à venir.
    Certains médias récents, autre que l'audio et la vidéo nécessitent des plugins qui sont installés dans le répertoire ~/.sdr/plugins. Pour les installer, il faut taper la commande suivante: install-sdr Ensuite il faut lancer sdr en arrière plan: sdr & Vous pouvez alors sélectionner une annonce en cliquant sur le bouton gauche (bouton 1) de la souris. Une PopUp window apparaît et vous présente le ou les différents médias utilisables par cette session. Il suffit de cliquer sur un média pour que l'outil correspondant s'active.

  • Utilisation d'applications

    Pour faire des essais qui ne risquent pas d'interagir avec des sessions internationales, vous êtes invités à utiliser les sessions préfixées par le mot ENST.
    Vous pouvez ainsi expérimenter le canal audio pour échanger des messages vocaux si la station est équipée d'un micro. Vous pouvez aussi, utiliser le tableau blanc partagé pour dessiner et échanger du texte. Vous pouvez également expérimenter des applications qui ont été développées à l'ENST par des élèves telles que:
  • la bannière multicast mband
  • le monde en réalité virtuelle: vreng
  • 2ème partie: Programmation d'une application multicast

  • Note préliminaire

    Sur une machine Solaris, ajouter à l'édition de liens : -lnsl (pour htons,...)
    -lsocket (pour les sockets)

    Créez un répertoire spécifique pour ces exercices du nom que vous voulez, ensuite placez vous dans ce répertoire pour écrire vos programmes.

    Vous enverrez, en restant dans ce répertoire, le(s) fichier(s) source(s) traitant l'exercice et le Makefile permettant leur bonne utilisation en tapant la commande:

    rendu-controle multicast login1 login2 ...
    Où login1, login2 sont les noms de login des élèves qui partagent la même station de travail. Si l'élève est seul sur la station, seul login1 est à fournir.

  • Exercice 1: Communication de groupe

    Le but de l'application est d'écrire un outil de conversation interactif textuel, du type IRC, à l'intérieur d'un groupe. Chaque message tapé au clavier et envoyé par un utilisateur "u1" à partir d'un host "h1" est reçu par tous les autres membres qui ont joint le groupe, sous la forme :

    	[u1@h1] message de u1
    

    Pour ce faire, il faut utiliser setsockopt de la façon suivante :

    Pour obtenir plus de détails : cliquez ici !

    Pour comprendre la mise en oeuvre d'une communication de groupe utilisant le Multicast on vous demande de compléter (et éventuellement d'améliorer !) le code dont on donne le squelette dans le fichier mcast.c. Vous devez remplacer les chaines "..." par les bonnes valeurs.

    Cliquez ici pour consulter mcast.c Faire un "save as" sous Netscape pour récupérer ce fichier ou tout simplement un "SHIFT CLIC" sur cette URL.

  • Exercice 2: Battements de coeur en Multicast ou Unicast (facultatif)

    On vous demande maintenant d'enrichir le code précédent de la façon suivante:

    © (Copyright) Philippe Dax - 1996-1998