• Aucun résultat trouvé

1 exp( 1 = = D

Cet avantage de l’Aloha slotté sur Aloha pur peut être observé sur la figure 29 qui représente d’un point de vue mathématique, le débit maximum utile en fonction de la montée en charge imposée par l’ensemble des nœuds via leurs émissions de trames.

Figure 29: Débit de l’Aloha pur et Aloha slottée (mono-canal)

Nous allons donc proposer une MAC basée sur l’Aloha slottée en l’adaptant au multi-canal. Il nous faut commencer par synchroniser les nœuds, en utilisant SiSP [62], développé auparavant au laboratoire.

2.3 Rappel sur le protocole SiSP de synchronisation des nœuds

2.3.1 Diffusion des horloges et consensus

On vient de le voir, la synchronisation des nœuds est un mécanisme très important, plus particulièrement dans un réseau de capteurs sans fil, permettant aux nœuds capteurs dans le réseau d'avoir une différence entre leurs horloges subjectives la plus faible possible. Pour parvenir à une synchronisation globale dans un réseau sans fil ad hoc, un protocole appelé SiSP (Simple

Synchronisation Protocol) pour la synchronisation des nœuds dans le réseau a été imaginé dans [62].

C'est un protocole scalable qui n'introduit pas de contraintes de hiérarchie dans la topologie du réseau, à l’inverse d’autres comme le très connu RBS [63]. Le protocole de synchronisation SiSP est basé sur un algorithme simple permettant aux nœuds du réseau en quelques itérations d'obtenir par consensus une horloge partagée (SCLK) obtenue par la méthode de la moyenne.

58

Le principe d'échange des horloges est simplement basé sur un seul type de message : SYNC dont la charge utile contient la valeur de SCLK (horloge partagée) du nœud au moment de la création du message SYNC. Le message est diffusé de manière simple (sans MAC) comme dans le mode diffusion des trames beacons de 802.15.4. Ainsi par exemple, le message SYNC peut être simplement encapsulé par exemple dans la charge utile des beacons 802.15.4. On peut aussi imaginer que cette horloge est émise dans un champ supplémentaire de toute trame, qu’elle soit diffusée (cas idéal) ou pas (dans ce cas-là, il faut compter sur un trafic important du réseau entre tous les nœuds. Nous en reparlerons plus tard…

Chaque nœud maintient deux variables principales, à savoir : le SCLK (horloge partagée) et le LCLK (horloge locale). Le nœud écoute durant 99 tops d'horloge (si on se base sur 1 émission toutes les 100 incrémentations) tandis qu'il calcule la moyenne de toutes les horloges reçues (RCLK) de ses voisins avec son propre SCLK. Pendant ce temps-là, son SCLK est modifiée par la valeur de chaque moyenne.

Au 100ième top d'horloge, le nœud diffuse sa valeur SCLK et les voisins appliquent le même algorithme

en effectuant le calcul de la moyenne (SCLK= (SCLK+RCLK / 2)). Chaque fois qu'on atteint le top d'horloge 100, le message SYNC est diffusé. Après un certain nombre de cycles, en fonction du nombre de nœuds et de la topologie, une horloge de consensus globale est obtenue dans tous les nœuds du réseau, car le résultat de la division est arrondi puisque le SCLK est une valeur entière.

L'horloge (SCLK) de consensus est obtenue de manière décentralisée, sans aucune prérogative hiérarchique. La figure 30, montre un exemple de principe de fonctionnement du protocole SiSP où, on observe des échanges des messages SYNC entre deux nœuds A et B.

On voit ici que le nœud A est mis en marche avant le nœud B jusqu'à ce que son horloge locale atteigne la valeur 380. A un moment donné, les nœuds partageront la même valeur de SCLK. Le principe simple du protocole SiSP montre que, lorsqu’un message SYNC est reçu, chaque nœud calcule la moyenne entre les valeurs de RCLK et SCLK, et le résultat de ce calcul est considéré comme la nouvelle valeur de SCLK. Si RCLK et SCLK sont égaux (à l’arrondi prés), cela signifie que l'horloge SCKL du nœud est la même que celle de son voisin.

59

Figure 30: Principe de synchronisation et d'échange des horloges dans SISP [62]

2.3.2 Exemples de résultats de SiSP

Considérons une topologie d'un réseau à quatre nœuds tous à portée (full-mesh) comme en figure 31. Les nœuds sont mis en marche indépendamment (de façon aléatoire), le message SYNC est diffusé chaque 100 ms (ceci afin d’éviter d’émettre des messages de synchronisation trop souvent et ainsi risquer d’encombrer trop le médium), alors que le LCLK est incrémenté chaque µs. Sur le graphique, l'axe des abscisses représente le temps et l'axe des ordonnées représente les valeurs de SCLK de chaque nœud. Chaque point du graphique représente le message SYNC. Dans le cas où tous les points sont alignés sur le graphique, ceci veut dire que les nœuds sont synchronisés, ils ont convergé (et continuent normalement de le faire) alors vers une même horloge partagée, le consensus est donc déjà obtenu.

60

Figure 31: Synchronisation (consensus) entre les nœuds [62]

Comme on peut l’observer sur la figure, après 10 secondes, les deux premiers nœuds 1 et 2 mis en marche commencent à se synchroniser, on voit que leurs courbes se rapprochent ; après 20 secondes écoulées, un troisième nœud est aussi mis en marche et commence ensuite à écouter le médium ; il reçoit deux messages SYNC, il calcule ainsi la moyenne de SCLK deux fois et se rapproche alors ainsi des 2 autres.

Comme on peut le voir sur le graphique, le premier message SYNC transmis par le troisième nœud comprend une valeur de SCLK qui n'est pas très éloignée de celles précédemment diffusées par les deux autres nœuds. Ceci montre que, plus le nombre de nœuds synchronisés est important, plus la synchronisation d'un nouveau nœud s’établit rapidement.

C’est ce protocole SiSP qui sera utilisé dans notre cas afin de définir des slots communs entre les nœuds du réseau pour la méthode d’accès multi-canal slottée.

Documents relatifs