• Aucun résultat trouvé

Étude des propriétés de la structure virtuelle au travers de simulations

Pour étudier plus nement le comportement des algorithmes proposés, nous avons conduit une série de simulations. La solution a été simulée en utilisant OPNET Modeler [10]. Le com-portement général de la structure a déjà exposé dans le chapitre précédent. L'impact du de-gré, du nombre de n÷uds sur la connexité et la cardinalité de la structure ont notamment été étudiés. Nous avons choisi ici de nous focaliser sur les propriétés en terme de stabilité et de convergence de la structure virtuelle. Cette étude par simulations corrobore ainsi les propriétés d'auto-stabilisation démontrées en section 4.4page58.

4.6.1 Paramètres

La présence de collisions au niveau radio et les interférences inuent fortement sur les per-formances d'un protocole dans un réseau ad-hoc. Nous avons donc choisi d'utiliser la couche ieee 802.11 au niveau MAC, et d'utiliser la modélisation radio standard d'OPNET (aaiblisse-ment de type environne(aaiblisse-ment libre). La portée radio est circulaire, d'un rayon de 300 mètres.

Les paramètres par défaut des simulations sont de 40 n÷uds présentant un degré moyen de 10. An d'obtenir des résultats représentatifs, nous avons conduit pour chaque graphe 20 simulations avec des graines pseudo-aléatoires diérentes et avons tracé les intervalles de conance de 95%. Les paramètres par défaut du protocole sont présentés sur le tableau4.1

Paramètre Valeur

Nombre de n÷uds 40

Degré 10

Portée radio 300m

Mobilité 0 m.s-1

Intervallehello 4 secondes Intervalleap−hello 2 secondes

Tab. 4.1  Paramètres de l'auto-organisation

Par ailleurs, nous avons pu remarquer que les clusters sont toujours bien construits avant la n de la construction de la dorsale. Les clusters sont robustes et ne présentent donc pas la partie la plus sensible de la structure. Les temps de convergence étant très rapides, ils n'ont donc pas été représentés ici. Nous avons par contre choisi de détailler les propriétés concernant la dorsale.

4.6.2 Temps de convergence

Nous avons dans un premier temps xé kcds à 1 et kcluster à 2 (g. 4.4(a)). Nous pouvons remarquer que moins de 5 secondes sont nécessaires pour ne plus avoir de n÷ud isolé dans le réseau. De même, les élections se terminent rapidement et il n'existe plus de n÷ud actif après 7 secondes. Nous pensons qu'un tel délai reste très raisonnable pour initialiser un réseau, utilisé pendant un temps qui lui est largement supérieur (de quelques heures à quelques jours). Enn, moins de 10 secondes sont nécessaires pour avoir une dorsale largement ou strictement connexe. La dorsale est strictement connectée lorsque l'ensemble des n÷uds en ne gardant que les arêtes de l'arbre de la forme enfant → parent forme un graphe connexe. La dorsale est largement connectée lorsque nous prenons en compte la structure maillée de la dorsale, en relâchant donc la contrainte. Plus précisément, nous avons dans le graphe largement connecté les arêtes suivantes :

• D1 → D2 : si D1 et D2 sont dominants et voisins radio.

• d1 → d2 : si d1 et d2 sont dominés, voisins radio, et ont choisi le même père dans la dorsale.

• d1 → D2 : si d1 est dominé, D2 dominant, d1 et D2 sont voisins radio, et D2 est le père de d1. 0 5 10 15 20 25 30 10 20 30 40 50 60 70 80 90 100

Temps de convergence (en secondes)

Nombre de noeuds Plus de noeud isolé

Plus de noeud actif CDS largement connecté CDS strictement connecté (a) kcds= 1et kcluster= 2 0 5 10 15 20 25 30 10 20 30 40 50 60 70 80 90 100

Temps de convergence (en secondes)

Nombre de noeuds Plus de noeud isolé

Plus de noeud actif CDS largement connecté CDS strictement connecté

(b) kcds= 2et kcluster= 3

Fig. 4.4  Temps de convergence de la construction de la dorsale

Les algorithmes de construction, exécutés en parallèle pour la phase de création d'un ensemble dominant puis pour son interconnexion sont ecaces : ils convergent rapidement et forment une structure valide en moins de 10 secondes, même avec 100 n÷uds. Si nous xons kcds

à 2 et kcluster à 3 (g.4.4(b)), le temps requis par les algorithmes de construction est plus élevé : les chemins permettant d'interconnecter l'ensemble dominant sont plus longs et demandent donc un délai additionnel. Cependant, une dorsale valide et opérationnelle est construite en moins de 14 secondes en partant d'un état initial nul même avec 100 n÷uds.

4.6.3 Stabilisation

Il est important que l'algorithme converge rapidement vers un état valide. Un nombre im-portant de changements d'états traduirait au contraire des oscillations néfastes présentes dans l'algorithme. Nous avons donc observé le comportement de l'algorithme avant sa convergence (g. 4.5page ci-contre). Nous avons relevé le nombre moyen de changements d'états par n÷ud avant que l'algorithme ne converge. Par exemple, avec 10 n÷uds, un n÷ud prendra en moyenne 0.7 fois l'état actif, 1 fois l'état dominé, et 0.2 fois l'état dominant avant que l'algorithme ne converge. Nous pouvons remarquer qu'un n÷ud doit en moyenne changer plus d'une fois d'état. Cette propriété est logique : un n÷ud isolé prendra par exemple d'abord l'état actif avant d'être élu dominant. Nous pouvons de plus remarquer que le nombre de changements d'états par

Étude des propriétés de la structure virtuelle au travers de simulations 71 0 0.5 1 1.5 2 2.5 3 10 20 30 40 50 60 70 80 90 100

Nombre de changements d’états par noeud

Nombre de noeuds DOMINANT

DOMINE ACTIF ISOLE

Fig. 4.5  Nombre de changements d'états par n÷ud avant convergence de la construction (kcds= 1 et kcluster = 2)

n÷ud reste inchangé lorsque le nombre de participants augmente dans le réseau : les algorithmes de construction de la dorsale passent parfaitement à l'échelle. Un n÷ud ne change en moyenne que 2 fois son état avant qu'une auto-organisation valide ne soit formée.

0 5 10 15 20 25 30 35 40 45 50 100 200 300 400 500 600 Nombre de noeuds

Temps (en secondes) isolés

actifs dominants dominés

(a) Durant les 600 premières secondes

0 5 10 15 20 25 30 35 40 45 50 30 31 32 33 34 35 Nombre de noeuds

Temps (en secondes) isolés

actifs dominants dominés

(b) Zoom sur les 5 premières secondes

Fig. 4.6  Nombre de n÷uds isolés/actifs/dominants/dominés (kcds = 1 / kcluster = 2 / 50 n÷uds)

Dans un deuxième temps, nous avons regardé l'évolution des états au cours du temps (g. 4.6(a)). Dans un réseau de 50 n÷uds avec kcds = 1 et kcluster = 2, les n÷uds isolés et actifs ne sont présents que dans les toutes premières secondes d'exécution. Aucune cassure de la dorsale ne se produit, et aucun n÷ud ne devient isolé à cause d'une telle cassure. De plus, les états restent très stables au cours du temps. Cependant, nous pouvons observer quelques micro-variations : des collisions peuvent se produire à cause du médium radio. Ainsi, des pa-quets étant perdus, des incohérences peuvent apparaître. Un n÷ud ayant une mauvaise vision de la topologie, il peut reconstruire localement sa dorsale alors qu'une telle procédure est inutile. Cependant, de tels changements sont peu fréquents.

Nous avons ensuite étudié les toutes premières secondes d'exécution (g.4.6(b)). Nous pou-vons observer que initialement, trop de dominants sont élus par l'algorithme. Cependant, la redondance est détectée par les algorithmes de maintenance, et la cardinalité de la dorsale dimi-nue peu après. Nous pouvons également observer le fonctionnement de l'algorithme en vagues, ou pseudo-rondes : le nombre de n÷uds isolés et actifs diminue par pallier, correspondant aux temporisateurs des élections.

4.6.4 Résistance aux fautes 0 1 2 3 4 5 6 Quelconque Dominé Dominant

Temps de reconnexion (en secondes)

Type de panne

Reconnexion large (kcds=1 kcluster=2) Reconnexion stricte (kcds=1 kcluster=2) Reconnexion large (kcds=2 kcluster=3) Reconnexion stricte (kcds=2 kcluster=3)

(a) Temps de reconnexion

0 0.5 1 1.5 2 2.5 3 Quelconque Dominé Dominant

Nombre cumulatif de changements d’états

Type de panne x kcds=1, kcluster=2 o kcds=2, kcluster=3 x x x o o o DOMINANT DOMINE ACTIF ISOLE

(b) Nombre de changements d'états

Fig. 4.7  Simulation d'une faute temporaire

Nous avons simulé dans un premier temps une faute temporaire : un dominé devient arbi-trairement dominant, ou au contraire un dominant devient dominé (g. 4.7(a)et 4.7(b)). Ceci simule la panne d'un n÷ud (un n÷ud change d'état suivant une décision incohérente, un n÷ud part et un nouveau apparaît avec un état diérent. . .). Nous pouvons remarquer que le temps de reconnexion de la dorsale lorsqu'un dominé devient dominant est presque nul. Lorsque kcds= 1, un dominé ne possède en eet aucun ls, le changement d'état n'a donc aucun eet. Si kcds= 2, le dominé changera rapidement son père de telle sorte que la dorsale soit connexe. Lorsqu'un dominant perd son rôle, il entraîne la déconnexion d'une partie ou de la totalité de ses dominés. Cependant, nous pouvons voir qu'une seconde seulement est nécessaire à la reconnexion de la dorsale en utilisant sa redondance naturelle. De même, nous pouvons remarquer que le nombre de changements d'états est très réduit : un changement local n'inue que localement sur la topologie. Les algorithmes localisés de maintenance agissent ecacement. Lorsqu'un do-minant devient dominé, nous pouvons remarquer que certains n÷uds sont élus dodo-minants pour reconnecter la dorsale. 0 2 4 6 8 10 Quelconque Dominé Dominant

