• Aucun résultat trouvé

Précisions sur CSR

4.3 CSR : Adaptation de mode et de paramètres

4.3.1 Précisions sur CSR

CSR [61] est une extension hiérarchique de protocole DSR qui constitue un mode

de routage hiérarchique avec architecture de cluster. L'interêt de cette extension est d'améliorer le passage à l'échelle de DSR pour des grands réseaux. En fait, CSR obtient de meilleures performances que DSR pour toutes les densités (mais surtout à haute densité). La performance de CSR comparativement à DSR pour 150 n÷uds

est présentée dans la gure4.16.

Fig. 4.16  Comparaison des performances DSR et CSR Architecture de clusters

An de minimiser le trac de contrôle, l'extension CSR met en place une ar-

chitecture de cluster à deux niveaux (voir la gure 4.17). Le premier niveau est la

cellule (cluster 0-cell). Chaque n÷ud qui appartient à une cellule est situé à portée radio directe du chef de cellule (Chef de Cluster ou Cluster Head). La communica- tion entre les cellules s'eectue par le biais de passerelles. Le deuxième niveau de cluster regroupe un ensemble de cellules (Cluster 1-Serveur). Le chef de ce cluster est appelé Serveur. L'extension CSR est adaptative à l'environnement. Lorsque les conditions sont favorables (nous précisons par la suite), le routage est eectué avec la structure de cluster, sinon il s'eectue sans structure avec le fonctionnement DSR. Pour mettre en place cette structure, chaque n÷ud peut expérimenter quatre statuts :

 Indéni : le n÷ud n'a pas encore obtenu de statut valide. Il utilise le protocole DSR natif.

 N÷ud : c'est un n÷ud qui utilise le mode CSR. Il peut émettre des requêtes de route CSR.

 Chef de Cluster : c'est un chef de cluster de niveau 0-cell.  Serveur : c'est le chef de cluster de niveau 1-Serveur.

Fig. 4.17  Modèle CSR. Adaptation du mode de routage

Pour déclencher le changement de mode, avec structure ou sans structure (DSR⇔CSR), une métrique de densité et une métrique de mobilité sont utilisées.

La métrique de mobilité est basée sur la notion de lien : lorsqu'un n÷ud n'arrive pas à transmettre un paquet au prochain saut, il génére un paquet DSR contenant une option DSR Route Error et chaque n÷ud comptabilise le nombre de paquets DSR Route Error qu'il génére. Une métrique de densité globale n'est calculable qu'en contrepartie d'un trac de contrôle important. Le nombre de voisins estimé à partir du cache de routes est utilisé comme métrique de densité. Cette mesure est moins précise que l'estimation reposant sur l'échange périodique de message HELLO mais elle est plus économique en terme de trac de contrôle.

Chaque n÷ud qui lance le protocole DSR avec l'extension CSR peut connaître

trois états (voir la gure 4.18) :

 DSR : Le n÷ud utilise les procédures standards : DSR Route Discovery et DSR Route Maintenance. Si la dynamique de réseau est favorable (forte densité et faible mobilité), le n÷ud entre dans l'état de transition adaptative nommé DSR+. Deux seuils de changement de mode sont dénis à partir des métriques de mobilité (M1 < M2) et de densité (D1 < D2) :

 Mobilité > M2 ou Densité < D1 : le n÷ud reste en mode DSR (haute mobilité et/ou faible densité).

 Mobilité ≤ M2 et Densité ≥ D1 : le n÷ud change de mode DSR pour le mode DSR+ si il reçoit un paquet CSR (mobilité et densité moyenne).  Mobilité ≤ M1 et Densité ≥ D2 : le n÷ud change de mode DSR pour le

mode DSR+ (faible mobilité et haute densité).

 DSR+ : Le n÷ud utilise DSR Route Discovery et DSR Route Maintenance. Le routage est opérationel, et les procédures de clustering sont exécutées pour mettre en place ou récupérer l'architecture de cluster. Si les procédures de clustering ont réussi, le n÷ud entre dans l'état CSR. Autrement, il passe en état DSR. Après son élection, le Serveur dénit une minuterie et attend les inscriptions (Registration Request) des Chef de Cluster, que ceux -ci émettent en diusion après leur élection, pour obtenir les informations de routage (la re- quête est diusée ou bien relayée directement au serveur par un chef de cluster qui connaît la route pour aller au serveur). Le serveur apprend ainsi la route pour aller à chaque cellule du réseau. Quand la minuterie expire, le serveur est opérationnel. Il renvoie une réponse d'enregistrement directement (en routage source) aux clusterhead qui se sont enregistrés et ceux-ci en déduisent que l'architecture est ou pas activée. Au cours de l'état DSR+, le Serveur peut arrêter la mise en place du mode CSR en diusant un paquets ABORT dans le réseau (par exemple, si le nombre de Chef de Clusters enregistré indique une densité globale faible) et passer en mode DSR.

