WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Une approche de protocole de géocasting sécurisé dans un réseau de capteurs sans fil déployés dans l'espace.

( Télécharger le fichier original )
par ANGE ANASTASIE KEUMBOUK DONFACK
Université de Dschang - Master of Science 0000
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2.2 Principe du Clustering dans les RCSF

La solution retenue le plus communément pour organiser un très grand RCSF est de regrouper les noeuds en clusters comme le montre la figure 2.1. Ce type d'organisation permet de réduire le nombre de noeuds participant à des communications sur de longues distances. De manière générale, le partitionnement d'un réseau s'effectue sur le principe suivant [22] : les noeuds sont divisés en clusters, et certains noeuds, nommés chef de cluster (ou clusterhead en anglais) sont responsables tant de la formation que de la maintenance des clusters. L'ensemble des clusterheads est appelé l'ensemble dominant. C'est le backbone du réseau. Dans les solutions existantes, le partitionnement est effectué en deux phases distinctes : la phase d'initia-lisation des clusters et la phase de maintenance des clusters. La première phase est accomplie en choisissant certains noeuds pour qu'ils agissent comme l'ensemble dominant du processus de partitionnement. Les clusters sont alors formés autour des clusterheads. Ceux qui ne sont pas clusterheads sont qualifiés de noeud ordinaire. Les algorithmes de partitionnement actuels diffèrent essentiellement sur l'heuristique utilisée pour choisir qui peut prétendre au statut de clusterhead.

FIGURE 2.1: Exemple de topologie basée sur des clusters

Il existe dans la littérature, 02 types de partitionnement : Partitionnement centré sur le noeud et le Partitionnement centré sur le cluster.

15

CHAPITRE 2. LES PROTOCOLES DE CLUSTERING DANS LES RÉSEAUX DE CAPTEURS SANS FIL

2.3 Partitionnement Centré sur le noeud

Ici, les clusters sont formés autour des CH. Plusieurs protocoles ont été proposés pour choisir le clusterhead dans les RCSFs. Dans les algorithmes dits à " plus petit identifiant ", chaque noeud se voit assigné un identifiant unique et le noeud avec le plus petit identifiant est élu CH. Un noeud qui peut entendre un ou plusieurs CHs est une " passerelle ", qui est généralement utilisée pour le routage d'informations entre les clusters. Sinon, il est un noeud ordinaire. Parmi les algorithmes de partitionnement centré sur le noeud, nous pouvons citer : l'approche de Gerla et Tsai [23], l'algorithme de clusterisation de Basagni (DCA, DMAC et GDMAC), l'algorithme de partitionnement sans unicité de poids de Idrissa Sow,... etc.

2.3.1 Algorithme de clustérisation de Basagni : DCA, DMAC et GDMAC

Bassagni propose en [24] un algorithme de clustering pour les RCSFs en considérant comme paramètre de clustérisation le poids relatif de chaque noeud. Compte tenu de la mobilité récurrente des noeuds, le paramètre du poids de chaque noeud est introduit pour choisir les noeuds chefs de clusters. A la fin de la procédure de clustérisation, les trois propriétés suivantes doivent être satisfaites : chaque noeud ordinaire a au moins un CH comme voisin; chaque noeud ordinaire est associé au CH de plus grand poids et deux CHs ne peuvent pas être voisins. Cet algorithme de clustérisation est divisé en deux sous étapes : l'étape d'initialisation des clusters et l'étape de maintenance des clusters. Les auteurs supposent également que durant l'exécution de l'algorithme, la topologie du réseau ne change pas; et qu'un message envoyé par un noeud est bien reçu après un temps fini (un seuil) par tous ses voisins; tout noeud connaît son poids, son identifiant et les identifiants et poids de tous ses voisins.

L'algorithme est exécuté par chaque noeud individuellement de telle façon qu'un noeud u décide de son propre rôle (clusterhead ou noeud ordinaire) en fonction seulement de la décision de ses voisins avec des poids plus forts que lui. Donc, initialement, seuls ces noeuds avec le poids le plus élevé du voisinage vont diffuser un message à leurs voisins directs, établissant qu'ils sont les clusterheads. Si aucun noeud avec un poids plus fort n'a envoyé de tel message, alors u va envoyer un message établissant son statut de clusterhead.

Choix du Cluster-Head (CH)

Le choix du CH est fonction du degré sortant de chaque noeud. Dans le cas où plusieurs noeuds ont le même degré on met en exergue le poids de chaque noeud. La procédure de choix du CH est la suivante : les noeuds de plus grand degré initient la procédure en envoyant des requêtes d'être CH à tous leurs voisins. De là, tout noeud dont le degré est supérieur à celui de ses voisins diffuse sa décision d'être chef de cluster. Si un noeud connait un de ses voisins de degré supérieur au sien, il ne peut plus être chef de cluster. Il adopte ce noeud là comme chef de cluster.

16

CHAPITRE 2. LES PROTOCOLES DE CLUSTERING DANS LES RÉSEAUX DE CAPTEURS SANS FIL

Choix des noeuds ordinaires