Temps de reconnexion (en secondes)

Type de panne

Reconnexion large (kcds=1 kcluster=2) Reconnexion stricte (kcds=1 kcluster=2) Reconnexion large (kcds=2 kcluster=3) Reconnexion stricte (kcds=2 kcluster=3)

(a) Temps de reconnexion

0 1 2 3 4 5 6 Quelconque Dominé Dominant

Nombre cumulatif de changements d’états

Type de panne x kcds=1, kcluster=2 o kcds=2, kcluster=3 x x x o o o DOMINANT DOMINE ACTIF ISOLE

(b) Nombre de changements d'états

Fig. 4.8  Simulation du déplacement d'un n÷ud

Nous avons ensuite simulé le déplacement unitaire d'un n÷ud : un n÷ud est aléatoirement choisi, et sa nouvelle position est choisie aléatoirement dans la surface de simulation (g.4.8(a)). Ainsi le n÷ud déplacé doit re-découvrir son voisinage, déterminer son nouvel état, et doit se reconnecter à la dorsale. De la même manière, ses anciens voisins doivent l'invalider, et

poten-Étude des propriétés de la structure virtuelle au travers de simulations 73 tiellement reconnecter la dorsale. Nous pouvons remarquer que l'auto-organisation est de nouveau entièrement valide en moins de 3 secondes : la dorsale est reconnectée, et la dorsale forme un ensemble dominant, quel que soit l'état du n÷ud déplacé. Le déplacement du n÷ud n'a qu'un impact local dans la topologie (g. 4.8(b) page précédente). Nous pouvons observer que des élections de dominants doivent usuellement se produire avant que la dorsale ne se reconnecte. De même, certains n÷uds devenus actifs ne sont pas élus et deviennent dominés. La gure 4.9 représente une illustration de la topologie avant et après le changement. Nous pouvons vérier qu'un changement de la topologie radio n'impacte que localement la topologie de la dorsale.

(a) Avant

(b) Topologie de la dorsale (c) Après convergence

Fig. 4.9  Topologie avant et après le changement de localisation d'un n÷ud (les n÷uds bleus sont les dominants, les n÷uds jaunes les dominés, les liens de parenté de la dorsale étant repré-sentés sous forme d'arcs dirigés, en gras)

L'impact macroscopique d'un modèle de mobilité a déjà été étudié dans le chapitre précédent. L'impact du Random Waypoint Mobility Model est notamment représenté sur la gure 3.8, et l'impact du Boundless Mobility Model sur la gure3.11 page47.

4.6.5 Conclusion

Les simulations conduites nous permettent de valider les propriétés de la structure d'auto-organisation :

• Stabilité : les n÷uds ne changent d'état que si un changement de topologie intervient, ou si une collision se produit.

• Passage à l'échelle : les algorithmes réagissent bien à une augmentation du nombre de n÷uds.

• Robustesse : la topologie créée réagit très bien à la dynamique du réseau. La dorsale reste connexe même après un changement de topologie.

• Localisation : un changement local de la topologie radio n'inue que localement sur la topologie virtuelle.