Home

Rapport final

image

Contents

1. Codage de l arbre de TCP UDP Source Adress 1 TBXcast routage Destination Address 3 Source Adress 1 Destination Address TBXcast_all_routers Tableau 1 structure d un paquet circulant sur le r seau d crit par la Figure 1 Sur la figure 1 Les cercles fonc s repr sentent les routeurs TBXcast cod s dans l arbre Les cercles clairs sont de simples routeurs interm diaires sur le r seau non compatibles TBXcast L outer IP header repr sente l ent te permettant de mettre en uvre le tunnel Il a pour effet d englober le paquet partir de l inner IP header afin qu il se comporte comme un paquet IPv6 entre deux n uds de l arbre de routage Sur l exemple le paquet est trait comme un paquet IPv6 entre les routeurs 1 et 3 C est dire que le routeur 2 n aura pas conscience qu il s agit d un paquet TBXcast en r alit et le transmettra normalement au routeur 3 Comme nous voulons g n raliser l utilisation du tunneling une fois que le paquet sera arriv au routeur 3 celui ci sera trait par le driver TBXcast sera empaquet une nouvelle fois par un nouvel outer IP header pour tre transmis au prochain routeur cod dans l arbre de routage ici le routeur 4 par exemple Le nouvel ent te sera alors comme illustr ci dessous On remarquera galement que s il n y a pas de routeurs non compatibles TBXcast entre deux n uds le paquet est quand m me encapsul et un outer IP header est ajo
2. abord calcul par TBXcastCreateTree ou fournit explicitement TBXcastSend Envoie des donn es un groupe TBXcast 4 2 La plateforme d exp rimentation La suite logicielle TBXplatform vise une gestion optimale de la plateforme Ses m canismes d automatisation sont simples appr hender sans tre priv s de la puissance indispensable pour les op rations de gestion 4 2 1 M canisme de compilation Makefile Les Makefile servent la compilation des sources de TBXcast Le code est compl tement organis dans les sous dossiers 23 driver version Fichiers du driver noyau de la version version kernel netbsd version Noyau compil de la version version hbtbxcast version Fichiers de la librairie de la version version tbxtest version Fichiers du programme de test de la version version tools Fichiers des programmes de gestion tbxpwr et tbxnet bin Dossier d installation de la version courante de tbxtest et des programmes de gestion Les commandes du Makefile sont les suivantes make gen buildlinstall VERSION version Compile Installe le noyau la librairie et le programme de test de la version version make kern buildlinstall VERSION version Compile Installe le noyau de la version version make lib buildiinstall VERSION version Compile Installe la librairie de la version version make progf buildlinstall VERSION version Compile Installe le programme de test de la version version
3. addr f0 r Ce qui correspond l arbre suivant qui est bien l arbre voulu Figure 6 arbre r sultat pour le premier envoi Envoi de a 1 e 4 test des boucles Le r sultat affich est le suivant source 0 affichage des destinataires 4 taille de l arbre 3 G 1d 3 a Us addr ssl t lg 3d pai U addr Dsl a s T Ly as lp addr ez Ce qui correspond a l arbre suivant qui est bien l arbre voulu Figure 7 arbre r sultat pour le second envoi On note que l adresse associ e au troisi me n ud est e 5 et non e 4 Cela correspond nos attentes car ces deux interfaces sont situ es sur le m me n ud et l algorithme renvoie bien le chemin le plus court qui aboutit une autre interface que celle demand e mais bien au bon destinataire Comme annonc dans le rapport de conception nous nous sommes arr t s la version 3 cette ann e Nous allons maintenant pr senter notre plateforme d exp rimentation qui nous a permis de tester ces versions du protocole 16 2 6 Plateforme d exp rimentation Comme nous l indiquions dans les premiers rapports pour les besoins des tests une plateforme de test est indispensable Cela a t la motivation de sa mise en place Nous avons r cup r et fait voluer la plateforme de l ann e derni re 2 6 1 Objectifs fix s en d but de projet La plateforme de l ann e derni re a t constitu e de machines h t rog nes et ne comport
4. de Makefile Les Makefile ont pour but logique de contr ler toute la compilation Ainsi le make effectue en une commande toutes les op rations n cessaires la compilation du noyau et ou de la librairie et du programme de test Ensuite en une commande aussi on installe les produits compil s sur toutes les machines Un syst me de versioning sommaire permet notamment de mettre en cache les compilations des noyaux et de ne pas avoir les recompiler lorsque l on veut revenir une version ant rieure Un programme tbxpwr S occupe des op rations sur le d marrage arr t des machines Il permet de choisir des machines d marrer arr ter ou red marrer et de v rifier l tat des machines de la plateforme Le red marrage et l arr t d une machine sont impl ment s par une simple connexion ssh Le d marrage d une machine d j arr t e a demand plus de travail Il a fallu impl menter un Wake On Lan Lorsqu une carte r seau pour laquelle le Wake On Lan est activ re oit une certaine trame elle d marre la machine Cette technique est importante pour le travail distance puisqu elle permet sans acc s physique la plateforme d allumer et d teindre les postes souhait et non de les laisser allum s en permanence Seul le serveur doit rester allum pour transmettre les commandes Un second programme tbxnet g re la connexion entre les machines On peut lier ou d lier deux machines entre elles si c est possible on pe
5. de routage du paquet sx Ce dernier probl me nous a donc amen changer nos hypoth ses de travail A savoir nous consid rerons pour le moment que tous les routeurs TBXcast pr sents sur une route seront cod s dans l arbre de routage 2 3 3 Etat d avancement Le semi permeable tunneling de Xcast a donc t conserv Seul le champ destinataire de l outer IP header a t modifi pour qu il corresponde au prochain routeur TBXcast de l arbre de routage et non plus un destinataire au hasard comme c tait le cas dans Xcast Il s agit ici d une simple adaptation notre structure d arbre La version 1 est donc fonctionnelle mais est soumise une hypoth se forte que nous n avions pas envisag e lors de la conception 2 3 4 Tests Etant donn que nous conservons de petits d tails pr s le tunneling cod dans Xcast les tests se sont bas s sur la version 0 et se sont sold s par un succ s 2 4 Version 2 Le but de la version 2 est d impl menter la structure de l arbre finale dans le code On fournit la structure de l arbre compl te la source Dans les routeurs le driver est modifi pour prendre en compte un nouvel algorithme de routage 2 4 1 Mise jour depuis la conception Dans le driver il existe une principale modification que nous avons effectu s depuis le rapport de conception A Controle Dans la version 2 nous avions fait le choix de supprimer les v rifications e
6. make tool buildhinstall Compile Installe les programmes de gestion de la plateforme make help Affiche l aide du Makefile 4 2 2 Gestion des machines TBXpower Le programme tbxpwr IB Xpower contr le l tat des machines de la plateforme Il poss de des commandes pour d marrer arr ter ou encore voir l tat des postes TBXpower permet notamment de simplifier le red marrage de masse des machines apr s l installation d un nouveau noyau Commandes tbxpwr boot hotes D marre un ou plusieurs postes tbxpwr halt hotes Arr te un ou plusieurs postes tbxpwr reboot hotes Red marre un ou plusieurs postes tbxpwr view Liste l etat des postes tbxpwr ident hote Identifie un poste physiquement et de mani re claire tbxpwr help Affiche l aide de la commande 4 2 3 Gestion du r seau TBXnet Le programme tbxnet TBXnet g re l tat du r seau d exp rimentation Il poss de des commandes pour lier ou d lier les postes ou encore charger des topologies compl tes TBXnet simplifie les tests en pr parant la plateforme compl te aux sessions de test gr ce des commandes simples Commandes 24 tbxnet link hotes Lie deux postes tbxnet unlink hotes Delie deux postes tbxnet view Liste l tat des postes tbxnet route Etablit les routes entre tous les postes ex cuter une fois que tous les liens sont tablis tbxnet config conf Charge une configuration reseau et tablit automatiquement
7. n uds inutiles pour le routage En effet si nous avons une branche telle que repr sent e dans la Figure 4 on peut alors supprimer le n ud 1 car le n ud O peut envoyer le paquet directement au n ud 2 en passant par un tunnel unicast Figure 4 Pour supprimer ces n uds on compte le nombre de successeurs chaque n ud on supprime alors les n uds qui n ont qu un seul successeur et s ils ne sont pas destinataires On doit enfin effectuer un dernier traitement qui consiste transformer l arbre rendu par l algorithme en un arbre TBXcast On peut pour cela r cup rer les adresses dans la topologie que nous avons effectu e 2 5 2 Etat d avancement A l heure actuelle la version 3 est fonctionnelle depuis la cr ation de la topologie jusqu la cr ation de l arbre Nous avons pu tester les diff rentes tapes de l algorithme gr ce au protocole de test d crit dans la partie correspondante Nous n avons cependant pas pu tester si l arbre est bien inclus dans le paquet TBXcast que l on veut envoyer En effet la version 2 n tant pas encore fonctionnelle nous ne pouvons pas tester l envoi du paquet apr s cr ation de l arbre Nous ne pouvons que supposer que la structure de l arbre est bien int gr e dans le paquet Les d cisions prises la version 1 nous ont galement oblig s modifier l g rement l algorithme nous avons d d sactiver l tape de suppression des n uds inu
8. pr voyait 7 postes d di s aux tests utilisant 14 cartes r seaux et un poste faisant office de serveur Par manque de mat riel nous n avons pas utilis l un des postes dans le r seau de test mais nous l avons reconverti en serveur L architecture finale compte donc 6 machines d di es aux tests avec 12 cartes r seaux 1 serveur et 1 serveur de secours Pour les besoins de la compilation du syst me une premi re id e tait d utiliser une cl USB et des scripts de compilation Le noyau pouvait n tre compil qu une fois et ensuite copi sur chaque 17 machine Cette id e apportait une premi re automatisation mais n tait pas encore assez satisfaisante puisqu elle imposait toujours une gestion totalement ind pendante de chaque syst me Elle a tr s rapidement t abandonn e au profit du principe de netboot d marrage par le r seau Cette solution n a pas mis beaucoup de temps s imposer C est la r ponse logique la probl matique On veut que l administration du syst me soit centralis e il faut donc centraliser le syst me d exploitation sur un serveur et le servir chaque machine La mise en place de cette id e a t longue et complexe Apr s la mise en place du service le syst me classique a t abandonn et tous les postes ont t migr s sur le syst me netboot Concernant l automatisation de la compilation et de la gestion de la plateforme nous avons r alis 2 programmes et une collection
9. tre am lior s On pourrait par ailleurs envisager des syst mes de RAID de backup et de versioning pour assurer la s curit des donn es Globalement les services fonctionnent mais peuvent tre am lior s 20 3 Bilan sur le projet 3 1 Etat de finalisation du projet Salle La salle d exp rimentation a beaucoup volu au fil de l ann e A l heure actuelle elle se compose de 8 postes 6 postes de tests reli s entre eux avec un r seau IPv6 un serveur netboot et un serveur de secours Le serveur netboot propose des scripts permettant aux postes de tests d tre mis jour facilement Installation du noyau NetBSD changement de librairie et de programmes de tests Il permet aussi de changer facilement la configuration du switch et donc de la topologie On a au final une salle op rationnelle comportant des outils de tests automatis s Protocole La librairie dans sa version 3 est op rationnelle jusqu la construction de l arbre Le probl me provient surtout de l envoi du message entre la librairie et le driver On suppose que celui ci est d une mauvaise initialisation d un des champs de longueur dans la structure d envoi Le driver quant lui n a pas pu tre test convenablement On ne peut envoyer un message qu partir de la librairie or celle ci comporte encore des probl mes Les changements effectu s concernant l algorithme de routage dans le driver ont t test s unitairement
10. un autre programme de test qui ne fait que les tests utiles cette version L avantage est que nous avons pu coder la topologie que l on souhaitait sans tre oblig s de la mettre en place dans la salle d exp rimentation Nous pouvons aussi changer la source du paquet comme on le souhaite sans changer de poste de test Nous ne pouvons pas encore effectuer de tests sur le driver car il reste encore des probl mes lors de l envoi du paquet de la librairie vers le driver 2 5 4 1 Protocole de test Le fichier que nous avons cr pour tester la version 3 a pour but de tester toutes les modifications que nous avons apport es la librairie Nous avons donc fait appel toutes les fonctions modifi es et ajout es dont nous avons v rifi le bon fonctionnement Le test que nous avons mis en place va donc cr er un groupe et lui ajouter des membres Nous v rifions ensuite que les membres ont bien t ajout s On cr ensuite la topologie en ajoutant successivement les liens entre les n uds Cette topologie est ensuite v rifi e en affichant la totalit de celle ci ainsi que la matrice de routage de l algorithme On fait ensuite appel la fonction de cr ation de l arbre lors de laquelle on v rifie les indices des n uds de la source et des membres dans la topologie On v rifie enfin que l arbre cr est bien celui demand 2 5 4 2 R sultat des tests Nous avons mis en place pour les diff rents tests eff
11. DE SUBTREELEN tbx6n lgbm Coxon gm gt gt 1 define TBXCAST6 NODE ISDEST tbx6n_lgbm Y tbx en lgbm amp 1 Certaines macros servant au calcul de longueur de l ancien bitmap de Xcast ne servent plus Par contre de nouvelles macros pour des calculs similaires sont d sormais disponibles mais non pr sent es 1c1 Elles sont comment es et d finis dans le m me fichier que la structure de n ud 2 4 3 Tests Etant donn que les changements pour passer de la version 2 la version 3 ne concernent que la librairie et que la version 2 de celle ci n est pas la mieux adapt e pour faire des tests on a pr f r directement travailler partir de la librairie de la version 3 N anmoins toutes les fonctions de manipulation de l arbre ont t test es de mani re unitaire Voir la partie test de la version 3 ci dessous 2 5 5 10 2 5 Version 3 cr ation de l arbre a partir de la topologie Cette version est la derni re version pr vue pour cette ann e Elle a comme objectif de cr er l arbre de routage la source partir de la topologie du r seau pour ensuite construire le paquet TBXcast Ce paquet sera ensuite transmis gr ce aux fonctions d velopp es a la version 2 A la fin de cette version nous avons un protocole op rationnel qui peut transmettre des paquets depuis la source jusqu aux destinataires Il ne reste que la topologie du r seau qui n est pas g r e automatiquement La topologie d
12. INSA Rennes D partement informatique Mai 2009 e INSR RENNES TBXCAST Un protocole de routage multicast explicite Rapport final TBXCast Cyril BOULEAU Hamze FARROUKH Lo c LE HENAFF Micka l LECUYER Jozef LEGENY Beno t LUCET Emmanuel THIERRY Encadrants Mikl s MOLN R Bernard COUSIN Sommaire l 2 6 IM dC Mad dent a e a 3 Developpementde TEX CAS oraraa r mount 3 2 1 Rap IS a a a E 3 22 Version O T ROMMASC RS nt er ane its 5 EN Eata avanco A E E T 5 2 222 TeS Eogena a AEN A E A A 5 2 3 Version 1 impl mentation du tunneling ie 6 2 3 1 Rappel surle tunne Measan a a a AEE a initen pren 6 PAG Dific ltes rencontrees et sol tionS asna a aE AE EE T A G 7 2 39 RARE LG AN avanco meN neono n e a E F 2 3 4 OS de ee a a ee ee Oo A 7 2 4 A E E T 8 2 4 1 Mise a jour depuis la CONCE PU E E A 8 2 4 2 Eata IAN EME oa 8 2 4 3 AREN RE O 10 25 Version 3 cr ation de l arbre partir de la topologie oocccccncncnnnnnnnnnnnnnnnnnnnonononononnnonononinoninoss 11 2 5 1 Mise cour depuisla conce DUMAS ES ne ti 11 2 52 EAP avance Mendo ais 12 2 5 3 Ditticultesrencontrces et Soluto into n ENEA 12 2 5 4 Lestat 14 2 6 Platetormed EXPEDIA di 17 2 6 1 Objectits HX sen debutde Pro Elan o 17 2 6 2 Pliatd avance Mii cn idee Me one 17 2 6 3 Dithicult s rencontr es el SOIUHONS ADDOR ES noie anian t ae hits tetes tease 19 2 6 4 BUEU EOS ES NM Men de ae desc di ee de ee dd 20 BA SUP IE DOCS A Minn
13. ait pas de programmes de gestion ni aucune proc dure d automatisation Cette absence de gestion n est pas viable Comme nous le montre le manuel d installation de TBXcast cf Wiki la compilation du noyau peut prendre une dizaine de minutes et demande des dizaines de commandes Toutes ces commandes doivent tre faites sur toutes les machines de la plateforme Le probl me est le m me pour la configuration du r seau IPv6 Soit on choisit de d finir cette topologie de mani re fixe dans la configuration du syst me et dans ce cas on ne peut plus en changer On perd alors norm ment de flexibilit puisque l on ne peut pas tester des topologies diverses Soit on choisit d effectuer cette configuration de mani re manuelle Et dans ce cas chaque changement de topologie et chaque red marrage des machines la proc dure demande des commandes suppl mentaires sur les machines et sur le switch Il faut donc refaire la configuration du r seau au moins aussi souvent que l on change de noyau Ce mode de fonctionnement n est pas envisageable pour la r alisation d un protocole de routage Ce genre d applications est difficile mettre en uvre et demande un nombre cons quent de tests Et chaque test ce sont en d finitive des centaines de commandes taper Il nous fallait un cadre des proc dures pour faciliter la gestion automatiser la pr paration des tests C tait l objectif de tout le travail sur la plateforme Apr s que
14. akefile beaucoup plus adapt e cette probl matique qu un binaire ou un script 2 6 3 3 Wake On Lan Le Wake On Lan n cessite l envoi d un format tr s pr cis de trames Ethernet Le format en lui m me est parfaitement d fini et document Mais la m thode d envoi d une trame est plut t floue Tout d abord ce n est pas standardis mais parfaitement d pendant du syst me ensuite la documentation est tr s peu fournie m me dans les manuels Unix man ou sur internet Apr s de longues recherches et de nombreux tests nous avons finalement eu l id e de g n rer la trame et de l envoyer directement par un device La lecture de la librairie pcap a confirm cette id e A partir de l le d veloppement du Wake On Lan s est fait tr s simplement Nous avons donc pu d velopper une premi re version sur Mac OS puis la porter sous NetBSD 2 6 3 4 Forking et structure du programme Ce qui a pris le plus de temps a t de d finir la structure du programme La tr s grosse majorit des op rations se basait sur le m me principe l envoi plusieurs machines de commandes par SSH II fallait donc d finir un cadre commun pour viter de coder plusieurs fois les m mes op rations La partie structure a mis longtemps se fixer quelquefois trop stricte d autres fois trop peu puissante Il y a eu plusieurs versions de cette structure Au d part on consid rait que le programme sur le serveur ne servait qu appeler un script su
15. avancement La totalit du driver Xcast a t renomm ainsi que la librairie LibXcast Certains fichiers syst mes ont galement d tre renomm s pour int grer cette version dupliqu e de Xcast La compilation et les tests se sont d roul s avec succ s 2 2 2 Tests Les tests de cette version se sont d roul s avec l application TBXTest Cette application construit un paquet TBXcast et l envoie vers un ensemble de destinataires fourni en param tre Nous avons construit plusieurs topologies voir annexe dont chacune permet de tester une situation type du r seau chacune de ces topologies on associe un ensemble de tests effectuer R sultats Nous avons choisi de ne tester que sur les topologies 3 et 4 Topologie 3 Topologie 4 Test envoi d un paquet de A vers B et C R sultat r ception en F B et C Test envoi d un paquet de A vers B C et D Test envoi d un paquet de A vers B et D R sultat r ception en E B F C et D R sultat r ception en F B et D Test envoi d un paquet de A vers E B F C et D Test i d t de A vers B E et C POOR SORS PATTES S E VE R sultat r ception en E B F C et D R sultat r ception en F B D E et C Test envoi d un paquet de A vers C R sultat r ception en E F et C Les r sultats obtenus sont conformes nos attentes 2 3 Version 1 impl mentation du tunneling La m thode d envoi des paquets TBXcast doit
16. avec succ s en dehors du protocole En ce qui concerne les modifications de structures de donn es et d envo1 vers les routeurs suivants nous ne pouvons tester sans une librairie fonctionnelle 100 3 2 Ce que le projet nous a apport 3 2 1 Sur le plan du savoir technique Le projet TBXcast tant un projet r seau nous avons du en apprendre les bases avant m me le module R seaux du second semestre Notre apprentissage s est concentr sur la probl matique du routage domaine dans lequel nous avons peu peu progress Le routage requiert des notions sur les graphes et nous avons donc pu approfondir nos connaissances dans l algorithmique des graphes La phase d tude de Xcast et la phase de construction ont t pour nous une r elle confrontation au code de tr s bas niveau noyau de NetBSD programmation r seau Peu familiers avec ce type de programmation nous en avons peu peu compris les principes et avons pu la fois g rer la plateforme et r aliser notre tour les modifications n cessaires dans le code du noyau de NetBSD Finalement nous avons appris manipuler la plateforme c est dire nous familiariser avec le syst me d exploitation NetBSD Durant son installation et son utilisation nous avons abord s les th mes de la compilation de la mise en r seau des postes et de diff rents utilitaires comme par exemple les sniffer de paquets Ce projet fut donc une exp rience tr s enrichissante s
17. cult s de mise en place de la plateforme taient dues la difficult de prise en main d un syst me BSD des manques de documentation ou un challenge technologique permanent 2 6 3 6 Absence de sp cification Une difficult du d veloppement de la plateforme qui est en m me temps un point fort se situe dans l absence de sp cification Il n y a pas eu d tude le d veloppement ne s est pas fait par un cycle en V mais par un cycle en spirale Dans un sens c est un fonctionnement adapt Ce d veloppement gardait un objectif essentiel voluer constamment vers une simplification et une automatisation de la plateforme Chaque nouvelle volution donnait de nouvelles perspectives de d veloppement pour tendre vers le but Cependant l absence de sp cifications pour la plateforme a rendu certains d veloppements plus complexes 2 6 4 Bilan et suggestions Le d veloppement de la plateforme a plut t bien atteint son objectif La compilation peut se faire en une commande on peut g rer compl tement le d marrage et l arr t des machines On peut d finir des topologies pour les tests En quelques commandes on peut pr parer la plateforme compl te pour un test Cependant les programmes de gestion sont encore imparfaits Certaines fonctionnalit s ont t impl ment es avec des technologies inadapt es On aurait pu pr f rer des threads des fork ou bien des appels RPC des connexions SSH Les Makefile pourraient
18. du programme de test Compiler et installer le programme de test TBXcast cd prog tbxcast amp amp make amp amp make install 4 2 4 4 Utilisation du programme de test Red marrer une fois le noyau install reboot Configurer les routes pour l interface TBXcast tEcont10 EBxest up route ado noOst FIRE ELLOS Z0 el ro te change host ineto t l gt 53 20 1fp tBxesto Activer le forwarding 1pv6 sysctl w net inet6 1p6 forwarding 1 Configurer le r seau IPv6 sur chaque poste adapter en fonction de la topologie souhait e L CONLIO TEKU Ineco astl Tester le protocole S parer plusieurs destinataires par des virgules tbxtest a 1 26 5 Annexe 5 1 Topologies de test Afin de tester notre protocole nous avons cr es plusieurs topologies du r seau dont chacune permet de tester une situation particuli re dans le r seau Configuration des machines Nous sommes en possession de 6 machines et 12 cartes r seau pour construire notre platforme de test Afin de pouvoir exploiter un maximum de configurations possibles nous avons fait le choix de configurer les machines de la fa on suivante e 3 machines avec 1 carte r seau chacune e machine avec 2 cartes r seau e machine avec 3 cartes r seau e machine avec 4 cartes r seau Les machines avec 1 carte r seau servent des sources et destinations les machines poss dant plusieurs cartes r seau servent de routeurs Topologie 1 R seau s
19. e source 0 destinataire 1 adresse b 1 source 1 destinataire 0 adresse a 1 Figure 3 Ces structures sont ensuite regroup es dans un tableau repr sentant alors la topologie compl te du r seau Cette repr sentation de la topologie est beaucoup plus proche de la repr sentation r elle de la topologie que l on pourrait r cup rer avec des protocoles comme OSPF par exemple ce qui est plus adapt aux futures versions du protocole Il est de plus facile de retrouver la matrice que l on avait pr c demment en faisant un simple parcours du tableau et en rajoutant un 1 la case 11 source destination On peut de m me r cup rer les num ros de n ud des destinataires partir de leurs adresses simplement en cherchant l adresse dans la topologie le num ro du n ud est alors celui du destinataire Ce pr traitement effectu on peut alors appliquer l algorithme de Moore Dijkstra Cet algorithme renvoie un arbre sous la forme d un tableau de pr d cesseurs et qui peut contenir des branches inutiles On doit alors laguer l arbre Pour cela 1l suffit de partir des destinataires et de remonter vers la racine en suivant les pr d cesseurs Les branches non parcourues ainsi ne contiennent pas de destinataires et sont donc supprim es de l arbre On obtient alors le r el arbre des plus courts chemins On effectue ensuite un traitement suppl mentaire qui consiste supprimer les
20. e en plusieurs modules le code noyau ou driver TBXcast qui est la partie pr sente sur les routeurs interm diaires Sa fonction est de faire progresser le paquet sur le r seau en r acheminant les donn es et en modifiant correctement l arbre pr sent dans le paquet la librairie L1bTBXcast qui est impl ment e la source et qui a pour r le la construction de l arbre en fonction de la topologie et le premier envoi des paquets vers les membres du groupe l application de test TBXTest qui envoie simplement un paquet un groupe Cette application est la seule utilisant TBXcast et sa librairie et c est en sniffant le paquet envoy que nous pouvons r aliser nos tests Ces trois modules sont donc n cessaires au bon fonctionnement de TBXcast et ont pu tre d velopp s en parall le Pour une pr sentation exhaustive du protocole Xcast et des fonctionnalit s du protocole TBXcast il est possible de se r f rer aux pr c dents rapports de sp cification et de conception TBXcast est d velopp selon des versions incr mentales allant de la version 0 la version 7 Nous avions pr vu de r aliser la version 3 cette ann e Le pr c dent rapport de conception d taille de mani re compl te le contenu de ces versions La suite va pr senter notre phase de construction cependant nous avons choisi de clairement scinder la pr sentation selon les versions En effet plut t que de pr senter les objectifs modificat
21. e finalisation du protocole que sur le plan de l organisation et de la vie de projet Nous conclurons quant l atteinte des objectifs que nous nous tions pos s lors de la planification et exprimerons l apport et l exp rience tir s de ce projet Le manuel pr sent en fin de document d crit de mani re exhaustive la plateforme d exp rimentation et son mode d emploi Un manuel d utilisation du protocole c est dire de sa librairie de haut niveau figure galement Cette annexe est le fruit d une ann e d exp rimentation de recherche et de 2 N A d veloppement et sera pr cieuse si le projet est amen tre reconduit 2 D veloppement de TBXcast Le protocole TB Xcast est un protocole de routage multicast explicite arborescent Etant donn e sa difficult de r alisation nous nous sommes bas s sur le code d un protocole existant le protocole Xcast Malgr tout les sp cifications et la conception ont t ind pendantes de ce protocole et les fonctionnalit s et structures de TBXcast lui sont propres 2 1 Rappels Rappelons bri vement la structure du protocole Les destinataires d un paquet d information sont explicitement cod s dans l ent te de ce paquet c est pour cela qu il est qualifi d explicite De plus la repr sentation des chemins depuis la source vers les destinataires est un arbre de diffusion multicast d o l appellation arborescente TBXcast se d compos
22. ectu s la topologie suivante 14 Figure 5 topologie de test Nous avons explicitement mis une boucle dans la topologie afin de v rifier le comportement de l algorithme La topologie affich e par le protocole de test est la suivante Table de routage Ss O DS dy addr eiro Sad Det addr e 4 5 gt D 2 addr Sn S 4 D 5 addr S S Ls D 4 addr er S Ay D 3 addr desd 5 2 D 3 addr dira 5 4 D l addr Do S Zp D 1 addr DSZ S Os D 1 addr sl S lL D E 2y Addr sc psr Sl D 4 0 addr L Cette topologie correspond bien celle demand e La matrice cr e est la suivante 0 1 2 3 4 JD O 0 l 0 0 0 0 ii LG Tu L 0 7 O 1 0 1 0 0 3 0 0 1 0 1 0 4 0 1 0 1 O 1 SU 0 0 010 Elle correspond galement la topologie Dans la suite nous allons afficher les arbres r sultant des diff rents appels que nous avons effectu s Nous afficherons les arbres tels que la version actuelle les cr e c est dire sans supprimer les n uds inutiles au routage On peut facilement imaginer les arbres r alis s avec la version compl te de l algorithme 15 Nous avons ensuite r alis plusieurs tests d arbre envoi de a 1 f 6 et c 2 test d un arbre simple Le r sultat affich est le suivant source 0 affichage des destinataires Se Nbr d adresses elagues 5 taille de l arbre 5 0 O y da O addr assi 1 lg 3 45740 0 addr bel OL a 1 addr Ciz 3 Ilgiz Q 0 addr ero 4 lg 1 d ds
23. et le bitmap propres au protocole Xcast Pour int grer l arbre de routage dans cette structure nous avons remplac ces deux l ments propres Xcast par notre arbre Le probl me est que ces deux l ments liste des destinataires et bitmap son r guli rement utilis s dans les fonctions de la librairie Notamment lors de lajout d un membre ces structures sont r allou es pour pouvoir ajouter l adresse de celui ci dans la liste Ces r allocations entrainent un certain nombre de calculs sur les informations contenues dans la structure de groupe taille de l ent te du paquet etc et s av rent assez compliqu s remplacer pour tenir compte de l arbre de routage Nous nous sommes finalement rendu compte que la politique adopt e par Xcast lors de l ajout d un membre n est plus r ellement applicable notre version du protocole Nous avons donc d cid de compl tement changer la repr sentation d un membre dans la librairie En r alit nous avons mis en place un tableau qui contient toutes les adresses des membres des diff rents groupes et qui leur associe les identificateurs des groupes dans lesquels ils sont pr sents Ainsi lorsqu on ajoute un membre dans un groupe il suffit de rajouter une entr e dans la table De 13 plus on a mis en place une fonction qui permet de retrouver tous les membres d un groupe en lisant ce tableau Ainsi la fonction cr ant l arbre peut avoir acc s a la li
24. evra tre apport e manuellement la source qui pourra alors construire l arbre de routage vers les destinataires souhait s 2 5 1 Mise jour depuis la conception L algorithme mis en place lors de la conception pour cr er l arbre de routage a n cessit quelques traitements suppl mentaires en amont et en aval pour pouvoir tre impl ment avec les structures dont nous disposons Pour rappel lors de la conception nous avons donn un algorithme qui permet de cr er l arbre de routage en connaissant la topologie compl te et les destinataires Cet algorithme s appuie sur l algorithme de Moore Dijkstra et nous renvoie un arbre des plus courts chemins entre la source et les destinataires Dans cet algorithme la topologie est repr sent e sous la forme d une matrice contenant la case 1 J 1 s il y a un lien entre les n uds i et j et 0 s il n y en a pas Le probl me est que concr tement la topologie n est pas repr sent e par des liens entre des n uds mais par des liens entre les interfaces r seaux pr sentent sur ces n uds Nous avons donc rajout une structure permettant de repr senter cela cette structure contient trois champs le num ro du n ud de l extr mit source du lien le num ro du n ud de l extr mit destinataire du lien adresse de l interface destinataire Par exemple le lien de la Figure 3 ci dessous sera repr sent de la mani re suivant
25. ffectu s sur le paquet Ceci permet de v rifier le bon fonctionnement de l algorithme de routage sans qu il soit perturb par d ventuelles erreurs de contr le Pour ce faire nos tests ne g rent pas les cas de mauvaise utilisation pour le moment probl mes de routeur mauvaises adresses etc Ces contr les seront remettre dans les versions ult rieures 2 4 2 Etat d avancement 2 4 2 1 Librairie La librairie qui en est sa version 2 permet l envoi des messages en utilisant un arbre fourni par Putilisateur Cet arbre peut tre soit construit directement dans le code ou alors charg partir d un fichier binaire Outils Afin de faciliter la cr ation de ces fichiers binaires nous avons d velopp un script qui les produit partir des fichiers XML Par exemple ce fichier XML lt xml version 1 0 enco nng utt s standalone noT gt lt tree gt lt router address FF 1 gt lt router address FF 2 gt lt dest address FF 1 dest 1 gt lt router address EFF 5D gt lt dest address FF 7 gt lt router gt lt router gt lt router address FF 3 dest 1 gt lt router address FF 6 gt lt dest address FF 8 gt lt router gt lt router gt lt router gt lt tree gt Produira l arbre de routage suivant FF 3 FF 6 Figure 2 arbre correspond la description XML Modifications Structures Cette version de TBXcast n utilise plus une li
26. g n raliser l utilisation du tunneling classique afin de permettre l utilisation de TBXcast dans un environnement h t rog ne tous les routeurs ne sont pas forc ment compatibles avec TBXcast Cette version est d velopp e avec anticipation sur la finalit du protocole Nous supposons donc que l arbre de routage est bien pr sent dans l ent te des paquets TBXcast Nous nous int ressons ici uniquement la partie concernant l envoi du paquet en vue de son acheminement correct sur le r seau 2 3 1 Rappels sur le tunneling L id e tait d utiliser la possibilit d encapsuler un paquet IPv6 dans un autre paquet IPv6 L ent te du paquet encapsul est appel inner IP header et le nouvel ent te est appel outer IP header Cette technique doit ainsi palier au probl me d h t rog n it d un r seau en consid rant que tous les routeurs ne sont pas forc ment compatibles avec TBXcast Ainsi les routeurs ayant traiter le paquet en tant que paquet TBXcast sont les routeurs cod s dans l arbre de routage contenu en ent te de chaque paquet TBXcast Si le paquet passe par d autres routeurs interm diaires ce qui est fort probable dans un environnement de production alors 1l sera trait en tant que paquet IPv6 gr ce l outer IP header Figure 1 illustration de l exemple 1 Outer IP header Inner IP header TBXcast header Transport header Next header IPV6 Next header Routing header
27. ie 21 3 1 tat d Tinalisation du Pro el ad US as ica alo anns Care RL ad 21 3 2 Ce que le proj lL nous A ADO do dls 21 al Sut le plan dusa von te cn UE it A A din 21 3 2 2 Sur le plan organisationnel et relationn l fstsissnneseabsuntessdiaiteenant egetebnntssdsateante 21 3 2 3 Pers PEONES is e ii die ete nent ina 22 Mantieliet documentation SELS RS nn 23 4 1 Description des fonctions principales de la librairie libtbxcast o oooooooooonononcnncnnononnnnnnnnnnnnnnnnnos 23 4 2 La plateformed experimenta ld 23 4 2 1 Mecamsmede compilation Make ses na cod 23 4 2 2 Gesti n des machines LB XPDOWEL ai ai 24 4 2 3 Gestion date seat TB ai 24 4 2 4 Manuel d installation et d utilisation de TBXcast 25 IT E LS a AA E E E E EAI ie et D ee ee E Mt ot 2 del TODOS ES de OBa e o E UA RO E 21 O 29 1 Introduction Ce rapport d crit l tat final du projet TBXcast sous plusieurs angles Tout d abord il contient l ensemble des informations relatives la construction du protocole phase qui a suivi la conception logicielle d coupage en versions contenu et tests de ces diff rentes versions Nous d crirons l tat de la plateforme en cette fin de projet car elle a t pour nous un outil de test et d exp rimentation indispensable et constituait ainsi un petit projet en elle m me Ce rapport fait galement office de bilan aussi bien sur le plan de l tat d
28. ime pred i pr d cesseur du n ud i r cup r par 1 algorithme n uds 3 indice du n ud 3 de l arbre TBXcast dans l arbre de l algorithme pred courant pile des pr d cesseurs du n ud courant de l arbre TBXcast p indice du sommet de pile 1g 3 longueur associ e au n ud j de l arbre TBXcast on ne met pas le bit de destinataire et l adresse associ e au n ud j car ils ne sont pas utiles l algorithme Pour mettre le bit de destinataire 11 suffit de regarder si le n ud qu on ajoute est pr sent dans la liste des destinataires donn e en entr e les adresses des n uds sont pr sentes dans la topologie ES HNLCraliS ELOon HUE CO SEC SE LG CO lt p 2 0 pued Courant pl 0 1 0 algorithme tant que i lt nombre de n uds dans l arbre TBXcast faire chercher Le Successeur n de n uds pred courant pl Ton encore mis dans n uds si on a trouv un n ud n alors neuds 1 n LOUE ETS pour tout k de 0 p faire UI PESA courant pPI AS LO prea Couronne LE Le fart pred Courante Ipi gt 1 1 1 sinon i pl foL fait La deuxi me difficult de cette version a t d int grer l algorithme r alis dans le code de Xcast En effet la librairie h rit e de Xcast repr sente un groupe de destinataires par une structure assez compliqu e contenant les informations n cessaires la construction du paquet Xcast Ces informations contiennent la liste des adresses
29. imple sans branchement Cette topologie est tr s simple et teste l envoi d un paquet en direct Elle permet de v rifier le fonctionnement du protocole dans une situation basique Tests associ s e Envoi d un paquet depuis A vers D o Teste que le protocole fonctionne e Envoi d un paquet depuis A vers B o Teste le passage de paquet aux routeurs suivant dans le driver TBXcast e Envoi d un paquet depuis A vers D F et B o V rifie la gestion des routeurs marqu s en tant que destinations 27 Topologie 2 R seau simple avec un routeur en toile 2 DE LO 2 OO 4 Tests associ s e Envoi d un paquet depuis A vers B o V rifie le bon choix d interface de sortie dans un routeur e Envoi d un paquet depuis A vers B et C o Teste la duplication du paquet dans le routeur e Envoi d un paquet depuis A vers B F et C o Teste la fois le branchement et la gestion des routeurs en tant que destinations Topologie 3 R seau contentant un routeur avec quatre interfaces associ es a a a Ca JO 0 r Jo D do E of O Tests associ s e Envoi d un paquet depuis A vers B et C o V rifie la s lection des bonnes interfaces de sortie e Envoi d un paquet depuis A vers B E et C o Teste le bon d coupage de l arbre dans le cas de triple branchement avec des tailles de sous arbres in gales e Envoi d un paquet depuis E vers A B et C o V rifie le branchement apr s un renvoi direct 28 T
30. ions par rapport la conception et les difficult s rencontr es pour l ensemble du projet nous allons le faire pour chaque version s par ment Cela nous semble judicieux car chaque version repr sente en termes de code des modifications progressives ajouts et suppressions apport es Xcast Pour chaque version 1l y aura donc un rappel de ses objectifs son tat d avancement les difficult s rencontr es pendant son d veloppement et enfin son protocole de test accompagn des r sultats Il est galement judicieux de noter que chaque version a pour objectif la finalit du protocole Les fonctionnalit s se synth tisent donc entre elles pour donner la version 3 un protocole de base qui est cens fonctionner 2 2 Version 0 renommage D Cette version est un pr liminaire notre projet et nous sert de base pour le d veloppement de TBXcast Elle a pour but de renommer l ensemble du code de Xcast et de sa librairie LibXcast pour avoir un protocole identique Les noms des fonctions des variables et des constantes doivent tre modifi s et pr fix s par tbxcast au lieu de xcast De m me les identifiants de Xcast identifiant des paquets adresse multicast globale doivent tre modifi s pour viter tout conflit Les conventions de nommage de Xcast doivent par ailleurs tre conserv es Au final nous devons obtenir une duplication du protocole Xcast qui puisse fonctionner en parall le 2 2 1 Etat d
31. les routes tbxnet unconfig Supprime les liens entre tous les postes tbxnet help Affiche l aide de la commande Note pour les programmes tbxpwr et tbxnet hote Chiffre compris entre 1 et le nombre de postes Le chiffre repr sente le num ro de la machine auquel 1l est associ hotes Se repr sente comme une liste d intervalles d un ou plusieurs h tes s par s par des virgules Exemple 1 3 5 7 repr sentera les h tes 1 3 4 5 et 7 conf Chaine de caract res Nom d une configuration pr d finie 4 2 4 Manuel d installation et d utilisation de TBXcast 4 2 4 1 Installation du driver T l charger et extraire le code source du noyau la racine Lal xXZ V SVSsSrec tgz C 7 Patcher le noyau avec le code de TBXcast Ep river EDASI A Just Sra Installer le programme de configuration du noyau cd usr src usr bin config amp amp make amp amp make install Configurer le noyau cd UStE STE SyS arch 1386 Ccont 44 config GENERIC TBXCASTO Compiler cd usr src sys arch i386 compile GENERIC TBXCAST6 amp amp make depend amp amp make Installer le nouveau noyau cp usr src sys arch 1386 compile GENERIC TBXCAST6 netbsd netbsd Copier les headers cp usr src sys netinet6 in6 tbxcast6 h usr include netinet6 25 4 2 4 2 Installation de la librairie Compiler et installer la librairie TBXcast cd lib tbxcast amp amp make amp amp make install 4 2 4 3 Installation
32. lques tudes 1l fut primordial de commencer par homog n iser les configurations mat rielles Il est tr s complexe de g rer des automatisations sur des configurations diff rentes puisque cela peut demander des cas particuliers On peut donner l exemple des cartes r seaux Des cartes r seaux diff rentes auront sous NetBSD des noms diff rents et il faudra prendre en compte cette diff rence dans un programme qui g rerait le r seau La difficult du travail a t li e la maintenance de plusieurs copies du syst me Sur une plateforme classique chaque machine a son propre syst me install sur le disque dur Et la compilation du noyau doit se faire sur chaque poste Enfin la derni re tape tait la gestion de la topologie qui devait se faire le plus facilement possible Il tait donc n cessaire de trouver le moyen de configurer le r seau par un script Tous ces objectifs taient initialement des outils en marge du projet mais leur importance est telle qu ils ont finalement totalement t int gr dans le projet C est en quelque sorte un projet dans le projet 2 6 2 Etat d avancement Pour parvenir nos objectifs nous avons donc commenc par demander le renouvellement total du parc de machines Nous avons tout d abord obtenu 5 machines puis par des demandes successives nous sommes parvenus obtenir 3 machines suppl mentaires de la m me configuration L organisation que nous avons planifi e initialement
33. opologie 4 R seau poss dant deux n uds de branchement DE e O Tests associ s e Envoi d un paquet depuis A vers C o Teste le choix de l interface de sortie dans le driver e Envoi d un paquet depuis A vers B C et D o Teste le traitement de l arbre de routage lors d un double branchement e Envoi d un paquet depuis A vers B E F et C o Test complet du protocole Toutes les fonctions de TBXcast sont sollicit es 6 References Site du projet http tbxcast xipp net Page Wiki du projet http tbxcast xipp net wiki Documentation Doxygen de la librairie http tbxcast xipp net doc libtbxcast 29
34. r chaque poste lequel script s occupait de faire toutes les op rations Mais ce mod le tait manifestement limit Chaque op ration devait se baser sur un acc s alors qu en r alit certaines op rations sont purement locales Il emp chait toute interaction entre les machines puisque sur chaque machine le script appel devait avoir directement toutes les informations n cessaires 19 Apr s quelques volutions il a t d cid de dissocier la connexion SSH de la structure et ensuite qu une commande n invoquait pas syst matiquement un fork du programme Apr s red finition la structure est devenue beaucoup plus flexible constitu e de plusieurs librairies une librairie pour le traitement de la commande qui scanne les arguments de la ligne de commande pour en extraire la sous commande ex cuter qu peut afficher l aide ou bien les instructions d usage du programme une librairie de fonctions pour l appel ssh qui ne sert qu simplifier les appels la librairie libssh2 une librairie de donn es de la plateforme pour la traduction des noms d h te ou bien le stockage des adresses mac une librairie de forking qui ex cute une fonction dans un fork et en retourne le r sultat Malgr quelques bugs cette structure est rest e plut t stable et adapt e tous les usages Elle a t utilis e pour les deux programmes tbxpwr et tbxnet 2 6 3 5 Difficult s g n rales Plus g n ralement les diffi
35. s ce qui facilite l criture des scripts 18 2 6 3 Difficult s rencontr es et solutions apport es 2 6 3 1 Technologie Netboot La technologie Netboot est difficile appr hender Il a fallu beaucoup de recherches et de tests pour la mettre en place Les m canismes demandent la configuration de plusieurs services et dont le d bogage est d licat Tout d abord il faut configurer le BIOS de chaque machine pour demander le syst me via le r seau Il faut aussi configurer plusieurs d mons sur le serveur dhcpd tfpd inetd nfsd mountd rpcbind Il a fallu aussi se familiariser avec le fonctionnement des services sous NetBSD Les erreurs fournies par le BIOS et le programme de d marrage sont peu explicites Il y a notamment eu des probl mes avec le serveur TFTP et le serveur NFS La plupart du d bogage s est fait de mani re unitaire pour v rifier le bon fonctionnement de ces services avant de pouvoir les utiliser au sein du netboot 2 6 3 2 Programmes d automatisation Il tait initialement pr vu de regrouper toutes les proc dures dans un seul programme Dans la mesure o la compilation et la d finition de la topologie par exemple sont totalement diff rentes nous avons scind les op rations dans plusieurs programmes La programmation s en trouve grandement simplifi e puisque l on remplace un programme complexe par une suite logicielle Cette s paration a permis d impl menter la compilation par un syst me de M
36. st Ainsi en l absence de routeur compatible avec Xcast le paquet poursuit son chemin vers la premi re destination Si au cours du routage le paquet est re u par un routeur compatible avec Xcast alors le paquet est d capsul et trait par le driver Xcast L impl mentation du semi permeable tunneling de Xcast s est av r e en r alit tr s minutieuse et troitement li e aux fichiers syst mes de NetBSD Le manque de temps et la difficult de la chose nous ont pouss ce jour conserver le tunneling tel qu il est impl ment dans Xcast Ce dernier choix a amen un nouveau probl me En effet sur une route l ent te Hop by Hop est lu par tous les routeurs pour savoir si la suite du paquet est interpr table Dans notre cas sur une route donn e tous les routeurs compatibles avec TBXcast vont alors traiter le paquet On peut alors imaginer une topologie de r seau o il y a de nombreux routeurs TB Xcast et o une petite partie des routeurs seulement est cod e dans l arbre de routage d un paquet Rappelons que seuls les routeurs TBXcast cod s dans l arbre de routage du paquet doivent traiter le paquet en tant que paquet TBXcast Avec l ent te Hop by Hop tous les routeurs compatibles TBXcast qui se trouvent sur le chemin entre deux n uds de l arbre vont galement traiter le paquet avec le driver TBXcast Cela peut terme se solder par un changement de route diff rente de celle cod e dans l arbre
37. ste de destinataires plat comme Xcast mais l arbre de routage comme d fini dans les sp cifications de TBXcast Ce changement se refl te dans la librairie par le changement de la structure contenant les informations sur un groupe TBXcast Fonctions Cette version de la librairie ajoute donc 2 nouvelles fonctions e TBXcastReadTree Lit un fichier contenant la description de l arbre et cr e la structure C correspondante e TBXcastAddTree Associe un arbre de routage un groupe R gressions par rapport a la version pr c dente Vu la nature du routage arborescent 1l n est plus possible de simplement ajouter un membre un groupe car l arbre doit tre recalcul chaque fois Toutes les fonctions de gestion des membres sont alors supprim es en attendant la version 3 Se r f rer la partie 3 3 2 du rapport de conception 2 4 2 2 Driver Le protocole int gre une nouvelle structure appel e tbxcast _node contenant un champ longueur et destinataire et un champ pour l adresse IPv6 Pour compl ter cette structure l ajout de deux macros a t n cessaire La premi re permet de r cup rer le champ longueur de la structure quant l autre elle permet de r cup rer le champ destinataire typedef STEUCE ChOKCASTE node CSA Me tbx6n Igbm length of the sub tree and bitmap on the Lowest bit S EUCE 116 addr tbxen addr JT 1Pv6 address 7 F COXCAS CO nodenut define TBXCAST6 NO
38. ste des membres juste en ayant l identificateur du groupe pour lequel on veut cr er l arbre Nous avons r alis pour la version 2 une fonction permettant d associer un arbre un groupe et qui fait tous les calculs de changement de taille des donn es nous pouvons r utiliser cette fonction une fois l arbre cr Cela change totalement la politique d utilisation de la librairie vis vis de l utilisateur Avec Xcast un utilisateur pouvait cr er un groupe et lui ajouter des membres les structures du groupes taient alors mises jours lors de l ajout de chaque membre Avec les modifications que nous avons apport es pour TBXcast un utilisateur pourra cr er un groupe et lui ajouter des membres Par contre ce sera lui de calculer l arbre et d ajouter l arbre dans le groupe en faisant explicitement appel aux fonctions correspondantes La gestion des membres et celle de l arbre sont donc compl tement ind pendantes L utilisateur peut calculer l arbre quand il le souhaite ce qui est plut t un avantage car l algorithme de calcul de l arbre est assez lourd 2 5 4 Tests Etant donn que les tests avec la version 3 de la librairie sont plus faciles la cr ation des fichiers repr sentant les arbres n est plus n cessaire nous avons donc d cid s d utiliser celle ci pour tester la version 2 du driver Nous avons d cid de s parer les tests de la librairie de ceux du driver Nous avons donc r alis
39. tiles au routage En effet nous avons d supposer la version 1 que tous les routeurs TBXcast situ s entre la source et les destinataires sont pr sents dans l arbre nous ne pouvons donc plus supprimer de n uds dans l arbre 2 5 3 Difficult s rencontr es et solutions Lors de la r alisation de cette version nous avons rencontr deux principales difficult s la premi re li e la transformation de l arbre de l algorithme en arbre TBXcast et la deuxi me li e l int gration de l algorithme dans le code existant de la librairie de Xcast Le premier probl me est d au fait que l algorithme de Moore Dijkstra que nous avons utilis est adapt une repr sentation de l arbre compl tement diff rente de la notre En effet l arbre est repr sent dans l algorithme l aide d un tableau des pr d cesseurs La case 1 de ce tableau contient le pr d cesseur du n ud 1 dans l arbre ou 1 s il n a pas de pr d cesseur s il n est pas dans l arbre ou si c est la racine Cette repr sentation diff re totalement de la repr sentation que nous avons utilis e et adapter l algorithme dont nous disposions notre repr sentation se serait av r trop compliqu Nous avons 12 donc effectu un algorithme qui transforme l arbre sous la premi re repr sentation en arbre TBXcast Cet algorithme est pr sent ci dessous sre i indice de La source dans Larbro de LL algorit
40. ualit de service QoS Si le projet est reconduit l ann e prochaine nous l guons nos successeurs une documentation riche et une plateforme de test op rationnelle Nous leur conseillerons alors de d dier d avantage de temps la phase de r alisation 22 4 Manuel et documentation 4 1 Description des fonctions principales de la librairie libtbxcast Ceci est un r sum des fonctions n cessaires pour l envoi d un paquet par interm diaire de TBXcast Pour une documentation d taill e veuillez consulter la documentation Doxygen fournie TBXcastInitTopology Initialise la topologie Cette fonction doit tre appel e au d but de chaque application qui souhaite utiliser TBXcast TBXcastAddRoute Ajoute une liaison entre deux n uds dans la topologie r seau Cette liaison est consid r e sens unique et peut contenir les informations sur la Qualit de Service TBXcastCreateRoutingMatrix Calcule la matrice de routage Cette matrice est n cessaire pour les calculs des arbres de routage et devrait tre recalcul chaque changement de topologie TBXcastCreateGroup Cr e un groupe TBXcast vide TBXcastAddMember Ajoute un membre un groupe TBXcast TBXcastCreateTree Cr e un arbre de routage partir de la source vers les membres d un groupe TBXcast TBXcastSetSockOpt Initialise le socket de communication pour un groupe TBXcastAddTree Associe un arbre de routage un groupe Cette arbre doit tre d
41. ur le plan technique car 1l nous a apport chacun des choses nouvelles et que nous n avions abord es que tr s peu pendant le cursus de l INSA Bien que diff rant de projets plus classiques orient s objet les connaissances acquises au cours de cette ann e donnent notre profil une teinte int ressante 3 2 2 Sur le plan organisationnel et relationnel Le projet TBXcast a t une vraie simulation de projet dans un cadre professionnel Les r unions hebdomadaires les rapports et soutenances et la m thodologie globale en ont fait une exp rience tr s enrichissante Chacun a pu tour de r le exercer une fonction de responsable La mise en situation dans un projet de longue haleine fut donc une partie primordiale de l enseignement de cette quatri me ann e La bonne entente de l quipe sa synchronisation et son dynamisme ont fait de cette ann e de 21 projet un moment enrichissant et agr able La motivation a succ d des moments parfois difficiles en g n ral provoqu s par les difficult s techniques rencontr es avec le protocole Xcast 3 2 3 Perspectives A ce jour le projet TBXcast n est pas termin L envoi de paquet par la librairie doit tre corrig afin de permettre un fonctionnement correct des trois premi res versions La suite du d veloppement de TBXcast apr s la version 3 concernera l impl mentation de nouvelles fonctionnalit s au protocole telles que la gestion de la q
42. ut t Pour plus de d tails techniques voir le rapport de conception chapitre 4 routage d un paquet TBXcast 6 Outer IP header Inner IP header TBXcast header Transport header Next header IPv6 Next header Routing Codage de l arbre TCP UDP Source Adress 3 header TBXcast de routage Destination Address 4 Source Adress 1 Destination Address TBXcast_all_routers Tableau 2 la nouvelle structure du paquet 2 3 2 Difficult s rencontr es et solutions En th orie assez simple l impl mentation du tunneling tel que d crit pr c demment s est av r e tr s difficile et s est sold e par un changement d objectif En effet Xcast utilise le semi permeable tunneling technique proche de la n tre mais impl ment e diff remment au final Ce type de tunneling met en jeu un ent te suppl mentaire entre l inner IP header et l outer IP header nomm ent te Hop by Hop Cet ent te est lu par tous les routeurs et a pour objectif de d terminer si un routeur a la capacit de lire et d interpr ter le contenu du paquet En l occurrence un champ de cet ent te indique que la suite du paquet est de type Xcast et que seuls les routeurs impl mentant le driver Xcast peuvent traiter ce paquet comme il se doit Les autres routeurs le traiteront en tant que paquet IPv6 classique gr ce l outer IP header La destination du paquet encapsul e est la premi re adresse des destinations du paquet Xca
43. ut aussi charger une topologie enti re si elle a t pr d finie et enfin on peut visionner l tat des liens entre les postes Ces actions se r alisent avec des commandes ssh sur les machines et sur le switch et r cup rent les informations par le parsing du r sultat de la commande ifconfig Au fur et mesure de l avancement de la plateforme 1l est devenu de plus en plus indispensable de dissocier un r seau IPv4 enti rement d di a la gestion et un r seau IPv6 destin aux tests Cette dissociation avait l inconv nient majeur de nous priver d une interface par poste puisqu une interface devait tre branch e sur le r seau 1pv4 Mais les besoins sont tels que nous pr f rions sacrifier quelques possibilit s de topologies pour rendre possible l automatisation Pour plus de clart toutes les machines ont d s le d part t connect es au r seau de gestion par leur interface r seau int gr e int gr e la carte m re Ce d tail s est montr tr s important Les syst mes de netboot et de Wake on Lan ne peuvent fonctionner que sur la carte int gr e Les cartes int gr es sont indissociables de la machine M me en cas de r organisation des cartes r seaux dans les machines celles ci ne changent pas d identit il n y a pas refaire les configurations des diff rents services Le r seau de test n utilise qu un seul et m me type de carte r seau les 12 cartes filles qui nous ont t fournie

Download Pdf Manuals

image

Related Search

Related Contents

Whirlpool EV161NZRQ04 User's Manual  Philips PNM1000    cs-g93ke •cs  Manuel d`utilisation Bloc para foudre / para  INSTRUCTION 電池についてのお願いとご注意 補修用  FICHE TECHNIQUE Système de largage de capsule endoscopique  Canyon CNR-IPS03 mobile phone case    GREENSTAR™ sistema Harvest Monitor per mietitrebbia  

Copyright © All rights reserved.
Failed to retrieve file