Skip to content

noahdumangin/Simulation_de_reseau_en_C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simulation d’un réseau local avec STP

Table des matières

Description de l'application

Ce projet simule le fonctionnement d’un réseau local (LAN) comprenant des stations (ordinateurs) et des commutateurs (switchs).
L’objectif principal est de permettre :

  • la transmission de trames Ethernet,
  • la gestion automatique des boucles réseau grâce au protocole Spanning Tree Protocol (STP).

Le projet est entièrement développé en C .

Objectifs

L'objectif principal de ce projet est de recréer de manière réaliste le fonctionnement d'un réseau local composé de diverses stations et de switchs. Pour ce faire, nous mettons en place le protocole Spanning Tree Protocol. Son rôle est d'éviter la formation de boucles dans le réseau, garantissant ainsi une communication efficace et sécurisée entre les différentes entités du LAN.

Pour mener à bien le projet, il est nécessaire de réaliser plusieurs tâches. Tout d'abord, il faudra lire un fichier de configuration au format .lan qui définira les différents équipements du réseau ainsi que leurs connexions. Ensuite, il faudra représenter le réseau sous forme d'un graphe, en tenant compte des connexions entre les équipements. Une fois cette représentation réalisée, il faudra simuler le protocole STP (Spanning Tree Protocol) pour gérer automatiquement les boucles réseau et assurer une communication efficace.

Enfin, il faudra mettre en place une interface utilisateur en ligne de commande qui permettra de charger la topologie du réseau, d'afficher les équipements présents, d'exécuter le protocole STP, de visualiser les états des ports STP, et même de simuler l'envoi de trames Ethernet pour tester la connectivité du réseau.

Fonctionnement

Le programme démarre en chargeant un fichier de configuration au format .lan, qui décrit entièrement le réseau à simuler. Ce fichier commence par indiquer le nombre total d'équipements et de connexions, puis énumère chacun des équipements. Une station (code 1) est définie par une adresse MAC et une adresse IP, et un switch (code 2) possède une adresse MAC, un nombre de ports et une priorité STP. Les connexions entre équipements sont également définies avec un poids associé, et ces liens sont ajoutés au graphe représentant le réseau.

Une fois le graphe construit, la simulation du protocole Spanning Tree Protocol (STP) peut commencer. Chaque switch commence par identifier le switch racine avec un coût initial nul. Au fur et à mesure des itérations, les switchs échangent des messages BPDU avec leurs voisins, comparent les informations reçues et mettent à jour leur état en fonction du chemin le plus court vers la racine. Lorsque la convergence est atteinte, les ports sont attribués à des rôles spécifiques : le Root Port est le chemin optimal vers la racine, le Designated Port est responsable d'un segment, et le Blocked Port est désactivé pour prévenir les boucles.

Le programme offre également la possibilité de simuler l'envoi d'une trame Ethernet. L'utilisateur peut choisir une station source et une station destination, puis une trame est générée. Cette trame contient l'adresse MAC source, l'adresse MAC de destination, le type de trame et un champ de données représentatif. Cette fonctionnalité permet de visualiser le comportement du réseau après l'application du protocole STP.

Technologies utilisées

  • Langage : C
  • IDE : CLion
  • Interface graphique : Terminal Linux

Installation et lancement

  1. Cloner le projet
    git clone (http / ssh du projet)
  2. Compiler le projet
    make clean
    make
  3. Executer le projet
    ./main

Collaboration

Projet réalisé avec deux étudiants en 1ère année de BUT Informatique.

Images

1

Charger un fichier .lan




2

affichage des switch et ports




3/4

Protocole STP




5/6

Envoyer une trame puis afficher la table de commutation




7

DEMO apprentissage MAC




About

Ce projet simule le fonctionnement d’un réseau local (LAN) comprenant des stations (ordinateurs) et des commutateurs (switchs) - réalisé dans le cadre du BUT Informatique.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors