previous up next contents index Projet de fin d'année Logiciel
< Index < > Algorithme de la solution reprise >

Sous-sections


Description du logiciel

L'information de la topologie des réseaux locaux est très intéressante pour leur gestion (pour éviter les problèmes de congestion en repérant les goulots d'étranglement par exemple); cependant celle-ci est difficile à obtenir.

La plupart des outils relatifs à la topologie des réseaux s'appuient sur une découverte au niveau IP qui ignorent donc les équipements de niveau 2 (OSI).

Les fabricants de matériel réseau comme Cisco fournissent des logiciels permettant la découverte au niveau Ethernet mais ceux-ci sont difficilement utilisables dans un environnement hétérogène. Il existe aussi des logiciels commerciaux qui a priori sont capables de découvrir la topologie d'un réseau local mais ceux-ci ne sont bien sûr pas Open Source, et ils coûtent assez cher. Psnmp est donc un des premiers logiciels libres (le premier ?) capable d'effectuer cette tâche.

Découverte de la topologie

La complexité de la découverte de la topologie d'un réseau Ethernet vient de la transparence intrinsèque aux commutateurs: les différentes machines branchées au réseau ignorent que celui-ci comporte des commutateurs (hubs ou switchs).

Chaque machine envoie ses paquets sur son interface réseau; le paquet comporte les adresses physiques de l'expéditeur et du destinataire. Les interfaces réseaux ignorent les paquets qui arrivent avec une adresse de destination qui n'est pas la leur. Ainsi, le fonctionnement le plus simple est celui du hub: il s'agit d'un boitier comportant un certain nombre de ports; tout ce qui est reçu sur un port est retransmis sur tous les autres. Comme cette méthode n'est pas très efficace, la plupart du temps on utilise des switchs; ceux-ci diffèrent des hubs parce qu'ils tentent d'envoyer les paquets que sur le bon port. Pour cela, ils tiennent à jour une table du type {adresse physique, port}. Lorsqu'il doit transmettre un paquet dont l'adresse est dans sa table, il l'envoie uniquement sur le port associé; sinon il se comporte comme un hub, c'est-à-dire qu'il l'envoie sur tous les ports. La table est mise à jour à chaque paquet transitant par l'équipement qui en extrait les adresses. Cette table est un cache: toutes les informations sont datées et supprimées au bout d'un certain temps. La liste des adresse physiques correspondant à un port dans cette table est appelée forwarding list.

Grâce au protocole SNMP [4], nous pouvons récupérer ces forwarding lists d'une manière standard (dans la BRIDGE-MIB [8]). A partir de là on sait sur quel port chaque équipement réseau ``voit'' une machine. En faisant des recoupements entre ces informations sur les différents commutateurs, on peut en déduire la topologie du réseau. On remarquera que les forwarding lists étant des caches, on ne peut en aucun cas considérer que ces listes sont complètes.

Notre application

On récupère des informations sur les forwarding lists des équipements du réseau, on peut déterminer la topologie du réseau grâce à un algorithme spécifique.

Une fois cette topologie déterminée, on utilise une interface graphique pour présenter le résultat à l'utilisateur.


previous up next contents index Projet de fin d'année Logiciel
< Index < > Algorithme de la solution reprise >
Christophe GIAUME 2002-05-27