Revoir cette page au besoin pour se rafraîchir la mémoire.
On considère le petit réseau ci-contre pour lequel seuls les routeurs figurent ( et pas les machines qui y sont connectées ).
Le but est de simuler la mise à jour des tables de routage de chaque routeur selon le protocole RIP.
Ces tables de routage contiennent normalement les IP associées aux interfaces des routeurs de destination et passerelle, mais pour simplifier, on se contentera d'y faire figurer le nom des routeurs.
Chaque table de routage ne contiendra que les informations : nom routeur de destination, nom du routeur passerelle, nombre de sauts.
Pour cette application, une classe pour modéliser un routeur sera créée, et des fonctions manipuleront des objets instanciés à partir de cette classe pour simuler un réseau de routeurs.
Routeur
nom: str
: le nom du routeurtable: dict
: la table de routage sous forme d'un dictionnaire {destination: [passerelle, sauts]}
.get_nom
: renvoie le nom du routeurget_table
: renvoie la table de routage complète du routeurmaj_table
: met à jour la table de routage en fonction de la table de routage reçue depuis un routeur voisinLa méthode maj_table
est la plus délicate : bien revoir le principe du protocole RIP pour identifier toutes les situations pour lesquels une mise à jour de la table est nécessaire.
Écrire le code de la classe Routeur
Le réseau lui-même sera modélisé par un graphe, dont les sommets seront des objets instanciés à partir de la classe Routeur
; les arêtes seront les liens qui existent entre les routeurs.
Routeur
.Routeur
,rip
qui met à jour les tables de routage des routeurs du réseau en suivant le protocole RIP.Vous pourrez visualiser les tables de routage de chacun des routeurs à chaque "passe" de protocole; attention à l'identifiant à afficher pour chaque routeur, les sommets du graphe sont des objets !
Coder un moyen de simuler un serveur en panne, et voir le nouvel ajustement des tables de routage des autres routeurs.
Attention, il y a plusieurs choses à faire pour cela :
Si tout fonctionne, vous pourrez utiliser ce script pour vérifier vos réponses aux exercices de Bac ! 😀...