Si la procédure d'enregistrement échoue 3 fois, une nouvelle élection de Serveur est lancée par le Chef de Cluster. En cas de MAX échecs, le Chef de Cluster passe dans l'état DSR. Lorsque Chef de Cluster reçoit une Registration Reply, il vérie si le mode CSR est opérationnel ou non. Dans l'armative, il entre dans l'état CSR et signale que le mode CSR est opérationnel à ses membres de Cluster par un paquet Cell Maintenance. Sinon, il dénit une minuterie et ne fait que passer dans l'état CSR sur son expiration. Sur réception d'un ABORT, chaque Chef de Cluster passe à l'état DSR.

opérationnel (utilisation CSR Route Discovery) ou non (utilisation DSR Route Discovery). Chaque n÷ud change d'état DSR si il reçoit un ABORT.

 CSR : Le n÷ud utilise les paquets CSR Route Discovery et CSR Route Main- tenance. Le mode CSR est opérationnel et les procédures de maintenance de Cluster sont appliquées. Le Serveur diuse un message ABORT quand il est sur le point d'abandonner son rôle en raison de la dynamique de réseau et de basculer dans l'état DSR. Si le Serveur reçoit un paquet d'un Serveur qui a un critère d'élection plus élevé, il devient un Chef de Cluster et entre dans l'état DSR+. Si le Serveur est inaccessible, le Chef de Cluster diuse locale- ment un paquet Cell Maintenance indiquant aux membres de la cellule que l'architecture CSR n'est pas opérationnelle. Ensuite, il applique la procédure d'enregistrement et passe au mode DSR+. Sur réception d'un ABORT, les Chef de Clusters et les n÷uds changent à l'état DSR.

Procédures CSR

Les procédures nécessaires au fonctionnement de l'extension CSR sont divisées en deux catégories :

 les procédures de routage : elles servent à la découverte et à la maintenance de routes.

 les procédures de clustering : elles servent à la mise en place et à la mainte- nance de l'architecture virtuelle.

Procédures de routage.

Au lieu de diuser une recherche de route dans tout le réseau, en mode CSR la recherche de route est dirigée directement vers le serveur de route (de façon transparente aux stations, c'est le clusterhead qui dirige la requête). Le serveur agit comme un cache de route, s'il connait la reponse il répond à la station, (une station est localisée dans une cellule, le serveur connait les routes entre les cellules) sinon il se charge d'envoyer une recherche de route dans chaque cellule. Chaque chef de cluster qui reçoit la requête la diuse localement (option non propagating route request de DSR) ; si une station répond il transmet directement la réponse au serveur qui la retransmettra à la station. En cas d'échecs successifs (phase de maintenace du clustering) la recherche de route est diusée dans tout le réseau (modes DSR ou DSR+). Le routage CSR est complètement transparent aux stations : des stations en mode DSR sans extension peuvent fonctionner avec des stations avec extensions. Procédures de clustering

Ces procédures mettent en place et maintiennent l'architecture des clusters. Chaque n÷ud débute la procédure avec un statut Indéni, puis, tente d'obtenir un statut de N÷ud ou de Chef de Cluster.

La mise en place des cellules est basée sur l'algorithme Highest-Connectivity Degree qui choisit comme chef de cluster celui qui a le plus de voisins.

Un n÷ud utilise la procédure GetStatus pour mettre en place ou pour rétablir l'architecture. Chaque n÷ud possédant un statut Indéni va diuser localement un

paquet de statuts (le paquet comporte une option CSR Status). Les Chef de Cluster

sont choisis entre les n÷uds qui ont le meilleure critère (voir section4.3.4).

L'algorithme de contrôle LCC (Least Cluster Change) est employé. Si un Chef de Cluster reçoit un paquet de statut provenant d'un autre Chef de Cluster, le chef de cluster est qualié de candidat, et il compare sa Densité avec celle contenue dans le paquet. En cas d'égalité sur les Densités, le plus petit identiant est préféré :  si le Chef de Cluster possède des critères plus faibles que ceux du paquet reçu,

il abandonne son rôle de Chef de Cluster et prend le statut de N÷ud.

 si le Chef de Cluster possède des critères plus forts que ceux du paquet reçu, il attend l'expiration de son timer de maintenance pour diuser un paquet de statut.

Election du Serveur La procédure d'élection du Serveur est presque identique à celle du Chef de Cluster sauf que le Serveur est élu parmi les Chef de Clusters : le choix du Serveur est basé sur la Densité.

Au début de la procédure, chaque Chef de Cluster initialise ses variables :  Densité_candidat avec valeur de Densité,

 Adresse_candidat avec son adresse.

4.3.2 Intérêt du changement adaptatif du mode routage