Le but du projet
Le but de ce projet est de fournir une implantation en Java du mécanisme mis en oeuvre au niveau des ponts Ethernet et connu sous le terme de Spanning Tree Algorithm (IEEE 802.1D). Cet algorithme et son protocole (STP) permettent, à partir de l'interconnexion de ponts (ou commutateurs) par des liens redondants dans un réseau local Ethernet, d'obtenir un arbre couvrant minimum du graphe cyclique correspondant à cette interconnexion. La spécificité de cet algorithme est que son calcul est réparti sur chacun des ponts, qui n'a connaissance que de l'existence de ses voisins directs, et non de l'ensemble du graphe.
L'implantation qui vous est demandée est donc une simulation au dessus du protocole IP de ce qui se passe en temps normal au niveau du réseau local (par exemple Ethernet).
La représentation des éléments d'un réseau local et des communications
Dans ce projet, il est demandé de représenter différents éléments du réseau local considéré. En particulier, les stations terminales et les ponts pourront être représentés par des machines. Les ports des ponts peuvent ainsi être mis en oeuvre par les ports système de ces machines. Les communications ayant lieu entre ces équipements au niveau d'un réseau local, c'est-à-dire au niveau de la couche 2 (LLC) du modèle OSI, étant non connectées, et par trames, elles pourront être représentées par des communications au dessus d'UDP.
Plus précisément, par exemple, le fait qu'un lien relie le port p1 d'un pont P d'adresse MAC MacP à une station terminale A d'adresse MAC MacA peut être représenté par la réservation d'un port UDP mp1 pour p1 sur une machine MP (étant sensée représenter le pont P) et d'un port UDP ma sur une machine MA (étant sensée représenter la station terminale A). Dans ce cas, la simulation de la transmission d'une trame Ethernet sur ce lien de MacP à MacA peut être réalisée par l'envoi d'un datagramme UDP depuis le port UDP mp1 de la machine MP à destination du port UDP ma de la machine MA (en utilisant les adresses IP respectives des machines MA et MP).
En ce qui concerne le protocole STP, il utilise au niveau du réseau local l'émission et la réception de BPDU (Bridge Protocol Data Unit) via une adresse de muticast MAC donnée. Dans votre simulation, il pourra avantageusement utiliser l'émission en multicast de datagrammes UDP au dessus d'IP pour propager les informations de configuration du protocole STP.
Les documents de spécification à prendre en compte
La modélisation et la simulation qui vous est demandé doit être la plus proche possible de la réalité, dans les mécanismes et dans les algorithmes mis en oeuvre. De plus, ce projet doit vous permettre d'approfondir votre connaissance de la mise en oeuvre des ponts. Pour ces raisons, votre document de référence sera la norme officielle qui décrit le fonctionnement du Spanning Tree Protocol. Voici quelques documents utiles:
Administration et consultation
Pour permettre de configurer et de consulter l'état de chaque équipement d'un réseau modélisé par votre application, il est souhaitable de pouvoir le faire à distance. Puisque chaque équipement actif (station terminale ou pont) est représenté par une machine, on souhaite accéder à la configuration de l'équipement via une connection TCP avec la machine qui le représente. Cette connection TCP doit permettre de positionner ou de consulter tout paramètre de l'équipement (à la manière de ce qui est offert par le mode Telnet d'administration des commutateurs que vous avez manipulés en 1ère année).
Ce que vous devez rendre
Ce projet est à réaliser en binôme (deux personnes). Il doit être rendu au plus tard le vendredi 13 février, sous la forme d'un fichier d'archive compressé (tar.gz) contenant:
http://www-igm.univ-mlv.fr/~duris/ - © Université de Marne-La-Vallée - Décembre 2004