• Aucun résultat trouvé

Objectifs du travail Maˆıtriser les algorithmes de routage principaux de la couche r´eseau

N/A
N/A
Protected

Academic year: 2022

Partager "Objectifs du travail Maˆıtriser les algorithmes de routage principaux de la couche r´eseau"

Copied!
4
0
0

Texte intégral

(1)

Universit´e de Sherbrooke D´epartement d’informatique

IFT 585 - T´el´ematique

Travail pratique no 2

Mise en oeuvre des algorithmes LS et DV de la couche r´eseau

1. Consignes

(a) Travail `a faire en ´equipe de 2 ou 3 ´etudiants.

(b) Travail `a ex´ecuter dans le langage de votre choix.

(c) Date de remise : le jeudi 14 juillet 2011 avant 12h00 (midi).

2. Objectifs du travail

Maˆıtriser les algorithmes de routage principaux de la couche r´eseau.

3. D´efinition du travail

(a) Vous devez mettre en œuvre une classe ”Router” qui re¸coit des messages de la part des routeurs sur un r´eseau, qui calcule les routes optimales, et qui transmet des messages venant des hˆotes connect´es au r´eseau. Vos routeurs doivent fonctionner selon les algorithmes LS (Link-state) et DV (Distance-vector) vus en classe.

(b) Vous trouverez `a la figure 1 un graphe du r´eseau avec lequel vous devez travailler.

(c) Voici les exigences :

i. Vos routeurs fonctionnent de fa¸con identique, c’est-`a-dire que lorsque l’algorithme LS est choisi, tous les routeurs fonctionnent par cet algo- rithme ; puis de mˆeme pour DV.

ii. Lors du d´emarrage, vous indiquer `a votre application l’algorithme choisi. Pour tester le second algorithme, vous arrˆeter votre application et la red´emarrer.

iii. Vous ne pouvez pas calculer le chemin optimal sur papier avant la programmation et l’inclure dans votre application. Les routeurs doivent faire le calcul du chemin par eux-mˆemes.

Luc Bergevin

(2)

iv. Vos routeurs doivent afficher des notes afin de suivre l’´evolution du calcul des tables de routage. Ils doivent aussi afficher leur table de routage finale.

v. Lorsque tous les calculs sont termin´es, l’hˆote 1 envoie le message ”Hello world” `a l’hˆote 2.

vi. Lors du passage du message ”Hello world”, vous devez indiquer par quel chemin il a pass´e. Vous pouvez soit

A. faire afficher un message par chaque routeur pendant la transmis- sion ;

B. accumuler le chemin parcouru par le message et que ce dernier affiche son parcours `a l’arriv´ee.

vii. Vous pouvez programmer votre appplication

A. par un seul processus qui fonctionne sur un ordinateur avec 14 fils d’ex´ecution (classe Thread en Java) ;

B. ou bien par un seul fil d’ex´ecution par ordinateur sur 6 `a 8 ordina- teurs diff´erents.

C. Dans les deux cas, l’application doit utiliser le r´eseau pour passer les messages. Elle peut utiliser le protocole UDP ou TCP pour ses besoins de communication, `a votre choix (dans le cas des Threads, vous devrez changer de num´eros de port).

viii. Prenez comme heuristique que si aucun routeur n’a subi de modifi- cation `a sa table de routage pendant 1 minute, il est stable et vous pouvez envoyer votre ”Hello world”.

ix. Prenez comme heuristique qu’un coˆut pour un chemin de 1000000 =∞.

x. Les classes routeurs doivent recevoir les coˆuts en param`etres. Vous pouvez hardcoder les coˆuts dans le main(String args[])

(d) Voici quelques recommandations :

i. Pour ceux qui ne sont pas `a l’aise avec les Threads, optez pour un syst`eme distribu´e.

ii. Votre routeur devrait avoir 3 m´ethodes publiques de base : A. updateLS(param`etres)

B. updateDV(param`etres) C. forward(param`etres)

Luc Bergevin

(3)

iii. Si vous optez pour afficher le chemin parcouru dans chaque routeur, codez le message dans forward(). Si vous accumulez le chemin avec le

”Hello world”, ajoutez une m´ethode getName() `a votre routeur.

iv. Votre classe Routeur et votre classe Host devrait avoir chacune une m´ethode main(String args[]).

B

D

C

E

A F

5

45

70

50 3

8

7 78

1 2

hôte

routeur

Fig.1 – Graphe du r´eseau du tp2

4. Livrables

(a) L’application fonctionnelle (fichier .java et .class).

(b) Un fichier readme qui doit contenir la liste des ´equipiers (nom et matri- cule) ainsi que les instructions d’utilisation de votre application ou tout commentaire que vous jugerez pertinent.

(c) Les 2 items pr´ec´edents doivent ˆetre inclus dans un fichier zip que vous remettez par turnin par la commande

turnin -cift585 -ptp2 tp2.zip (sans majuscule).

Luc Bergevin

(4)

5. ´Evaluation

(a) Le travail sera not´e sur 30 et comptera pour 1/4 de la note totale des travaux.

(b) Le barˆeme de correction est de i. 10/30 pour le code de LS ii. 10/30 pour le code de DV iii. 5/30 pour le fonctionnement LS iv. 5/30 pour le fonctionnement DV.

6. Bonne chance

Luc Bergevin

Références

Documents relatifs

- Ne pas sanctionner les candidats qui ne font pas figurer les guillemets, ou ne mentionnent pas les numéros de lignes, ni les erreurs de copie, ni les erreurs de numérotation.

— Nous proposons des algorithmes polynomiaux pour résoudre le problème de la recherche d'un chemin de coût minimal dans une scène planifiée lorsqu'on ne considère qu'un seul

La logique électronique : portes logiques, opérateurs logiques ou fonctions logiques La logique programmée : automate programmable, microcontrôleur, FPGA (field-. programmable

Régulation de tension, est un organe électrotechnique ou un composant électronique qui maintient, dans certaines limites, à sa sortie une tension constante, indépendamment, de

Plus le coefficient d’amplification est élevé (donc le gain) et plus la fréquence de coupure Fc (donc la bande passante)

Deux ETCD (Équipement Terminal d’un Circuit de Données) qui adaptent les données issues de l’ETTD au support de transmission (modulation, codage) et gèrent la

Chaque station peut émettre, dès qu’elle le désire (méthode aléatoire), ce qui implique un risque de conflit d’accès avec les autres stations et des procédures de résolution

[r]