Cette étape est aussi basée sur la comparaison des degrés des autres noeuds. En effet, pour un noeud vi dont le degré est inférieur à celui de ses voisins, deux cas possibles se présentent : Si ce noeud vi est voisin d'un noeud CHi qui est chef de cluster, alors vi rejoint automatiquement le cluster dont le chef est CHi. Si le voisin de vi de plus haut degré appartient à un cluster, deux cas sont possibles : si un chef de cluster CHi est parmi ses voisins, alors il devient membre du cluster dont le chef est CHi ; sinon, il crée un nouveau cluster.

L'algorithme utilise deux types de messages : ch(v) utilisé par un noeud v pour mettre au courant ses voisins qu'il sera clusterhead, et join(v, u), avec lequel v communique à ses voisins qu'il va faire partie du cluster dont le clusterhead est u. la description de cet algorithme est la suivante:

Chaque noeud démarre l'exécution de l'algorithme en même temps, en utilisant une même procédure d'initialisation. Seuls les noeuds qui ont le poids le plus élevé par rapport à tous leurs voisins directs vont envoyer un message du type ch(noeuds avec les forts poids) pour dire qu'il veut être clusterhead. Tous les autres noeuds se contentent d'attendre de recevoir un tel message. A partir de là, on dispose de 2 procédures spécifiques dont l'exécution est déclenchée par les réceptions de message :

lors de la réception d'un message ch venant d'un voisin u, le noeud v vérifie d'abord s'il a déjà reçu de tous ses voisins z , tels que w, > wu un message join(z, x) de type ch avec x un noeud quelconque du réseau. Dans le cas négatif, et si u est le noeud de plus fort poids dans le voisinage de v ayant envoyé un message ch, alors v rejoint u, et quitte l'exécution de l'algorithme;

lors de la Réception d'un message JOIN(u, t) : Le noeud v vérifie s'il a précédemment envoyé un message ch. Si c'est bien le cas, v vérifie si le noeud u veut rejoindre son propre cluster et actualise, si besoin, son ensemble cluster(v). Lorsque tous les voisins z de v tel que w, < wu ont déjà témoigné leur volonté à rejoindre son cluster, v quitte l'exécution de l'algorithme. Un noeud v qui a dans sa liste de voisins des noeuds de poids supérieurs au sien et qui n'a pas reçu des messages de type CH(u) attend de recevoir de tous ces voisins x de poids supérieur au sien des message de type JOIN(x, t), pour dire en fait que ses voisins ont rejoint un ou plusieurs CH de poids supérieur aux leurs. Dans ce cas le noeud v décide alors de devenir CH en diffusant alors le message CH(v). Illustrons le fonctionnement de l'algorithme DCA de Basagni avec le graphe représenté par la figure 2.2

Cet algorithme convient pour des réseaux " quasi-statiques ". En ce qui concerne la maintenance, l'auteur propose d'abord une succession de clusterisations afin que DCA s'adapte à la mobilité des noeuds. Par la suite, il propose une autre version du DCA qu'il baptise DMAC plus adapté pour les réseaux où les capteurs sont mobiles. La métrique de sélection des CHs est cette fois ciliée à la mobilité des capteurs. DMAC géra tant l'initialisation que la maintenance de l'organisation des clusters malgré la mobilité des noeuds. La maintenance quant à elle se fait

17

CHAPITRE 2. LES PROTOCOLES DE CLUSTERING DANS LES RÉSEAUX DE CAPTEURS SANS FIL

à présent par actions réduites [24]. désormais on n'a plus besoin de supposer que la topologie du réseau est statique durant la construction des clusters. L'adaptation aux changements de la topologie du réseau est rendue possible en laissant chaque noeud réagir non seulement à la réception d'un message venant d'autres noeuds, mais également à la défaillance d'un lien de communication vers un autre noeud

Afin d'économiser en énergie et limiter l'impact de la mobilité, l'auteur introduit l'algorithme GDMAC. Son propos est le suivant : conformément aux spécifications de l'algorithme DMAC, un noeud ordinaire va toujours se soumettre avec le clusterhead de son voisinage qui a le plus fort poids. Si plus tard, un autre clusterhead avec un poids plus élevé apparaît dans son voisinage, le noeud ordinaire va changer son affiliation afin de se soumettre toujours au noeud, a priori, le plus capable d'être un bon clusterhead. Une autre forme de réaffiliation apparaît quand deux CHs, à cause de leur mobilité, se retrouvent dans la portée d'influence l'un de l'autre. A ce moment-là, seul le plus lourd des deux va conserver son statut de clusterhead, tandis que l'autre va devenir noeud ordinaire et se chercher un clusterhead convenable. Si aucun n'est à portée de transmission, le noeud va redevenir son propre clusterhead (élection).

Nous pouvons remarquer que ce schéma de clustering présente plusieurs points faibles. En effet, l'algorithme de Basagni ne prend pas en compte la sécurité du processus de formation de clusters. Outre, à la fin de cet algorithme, un noeud quelconque peut appartenir à plusieurs clusters. De plus, la constitution des noeuds est dépendante d'un noeud précis (le clusterhead)et on peut avoir à la fin, des clusters non disjoints. Ceci nous amènent à des interrogations telles que : Que se passerait-il si ce clusterhead avait menti sur ces métriques ou était en effet un noeud malicieux? le protocole suivant vient pallier à ces insuffisances.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent, on en cherche !"   Charles de Gaulle