les protocoles mac dans les réseaux sans filmogue/m2ir/biblio/sensor/sensor net/french doc... ·...

32
[doc7p2]L’architecture d’un réseau de capteurs sans fil consiste en un nombre très grand de capteurs capable de sonder l’environnement dans lequel ils se trouvent, et de fournir les informations collectées à la station de base « Sink ». Les réseaux de capteurs peuvent servir à plusieurs fins telles que dans le domaine militaire (application de surveillance et sécurité des champs de guerre), le domaine environnemental (application de surveillance des zones sismiques, zones volcanique)… Dans de telles applications, la recharge des batteries des capteurs apparaît comme une contrainte matérielle importante étant donné que : - Les capteurs sont de taille très petite donc ils disposent d’une énergie assez limitée. - Le remplacement ou la recharge de ces batteries est une tâche difficile dans de tels contextes vis à vis d’une intervention humaine. Ainsi, la limitation de la consommation d’énergie dans les réseaux de capteurs est devenu un véritable challenge pour les chercheurs dans ce domaine. La consommation d’énergie au niveau de la couche liaison de données : Les protocoles MAC dans les réseaux sans fil 1/Les caractéristiques de la couche MAC dans les réseaux sans fil Les caractéristiques principales de la couche MAC sont le format des paquets, les techniques d’accès au médium, et la gestion du réseau.(essayer de s’approfondir) 2/Les techniques d’accès utilisées dans les réseaux sans fil : [doc 54p1intro]Un défi important dans les réseaux sans fil est la gestion des collisions.dûes à un transfert de données simultané entre deux noeuds sur le même support. Les protocoles MAC ont été développés essentiellement pour essayer d’éviter ce genre de collisions en aidant les noeuds à décider quand et comment ils peuvent accéder au support Dans cette partie, nous allons essayer de dégager les diverses techniques d’accès au médium dans les réseaux sans fil qui sont : - TDMA, - FDMA, - CDMA, - ALOHA, - CSMA/CA. A/ Accès multiple par répartition temporelle (TDMA :Time division multiple access) : Le TDMA est basé sur un multiplexage temporel (utilisé par exemple en téléphonie) càd que les utilisateurs utilisent la même fréquence tout en occupant des slots de temps différents. Chaque noeud utilise toute la bande passante allouée pour le système de transmission durant le slot (c’est lui seul qui occupe le support). Le standard utilisant cette technique est le GSM (Global System for Mobile communications), qui utilise une combinaison de TDMA et de FDMA.

Upload: doanphuc

Post on 16-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

[doc7p2]L’architecture d’un réseau de capteurs sans fil consiste en un nombre très grand de capteurs capable de sonder l’environnement dans lequel ils se trouvent, et de fournir les informations collectées à la station de base « Sink ». Les réseaux de capteurs peuvent servir à plusieurs fins telles que dans le domaine militaire (application de surveillance et sécurité des champs de guerre), le domaine environnemental (application de surveillance des zones sismiques, zones volcanique)… Dans de telles applications, la recharge des batteries des capteurs apparaît comme une contrainte matérielle importante étant donné que :

- Les capteurs sont de taille très petite donc ils disposent d’une énergie assez limitée. - Le remplacement ou la recharge de ces batteries est une tâche difficile dans de tels

contextes vis à vis d’une intervention humaine. Ainsi, la limitation de la consommation d’énergie dans les réseaux de capteurs est devenu un véritable challenge pour les chercheurs dans ce domaine. La consommation d’énergie au niveau de la couche liaison de données :

Les protocoles MAC dans les réseaux sans fil 1/Les caractéristiques de la couche MAC dans les réseaux sans fil Les caractéristiques principales de la couche MAC sont le format des paquets, les techniques d’accès au médium, et la gestion du réseau.(essayer de s’approfondir) 2/Les techniques d’accès utilisées dans les réseaux sans fil : [doc 54p1intro]Un défi important dans les réseaux sans fil est la gestion des collisions.dûes à un transfert de données simultané entre deux nœuds sur le même support. Les protocoles MAC ont été développés essentiellement pour essayer d’éviter ce genre de collisions en aidant les nœuds à décider quand et comment ils peuvent accéder au support Dans cette partie, nous allons essayer de dégager les diverses techniques d’accès au médium dans les réseaux sans fil qui sont : - TDMA, - FDMA, - CDMA,

- ALOHA, - CSMA/CA.

A/ Accès multiple par répartition temporelle (TDMA :Ti me division multiple access) : Le TDMA est basé sur un multiplexage temporel (utilisé par exemple en téléphonie) càd que les utilisateurs utilisent la même fréquence tout en occupant des slots de temps différents. Chaque nœud utilise toute la bande passante allouée pour le système de transmission durant le slot (c’est lui seul qui occupe le support). Le standard utilisant cette technique est le GSM (Global System for Mobile communications), qui utilise une combinaison de TDMA et de FDMA.

Analyse énergitiqe de la technique TDMA [doc7p5] Le fait que chaque nœud connaît d’avance le slot de temps qui va occuper, va permettre au noeud de passer à l’état « endormi » durant les slots inactifs. Ainsi, la perte d’énergie qui est dûe aux états « overhearing » et « Idle » va être évitée. Cependant, le système TDMA demande un maintien constant des horloges de synchronisation à travers le réseau (car une erreur introduite dans l’une des horloges peut entraîner des collisions). En effet, la station de base doit émettre périodiquement des paquets de synchronisation aux différents nœuds qui doivent impérativement les intercepter pour mettre à jour leurs horloges. Cette réinitialisation de l’horloge effectuée à chaque fois par le nœud consomme une quantité considérable d’énergie alors que le nœud ne transmet pas d’informations. B/ Accès multiple par répartition fréquentielle (FDMA : Frequency division multiple access) : (système à bande étroite) [doc theseupmc, doc tech accès] Le FDMA est basé sur un multiplexage fréquentiel càd que le spectre est divisé en canaux fréquentiels (ou bandes de fréquence). Chaque canal fréquentiel est affecté à un seul utilisateur à la fois. La bande passante est partagée entre les différents canaux auquels sont affectés les nœuds. (La méthode d’affectation d’un canal est alors basée sur une règle de type premier arrivé, premier servi.) Dans un système FDMA pur, tous les utilisateurs peuvent transmettre leurs signaux simultanément.

Analyse énergitiqe de la technique FDMA

[doc7p5] Le FDMA élimine en fait le temps d’attente (dû à la réinitialisation de l’horloge de synchronisation : ) nécessaire au noeud avant qu’il puisse accéder au support (cas du TDMA) étant donné que dans un tel système, les nœuds peuvent communiquer simultanément. Cette élimination du temps d’attente entraine une sauvegarde d’énergie. Les collisions sont minimisées puisque chaque nœud occupe sa propre bande de fréquence. Cependant, en partageant la bande passante totale sur plusieurs nœuds, chaque nœud va avoir une assez étroite bande passante ce qui entraine un temps de transmission élevé donc une augmentation de la consommation d’énergie.(le temps de transmission et la bande passante sont inversement proportionnels). [tech accès] Autre problème évoqué dans le FDMA est le problème « proche éloigné ». En effet, il faut éviter de radier de la puissance hors de sa bande, sous peine de générer une interférence importante sur le canal occupant la fréquence voisine.(Exemple) Remarque : Un système hybride TDMA/FDMA appelé aussi FTDMA (utilisé dans le standard GSM) peut être utilisé pour combiner les avantages des deux systèmes ainsi que pour éliminer leurs défauts. C/ Accès multiple par répartition de codes (CDMA : Code division multiple access) : (système à large bande) [doc theseupmc]Le CDMA (utilisé dans la norme IS95) est basé sur la technique du spectre étalé obtenu au moyen d’un code aléatoire unique à chaque utilisateur.

Grâce à cette technique, les utilisateurs utilisent simultanément la même bande de fréquences ce qui engendre une bonne immunité au bruit (objectif initial [docARMubed]). Les techniques CDMA utilisent des modulations à étalement de spectre qui peuvent être réalisées par saut de fréquence ou par séquence directe. Analyse énergitiqe de la technique CDMA [doc7p6] Dans un système CDMA, le nœud émetteur émet (spread-out) ses données à travers le canal de transmission en utilisant son code unique. Le nœud récepteur va alors regrouper les données reçues et essayer d’extraire seulement les données provenant du nœud émetteur. Ce type d’échange peut réduire la bande passante du canal de transmission (Exemple : A émet à B 5Mbits de données, la ligne est à 1Mbits/s, il lui faut normalement 5s. On suppose qu’il ya 15Mbits de données émise par d’autres nœuds. Le canal transporte alors 20Mbits en total, il nous faudra alors un temps =20s) d’où l’augmentation du temps de transmission qui entraine une augmentation de la consommation d’énergie. D’autre part, chaque nœud doit connaître auparavant les codes uniques des émetteurs potentiels qu’il pourrait avoir. Ceci nécessite d’avoir, dans le cas des réseaux à multi-sauts, des nœuds ayant de grandes capacités de mémoire (pour enregister les codes des autres nœuds) ce qui n’est pas le cas dans les nœuds capteurs

D/ Accès multiple avec écoute de la porteuse (CSMA : Carrier sense multiple access) : ou LBT (listen before talk) [doc7p6]Contrairement aux techniques TDMA, FDMA et CDMA (leurs protocoles MAC sont dits « scheduled protocols » ou protocoles programmés d’avance[doc54p1]) dans lesquelles les noeuds sont assignés à des canaux partitionnés (temps, fréquence, code) pour éviter les collisions, CSMA (contention-based) est une technique dans laquelle chaque nœud doit rester à l’écoute du médium avant de transmettre ses données. En cas où le médium est occupé, le nœud doit retarder son accès au médium et réessayer la même procédure jusqu’à ce que le médium devient libre. A cet instant, il pourra transmettre ses données. La technique CSMA constitue aujourd’hui la base des standards IEEE 802.11. Analyse énergitiqe de la technique CSMA [doc7p6]L’utilisation de CSMA oblige les nœuds d’être éveillés pour l’écoute du médium ce qui accroît leurs consommations d’énergie. D’autre part, si on utilise cette technique dans un réseau à haute densité de nœuds (cas des réseaux de capteurs), ceci peut augmenter les collisions dans ce réseau donc la perte des données transmises.

[doc54p1] Le protocole MAC dans les réseaux de capteurs sans fil : Les réseaux de capteurs diffèrent des réseaux sans fil traditionnels sur pulsieurs plans. En premier lieu, les nœuds capteurs sont dotés de petites batteries qui sont généralement difficile à changer ou à recharger ce qui limite leur durée de vie [doc15p15(II)]. En second lieu, les nœuds capteurs sont déployés d’une manière aléatoire (avion, missile…) et c’est à eux de s’auto-organiser au sein du réseau. En troisième lieu, différents types d’application (militaire, surveillance…)requièrent un nombre très grand de noueds capteurs dont la densité peut atteindre (20 nœuds/m3). Finallement, les informations transmises au sein du réseau, qui se basent sur des captures (mesure de température, déplacement…) du phénomène étudié, peuvent entrainer un traffic très volumineux. Toutes ces caractéristiques suggèrent que les protocoles MAC traditionnels ne peuvent pas convenir avec les réseaux de capteurs sans que ces protocoles soient modifiés. La question qui se pose alors est : Quels doivent-être les caractéristiques d’un protocole MAC convenable aux réseaux de capteurs sans fil ? [doc54p1]Les caractéristiques d’un protocole MAC convenable aux réseaux de capteurs : [doc15p2(C)]Afin de concevoir le protocole MAC le mieux adapté avec les spécifictés des réseaux de capteurs, on doit prendre en considération les propriétés suivantes :

- Optimisation d’énergie : cette propriété est la plus importante de toutes dans le cas des WSN (D’ailleurs la majorité des recherches dans ce domaine creusent dans la problématique de la consommation d’énergie). En effet, le fait qu’il est difficile de changer ou de recharger les batteries (source d’énergie)des nœuds, constitue un vrai handicap qui limite leur durée de vie. Comme la couche MAC contrôle les activités de la couche radio qui à son tour consomme le plus d’énergie, alors on peut déduire que la couche MAC peut gérer cette consommation en essayant d’empêcher les pertes de cette énergie.

- Scalabilité et adaptabilité : Comme les réseaux de capteurs sont des réseaux

dynamiques que ce soient aux niveaux de leurs tailles, leurs densités ou leurs topologies ; Alors dans ce cas, uu protocole MAC efficace doit gêrer rigoureusement ces changements sans qu’il y ait un dysfonctionnement du réseau (adaptation rapide avec succès). La scalabilité et l’adaptabilité à ces changements constituent deux caractéristiques très importantes vu la nature des réseaux de capteurs (déploiement aléatoire, environnement non assuré…)

- Eviter les collisions : Elle constitue la mission principale de tous les protocoles MAC que ce soient pour les réseaux filaires ou les réseaux sans fil, contention free ou contention-based. - la bande passante (ou capacité du canal): c’est une caractéristique importante plutôt

dans le cas des réseaux cellulaires (GSM) ou des réseaux locaux sans fils (WLAN), que dans le cas des réseaux de capteurs ; En effet le débit est un objectif secondaire pour les WSN.

- Latency

- Throwghput : c’est la quantité de données transmises avec succès entre un émetteur et un récepteur dans un temps bien déterminé. Il constitue une caractéristique pas assez importante dans le cas des WSN vu la nature des informations échangées entre les nœuds.

- Equité (Fairness) : Elle reflète la capacité des nœuds capteurs à partager le canal d’une façon équitable. Dans le cas des WSN, cette proriété n’est pas pris en considération étant donné que tous les nœuds collaborent ensemble, indépendemment de la quantité d’informations émises par les différents nœuds, afin de remplir une tâche commune.

Cependant, cette propriété est très importante dans les réseaux traditionnels du fait que chaque nœud désire avoir la même chance que les autres noeuds pour l’émission ou la réception des données. La consommation d’énergie dans les réseaux de capteurs On essayera dans cette partie d’analyser les raisons de perte d’énergie[doc15p1][doc54p2 (B)]): -Dans le cas d’une collision entre 2 ou plusieurs paquets, ces derniers vont être rejetés et par conséquent retransmis par leurs émetteurs. Cette retransmission va augmenter la consommation d’énergie des nœuds capteurs émetteurs. -le phénomène d « idle-listening » : Il apparaît quand le nœud reste à l’écoute du médium pour recevoir des données possibles. Ce phénomène est très couteux en énergie surtout dans le cas des applications qui ne nécessitent pas vraiement un échange de données.(donner un exemple) le coût de consommation d’énergie dans ce cas dépend à la fois du matériel d’émission/réception (radio) et de la distance radio.En effet, si cette distance est grande (>=0.5Km) alors le coût de consommation dû à l’écoute et à la réception est négligeable par rapport à celui dû à la transmission. Cependant, si la distance est petite (cas WSN forte densité), alors le coût de consommation dû à l’écoute (idle listening) est presque du même ordre de grandeur que celui dû à la réception et à l’émission. Exemple [xbow.com] : pour le cas des capteurs Mica2 mote, le rapport « écoute(idle listening):réception:émission » vaut approximativement 1:1:1,41 à la fréquence 433Mhz avec une puissance d’émission (RF) de 1mW.

Déduction pour les WSN: forte densité + traffic pas très important => « idle listening » est une cause principale de la perte d’énergie dans les nœuds capteurs.

-le phénomène d’« Overhearing » c’est à dire que le nœud reçoit des paquets qui sont normalement destinés à d’autres nœuds. Ce phénomène peut constituer une cause importante de perte d’énergie dans le cas d’une zone à forte densité avec un traffic assez volumineux. -idle listening -le phénomène d’« overemitting » causé par la transmission d’un message vers un nœud qui n’est pas encore prêt à recevoir des données -les paquets de contrôle. .

Les protocoles MAC pour les WSN Les protocoles MAC conçus jusqu’à maintenant, peuvent être classifiés en :

- Les protocoles Contention-based - Les protocoles Contention-free

Les protocoles contention-based

Le protocole S-MAC : [doc54p6 (V)]SMAC est un protocole MAC spécialement conçu pour les WSN. Il a été proposé par Ye et al. à [doc27p25] l’université de Californie, Los Angeles. L’objectif essentiel de ce protocol est de réduire les pertes d’énergie dûes aux causes qu’on a identifiées (idle-listening, collision, overhearing et control overhead.). [smac-reportp3(III)]Le protocole SMAC supporte la scalabilité et l’évitement des collisions. Il consiste en trois composants majeurs qui sont :

- Periodic Listen and Sleep - Collision and Overhearing avoidance - Message passing

NB: taxo: S-MAC s’auto-configure lors de l’ajout ou de la suppression d’un noeud du réseau.

Periodic Listen and Sleep [doc27p26]Dans différents types d’applications de WSN, les noeuds perdent une partie de leurs énergies durant l’état « Idle-listening » en attendant la détection d’un évènement. Cette énergie est assez importante puisqu’elle est du même ordre que celle nécessaire à la réception (à vérifier). L’idée qu’à apporter SMAC dans ce cas est de limiter au maximum l’état « Idle-listening » en entrainant les nœuds dans un état endormi périodique. [doc61p495(III)] En effet, chaque nœud s’endort pendant un laps de temps, il se réveille ensuite et se met à l’écoute pour voir s’il y a un autre nœud voulant initier une communication avec lui. Durant l’état endormi, le nœud éteint sa radio et déclenche un timer pour son réveil plus tard. Remarque : [doc27p26] la consommation d’énergie en mode « Sleep » est trois fois plus petite que celle consommée en mode « idle listening ».

Le principe de Periodic Listen and Sleep

[report-smacp3(B1)]La durée des états « listening » et « sleeping » varient d’une application à une autre. Chaque nœud est libre de choisir sa propre séquence d’état « listen/sleep ». Cependant, afin de réduire « control overhead », chaque noeud doit synchroniser sa séquence d’états(listen/sleep) avec les nœuds qui lui sont proches. [doc27p26] L’idéal est que tous les nœuds se synchronisent selon la même séquence d’états ; Ainsi, ils écoutent et dorment en même temps.

[report-smacp3(B1)]En réalité, au sein d’un réseau à multi-saut, les nœuds proches ne peuvent pas être synchronisés tous ensemble sur la même séquence d’états : voir Figure

Les deux nœuds A et B peuvent avoir deux séquences d’états différentes s’ils ont synchronisé leurs séquencs d’états respectivement avec C et D.

[doc61p496(A)]Les nœuds immédiatement voisins s’échangent par diffusion de paquets SYNC, leurs séquences d’états. Ceci permet à chaque nœud de communiquer avec son voisin immédiat s’il connaît sa séquence d’états. Si A veut communiquer avec B, il doit juste attendre que B entre en phase « listening ». Si plusieurs nœuds (A et D) veulent communiquer avec B, ils vont entrer en conflit quand le B entre en phase de « listening ». Dans ce cas, le mécanisme de contention sera le même que celui utilisé dans IEEE 802.11 et qui est basé sur les paquets RTS et CTS. Le nœud qui émettra le premier paquet RTS gagnera la priorité d’émission, le récepteur va alors lui renvoyer un CTS. [report-smacp3(B1), doc61p496(A]Par rapport à TDMA, TRAMA ou clustering protocols : Contrairement aux clustering protocols qui demandent une coordination à travers les cluster head pour émettre des données, Les nœuds synchronisés autour de la même séquence d’état forment un cluster virtuel et peuvent communiquer ensemble sans passer par un cluster head. => SMAC permet une topologie peer-to-peer. [doc61p496(A)]. L’avantage qu’apporte SMAC en éliminant la coordination avec les cluster head est que le réseau va être plus robuste en s’adaptant facilement aux changements de topologies (scalabilité et adaptabilité) contrairement aux approches cluster-based. [report-smacp3(B1)] La communication inter-cluster dans ce cas est faisable, pas d’interférence entre clusters virtuels.

� SMAC facilite l’adaptation aux changements de topologies. [doc61p496(A)] Dans la suite, nous allons voir une tehnique qui réduit considérablement ce temps d’attente.

Choix et maintien de séquence d’états [doc61p496(A), report-smacp4(B2)]Avant que chaque nœud ne commence sa séquence d’états périodique listen/sleep, il doit choisir son schedule et l’échanger avec ses voisins. Chaque nœud maintient une table schedule qui enregistre les schedules des nœuds voisins. Afin de choisir son schedule et établir la table schedule, chaque nœud doit suivre les étapes suivantes :

- Le nœud commence par écouter le support, s’il n’intercepte aucun schedule d’un nœud voisin alors il va choisir immédiatement son propre schedule et essayer de l’émettre sous forme de paquet SYNC vers tous les nœuds voisins. Dans ce cas, le nœud émetteur du SYNC est appelé synchroniser [report-smacp4(B2)].

- Si un nœud A reçoit un schedule d’un nœud voisin B avant qu’il choisisse et annonce son propre schedule, alors A doit établir son propre schedule de telle sorte qu’il soit

le même que celui de B. Dans ce cas, le nœud A est appelé follower [report-smacp4(B2)]. Une fois le schedule est choisi, le nœud A doit émettre son schedule vers les nœuds voisins et ceci à partir de la prochine séquence d’écoute « listen »

- [doc61p496(A)]Il existe deux cas de figure si un nœud A reçoit un schedule d’un nœud voisin B différent du sien :

- Si A n’admet que B comme voisin alors A doit détruire son propre schedule et suivre le schedule de B.

- Si A admet un ou plusieurs voisins avec lesquels il a déjà échangé un schedule, alors A doit adopter à la fois son propre schedule et le schedule de B. Ainsi, le nœud A sera réveillé pendant les intervalles « listen » des deux schedules. Voir

exemple [doc61p497A)]

Evitement de collision [doc61p496(A)]Si plusieurs nœuds voisins veulent communiquer avec le même nœud en même temps, ils vont essayer d’émettre leurs données quand ce nœud entamera sa période « listen ». Cette opération va entrîner une collision de leurs requêtes. Le principe d’évitement de collision dans SMAC est le même que celui utilisé dans DCF (distributed coordinated function) pour le cas de IEEE 802.11 qui utilise l’échange de RTS/CTS (problème de la station cachée) et l’écoute virtuel/physique de la porteuse. En effet, dans chaque paquet transmis, il existe un champ qui indique le temps de transmission restant. Dans ce cas, si un nœud reçoit un paquet destiné à autrui, il va connaître grâce à ce champs, le temps qu’il restera silencieux. Il enregistrera cette valeur dans une variable appelé NAV (Network Allocation Vector) et déclenchera un Timer. Achaque fois que le Timer expire, le nœud décrémente son NAV jusqu’à ce qu’il atteigne la valeur zéro. Si cette valeur diffère de zéro alors le nœud concluera que le support est occupé. Cette opération est dite écoute virtuelle de la porteuse. Remarque : Les paquets de type Broadcast sont envoyés sans avoir utilisé ni RTS, ni CTS. Cependant, les paquets de type Unicast suivent la séquence RTS/CTS/DATA/ACK entre l’émetteur et le récepteur.

[doc LMAC]Remarque : Pour prévenir la collision des messages SYNC utilisés pour la synchronisation, et qui contiennent l’ID de l’émetteur et l’instant de son prochain état « sleep », le protocole SMAC divise la période « listen » en deux sections dédiées respectivement à SYNC et RTS (à vérifier, apparemment, ils sont trois parties dans un autre document).

[doc61p497(B)]Maintien de la synchronisation La mise à jour des schedules des nœuds capteurs est effectuée grâce à l’envoi des paquets SYNC. En effet, avant que le nœud émette son paquet SYNC, il doit d’abord écouter le canal lorsque le récepteur est à l’état « listen » et ceci pendant une durée aléatoire. Si à la fin de cette période d’écoute, il ne détecte aucune transmission sur le canal alors il pourra émettre son paquet SYNC.

Un paquet SYNC est de petite taille, il transporte l’adresse de l’émetteur et le temps T de son prochain état « sleep » relatif au moment où le paquet SYNC a été transmis. Ainsi, lorsqu’un récepteur reçoit ce paquet, il va soustraîre le temps de transmission de ce paquet Tx du temps T. Le résultat de cette opération va être alors adopté par le récepteur pour ajuster son timer.

[doc61p497(B)]L’évitement du phénomène d’Overhearing : Etant donné que le mode de transmission courant dans les réseaux de capteurs est le « broadcast », alors il est évident qu’un nœud reçoit de ses nœuds voisins des paquets qui ne lui sont pas destinés. Ce phénomène dit « Overhearing » peut entraîner une importante perte d’énergie, surtout lorsque le réseau est fortement dense et le traffic est très chargé. (Inspiré de PAMAS)SMAC essaie de remédier à ce problème en entraînant les nœuds voisins dans une phase de « sleep » juste après qu’ils entendent un paquet RTS ou CTS. Dans la figure suivante, les nœuds A,B,C,D,E et F forment un réseau à multi-saut dans lequel chaque nœud ne peut entendre(communiquer avec tous par l’intermédiaire) que les nœuds qui lui sont immédiatement voisins.

On suppose que A est entrain d’émettre un paquet DATA à B, quels sont alors les nœuds qui doivent s’endormir durant cette transmission ? Comme les collisions ne se passent qu’au niveau du récepteur, alors le nœud D doit s’endormir puisqu’une transmission émanant de lui peut interférer avec le paquet reçu par B à partir de A. Les nœuds E et F ne produisent pas d’interférence donc ils n’ont pas besoin de s’endormir « sleep ». Concernant le nœud C qui est à deux sauts de B, il peut transmettre vers E et A sans se soucier d’une interférence avec la transmission reçue par B. Cependant, C ne doit pas recevoir de requête émanant de E car une telle requête va entrer en collision avec celle (paquet DATA) émanant de A vers C. En plus, après que A finit son émission vers B, il va attendre l’acquitement (ACK) de B. A ce moment, une transmission de C vers A peut entrer en collision avec l’ACK de B.

� C doit s’endormir car ses transmissions n’ont aucun effet. Pour récapituler, les nœuds immédiatement voisins à l’émetteur et au récepteur doivent s’endormir dès qu’ils entendent un paquet RTS ou CTS respectivement de l’émetteur ou du récepteur. Ils ne pourront se réveiller que lorsque leurs NAV est à 0. (Chaque nœud maintient un NAV pour indiquer l’activité de son voisinage).

[doc61p497(B)]Message Passing (taxonomy :utilisé pour réduire latency) La transmission d’un long message en un seul paquet peut coûter beaucoup d’énergie à son émetteur car, en cas où des erreurs surviennent lors de cette transmission, l’émetteur doit retransmettre tout le paquet. Cependant, dans le cas où on transmet ce long message en plusieurs petits paquets, on aura un retard de transmission important car, les paquets RTS et CTS sont obligatoires pour chaque petit paquet envoyé. L’approche utilisé dans SMAC est de fragmenter le long message en de petits fragments qui seront transmis enemble en utilisant un seul RTS et un seul CTS grâce auquels le support va être réservé pendant toute la transmission de ces fragments. Chaque petit fragment envoyé par l’émetteur doit être acquité par le récepteur. Dans le cas échéant, l’émetteur doit réémettre ce petit fragment non acquité, et augmenter le temps de transmission.(?) Les paquets RTS et CTS contiennent chacun un champ qui indique le temps nécessaire pour transmettre les petits fragments de données et les paquets ACK. Ainsi, dans le cas où un nœud voisin entend un paquet RTS ou CTS, il connaîtra automatiquement la période durant laquelle il restera endormi. Cette période n’est autre que le temps nécessaire pour transmettre les petits fragments de données et les paquets ACK. Dans le cas de IEEE 802.11, les paquets RTS et CTS réservent le support uniquement pour le premier fragment data et le premier ACK qui réserveront à leur tour le support pour le second fragment data et le second ACK et ainsi de suite. Dans le cas où un nœud voisin entend un fragment data ou un ACK, il reconnaîtra qu’il existe encore des fragments à transmettre (data ou ACK). Il restera alors à l’écoute du support « listen » jusq’à ce que tous les fragments seront transmis (contraire au cas de SMAC). Ceci augmente les pertes d’énergie du nœud qui reste à l’écoute. Le protocole IEEE 802.11 assure l’équité dans le réseau. En effet, si un émetteur échoue dans la réception de l’acquitement (ACK) d’un fragment X émis alors, il doit stopper sa transmission et essayer de réserver une autre fois le support. A ce moment, n’importe quel autre nœud a une chance pour transmettre ses données. Cette approche peut causer un retard important vis à vis du récepteur de X si ce récepteur a vraiement besoin du message entier pour débuter son traitement. L’approche du « message passing » adopté par SMAC remédie à ce problème puisqu’elle ne stoppe pas la transmission mais plutôt augmente le temps de transmission et retransmet le paquet entier => Avec SMAC, moins d’attente et de contention.

Analyse des causes principales d’attente dans SMAC Pour un paquet traversant un réseau à multi-saut, il existe plusieurs causes qui entrainent un retard de transmission en passant par chaque saut.. Parmi ces causes :

- Carrier sense delay qui est introduit lorsque l’émetteur se met à l’écoute du canal. Sa valeur est déterminé par la taille de la fenêtre de congestion.

- Backoff delay qui se manifeste lorsqu’une transmission a été détectée ou lors d’une collision.

- Transmission delay qui est déterminé par la bande passante du canal, la logueur du paquet et le type de codage utilisé.

- Propagation delay déterminé par la distance entre l’émetteur et le récepteur. Dans le cas des réseaux de capteurs, puisque cette distance est très petite alors ce délai va être ignoré.

- Processing delay nécessire au récepteur pour traiter le paquet qu’il va faire suivre au nœud situé sur le prochain saut. Ce délai dépend de la puissance de traitement du récepteur et de l’efficacité des algorithmes de traitement des données au sein du réseau.

- Queueing delay qui dépend de la charge du traffic dans le réseau. Si le traffic est volumineux, ce délai devient un facteur important.

- Sleep delay qui est causé par les intervalles périodiques de « sleep » de chaque nœud. En effet, lorsqu’un nœud A va transmettre un paquet à un nœud B, il doit attendre jusqu’à ce que B se réveille c’est à dire finit sa phase « sleep » et entre en phase « listen ».

A l’exception du « sleep delay », IEEE 802.11 possède les mêmes causes d’attente que celles énoncées pour le cas de SMAC.

Comparaison entre un protocole MAC sans « sleeping », SMAC (« avec sleeping »), SMAC sans « adaptative listening », SMAC avec « adaptative listening » :

Adaptive listening Les intervalles périodiques « sleep » et « listen » qu’on trouve dans SMAC, réduisent les pertes d’énergie provoquées par l’état « idle listening » dans le cas où le traffic est léger sur le réseau. Cependant, lorsque le traffic est important, les intervalles périodiques « sleep » peuvent engendrer un retard de transmission qui s’accumule quand le paquet passe d’un saut à un autre. C’est pour cette raison que la nouvelle version de SMAC introduit un mécanisme appelé « adaptive listen » qui commute le nœud du mode « low-duty-cycle » vers un mode plus active et ceci dans le cas où le traffic est important. Le « duty-cycle » est défini comme étant le ratio de l’intervalle listen sur la longueur du frame. L’idée principale du mécanime « adaptive listen » est de prolonger la période d’écoute « listen » du nœud A qui entend la transmission de son voisin B (RTS ou CTS) à partir de la fin de cette transmission.

RTS (1) DATA (3) Nœud A Nœud voisin B Listen Adaptive listen (2) Calculé à partir de durée de transmission dans RTS. De cette façon, si le nœud A coincide avec le noeud du prochain saut, son voisin B est alors capable de transmettre immédiatement le paquet DATA vers A, au lieu d’attendre que A finisse sa période « sleep ». En cas où le nœud A ne reçoit rien (ne coîncide pas avec le prochain saut ou échec de transmission) durant la période d’ « adaptive listen », il va retourner à l’état « sleep » et ce jusqu’à sa prochaine période « listen ». Cas possibles pour bénéficier de cette avantage: Si le nœud situé au prochain saut est un voisin de l’émetteur, ce nœud recevra un RTS de l’émetteur. (figure précédente) Si le nœud situé au prochain saut est un voisin du récepteur, ce nœud recevra un CTS du récepteur. cts Destination Nœud voisin cts Récepteur RTS Emetteur Listen Adaptive listen (2) Calculé à partir de durée de transmission dans RTS. (En effet, tous les voisins de l’émetteur et ceux du récepteur reçoivent respectivement des RTS et CTS.) Dans les deux cas de figure énoncés précédemment, le nœud situé au prochain saut va connaître la durée de transmission du paquet DATA à partir du champ « duration field » d’un paquet RTS ou CTS. Ainsi, il pourra adapter la période de prologement d’écoute « adaptive listen ».

Inconvénients de SMAC : [doc27p28 :voleur][doc15p2(1)]Dans le cas où deux nœuds voisins possèdent des séquences d’état (listen/sleep) différentes, cela peut entraîner une grande consommation d’énergie dûe à l’idle listening et à (l’overhearing ?). La technique d’adaptive listening peut encourir le phénomène d’idle listening ou de l’overhearing dans le cas où le paquet n’est pas destiné au nœud destinataire qui est à l’écoute.

Les périodes « sleep » et « listen » sont prédéfinies à l’avance, ce qui limite l’efficacité de l’algoritnme SMAC dans le cas d’une charge de traffic variable. [doc61p496(B)]Les paquets de données de type Broadcast n’utilisent ni RTS, ni CTS ce qui augmentent la probabilité de collision dans ce genre de transmission. Le temps d’attente (ou latence) est important, à cause des états périodiques « sleep » de chaque nœud. [doc31p3(2)]En effet, la latence augmente car un message peut arriver à son récepteur au moment où ce dernier est endormi. Dans ce cas, ce message sera placé dans le buffer du récepteur et ne sera reçu réellement qu’au prochain état « listen » là où le récepteur devient actif (figdoc31p3). D’autre part, le temps d’attente s’accumule à chaque fois qu’on passe d’un saut à un autre.

La réception et l’émission de paquet dans SMAC Vers le haut : émission Vers le bas : réception

(A vérifier dans doc31(3.5))[doctaxp959]Les protocoles basés sur les « duty-cycle » (cas de SMAC ou TMAC) souffrent du problème du « early sleeping » : la radio d’un nœud A est inactive quand un nœud B essaie de transmettre à A un message. Ce problème est résolu avec TMAC grâce au FRTS ou full buffers.

Avantages de SMAC : Le principal avantage du protocole SMAC est l’économie de consommation d’énergie grâce aux séquences périodiques « sleep ». [doc annales]Cet avantage est réalisé au détriment de la latence et de de l’équité. En plus, SMAC est un protocole assez simple à implémenter. SMAC facilite l’adaptation aux changements de topologies (par rapport à TDMA et TRAMA) : voir là haut L’avantage qu’apporte SMAC en éliminant la coordination avec les cluster head est que le réseau va être plus robuste en s’adaptant facilement aux changements de topologies (scalabilité et adaptabilité) contrairement aux approches cluster-based. L’avantage qu’apporte SMAC en éliminant la coordination avec les cluster head est que le réseau va être plus robuste en s’adaptant facilement aux changements de topologies (scalabilité et adaptabilité) contrairement aux approches cluster-based.

Remarque [doc LMAC]La synchronisation entre les nœuds s’effectue d’une manière locale. En raison de son utilisation de technique CSMA/CD (à vérifier) lors de la période « listen », la synchronisation n’est pas très strict.

T-MAC ou EMACs (EYES MAC) Remarque : [doc31p1intro]Pendant que les protocoles MAC traditionnels sont conçus de telle sorte qu’ils maximisent le throughput, minimise la latence et assure une égalité des chances de transmission (fairness) ; La conception du protocole MAC des réseaux de capteurs se focalise sur la minimisation de consommation d’énergie. « Fairness » n’est pas un objectif étant donné que les nœuds capteurs travaillent ensemble en vu d’atteindre un objectif commun.

[doc31p2(1.3)modifié]Le problème d’Idle listening Dans les protocoles MAC traditionnels, la plupart d’énergie est consommé lors du mode « idle listening ». En effet, puisqu’un nœud ne connaît pas exactement quand est-ce qu’il recevra un message d’un nœud voisin, alors il devra garder son radio en mode réception tout le temps. Exemple : On considère une application de réseau de capteurs qui demande en moyenne un échange d’un message par seconde entre des nœuds voisins. Les messages dans ce type d’application sont de longueur très petite, le temps de transmission d’un message est de l’ordre de quelques millisecondes. Si on suppose que ce temps de transmission = 5ms, alors la réception d’un message nous coûtera 5ms/seconde, ce qui entraîne un temps d’écoute (idle listening) égale à 995ms (à noter que l’exemple 990ms a été modifié).

� La partie radio n’effectue rien pendant 99.5% du temps lorsqu’elle est active. [doc31p3]T-MAC (Time-Out-MAC) est un protocole qui a été conçu afin de remédier aux faiblesses du protocole SMAC en matière de charge de traffic variable. L’idée que le protocole T-MAC à apporter est de réduire le phénomène d’idle listening en rendant le duty-cycle variable (listen en dénominateur varie donc duty cycle varie) et dépendant du volume du traffic, contrairement au protocole SMAC qui adopte un duty-cycle fixe. [doc31p3]Fonctionnement de T-MAC : Chaque nœud se réveille périodiquement pour communiquer avec ses voisins et ensuite retourne à son état endormi jusqu’au début de la prochaine Frame. Entre temps, les messages destinés à leur récepteur vont être stockés dans son buffer. Pendant la période « active », un nœud reste à l’écoute du support et pourrait potentiellement transmettre des paquets durant cette période. La période « active » se termine quand il n’y a plus aucun événement d’activation (réception de message, détection de collision…) pendant une durée TA (time-out timer) qui détermine la durée d’idle listening par séquence listen/sleep. Par conséquent, la période active est adaptée à la charge du traffic. Les nœuds communiquent entre eux en utilisant les paquets RTS, CTS, DATA et ACK La figure suivante illustre le fonctionnement de T-MAC qu’on a décrit précédemment :

[doc31(3.2)]La Synchronisation entre les nœuds La synchronisation des frames a été inspiré par la méthode du « virtual clustering » décrite dans le protocole SMAC. Un nouveau nœud dans le réseau va commencer par attendre en écoutant le canal. Dans ce cas, deux situations peuvent se poser : - Si le noeud ne détecte rien durant cette période, il choisit alors son propre schedule et envoie un paquet SYNC qui contient la date du début du prochain frame. - Si le nœud détecte un paquet SYNC pendant cette période, alors il va suivre le schedule présent dans ce paquet et transmet par conséquent son propre paquet SYNC afin d’informer ses voisins de son schedule. Dans le cas où un nœud A possède déjà un schedule et il reçoit un paquet SYNC contenant un schedule différent d’un autre noeud, le nœud A doit adopter les deux schedules en même temps (donc A sera à l’état actif au début de chaque frame) et transmettra alors un nouveau paquet SYNC. Remarque : Le shéma de synchronisation décrit avec SMAC et adapté par TMAC poussent les nœuds à former des clusters de telle sorte que chaque cluster est décrit par un schedule. Ceci permet un broadcast efficace et évite un maintien d’informations pour chaque nœud. [doc31(33)]Détermination de TA : Un nœud ne doit pas s’endormir (entrer en phase « sleep » du schedule) pendant que ces voisins communiquent puisqu’il peut être à tout moment le récepteur d’un message. La réception d’un RTS ou d’un CTS est nécessaire pour actualiser l’intervalle TA. Du fait qu’un nœud C peut ne pas entendre, en raison de la portée limitée d’émission, un paquet RTS émis par un nœud A, l’intervalle TA doit être suffisament large pour que C puisse recevoir au minimum la date de l’émission du paquet CTS (entre la réception d’un paquet et la date de son émission, il ya une différence du fait que le récepteur est à l’écoute du support).

Choix du paramètre TA dans le protocole TMAC

La figure précédente nous montre que la longueur de l’intervalle TA doit vérifier l’inégalité suivante :

TA > C + R + T

Avec C : longueur de l’intervalle de contention R : durée de transmission du paquet RTS T : intervalle de temps (très petit) entre la fin de réception du paquet RTS par B et le début d’émission du paquet CTS par B. Le fait de choisir un intervalle TA très large peut avoir des conséquences négatives puisque l’augmentation du TA implique une augmentation de la phase d’idle listening donc augmentation de la consommation d’énergie. La valeur de TA qui a été adoptée dans l’implémentation de TMAC dans les nœuds EYES est TA = 1.5*(C + R + T).

[do31(3.4)]L’évitement du phénomène d’Overhearing ou sur-écoute Cette idée a été introduite par le protocole SMAC et qui consiste pour un noeud A à entrer en phase « sleeping » dès qu’il écoute un RTS ou CTS destiné à un autre nœud. Durant cette phase, le nœud A peut mettre son radio en « turn-off » pour sauvegarder de l’énergie. Cependant, le protocole TMAC quant à lui, considère l’évitement d’Overhearing comme une option du fait qu’il peut perturber les communications entre les nœuds dans le cas d’application qui requiert le maximum de throughput. En effet, pendant la période où le nœud A va entrer en phase « sleeping », il peut manquer la réception de paquets RTS ou CTS destinés vers lui et va donc perturber les communications avec autrui lors de son réveil. Par conséquent, le throughput va diminuer. Malgré que l’évitement de l’Overhearing est un phénomène qui économise de l’énergie (cas de SMAC), il n’est pas conseillé de l’utiliser dans les applications où on veut assurer un maximum de throughput (option assuré grâce à TMAC).

[do31(3.4)]Le problème du « early sleeping » NB : On « supposera » que le trafic dans le réseau est du type unidirectionnel, entre autre les communications entre les nœuds et le Sink. Tout ce qui émane de A est vu par B, tout ce qui émane par B est vu par A et C, par C est vu par B et D… Ce problème est illustré par la figure suivante :

Le problème du « early-sleeping » : D va dormir avant que C puisse lui envoyer un RTS.

On considère le nœud C qui, à chaque fois où il veut transmettre des données vers D, doit contentionner le médium. Cette contention peut être perdue par C dans deux cas :

- S’il reçoit un paquet RTS de B. - S’il « sur-entend » un paquet CTS émis par B vers A.

Dans le premier cas, C va répondre B par un paquet CTS qui va être « sur-entendu » par D. Ainsi, D va reconnaître que son voisin C est entré en communication avec B, ce qui entraînera D à s’endormir jusqu’à ce que B et C finissent leur communication. Dans le deuxième cas, C doit rester silencieux, jusqu’à ce que A et B finissent leur communication, et ceci pour ne pas perturber leur communication. Le fait que D n’entend aucune réaction de la part de C (silencieux), va engendrer D à terminer son intervalle TA et à s’endormir. Ce n’est qu’au prochain état actif (prochain frame) de D que le nœud C aura une chance d’émettre son paquet RTS vers D. Tijs van Dam et al. proposent deux solutions à ce problème qui sont :

- FRTS (Future Request-to-send). - Taking priority on full buffers.

FRTS (Future Request-to-send): On se situera dans le même contexte que celui déjà cité.

L’échange de paquet Future Request To Send (FRTS)

L’échange de paquet Future Request To Send (FRTS) va garder le nœud D réveillé. Si un noeud C “sur-entend” un CTS (2ème cas énoncé précédemment), il pourra immédiatement émettre un paquet FRTS contenant la durée de l’échange entre A et B (cette durée est connue grâce au paquet CTS) vers D. Le nœud récepteur de ce paquet FRTS (D) va reconnaître qu’il sera le prochain récepteur d’un paquet RTS, il devra alors rester à l’état actif pour ne pas manquer ce paquet RTS que C souhaite lui émettre. Afin que ce paquet FRTS n’entrent pas en collision avec les paquets DATA qui seront émis par A suite à sa réception du paquet CTS provenant de C, les paquets DATA doivent être envoyés juste après que le paquet FRTS sera reçu par D. Afin de prévenir n’importe quel autre nœud de prendre le canal pendant cette période, A va transmettre un paquet DS (Data-Send) à la suite duquel il va émettre ses paquets DATA.

Remarque : Le paquet DS va entrer en collision avec le paquet FRTS « sur-écouté » par B ce qui entraînera la destruction de DS. Ce résultat n’est pas grave du fait que le paquet DS ne contient pas d’informations utiles. Taking priority on full buffers: Lorsqu’un noeud possède un buffer plein, il est plus préférable pour lui d’émettre que de recevoir. Dans le cas où C recevra un RTS, il devra émettre son propre RTS vers D au lieu de répondre B par un CTS. Ceci peut avoir deux conséquences; La première est que C aura une chance assez élevée pour émettre un paquet RTS vers D avant que ce dernier ne va s’endormir (s’il reçoit un CTS de la part de C : cas énoncé précédemment alors D va s’endormir) La deuxième conséquence est un contrôle de flux assez avantageux dans le cas de communications entre les noeuds et le Sink. En effet, le nœud B va être prévenu de l’émission de paquets vers C jusqu’à ce que ce dernier aura suffisamment de place dans le buffer.

Prise de la priorité [doctaxp959] Remarque : Le protocole TMAC emploie une auto-configuration pour identifier les nœuds voisins lorsque le réseau est initialisé et permettre l’ajout et la suppression de nœuds. TMAC ajuste sa consommation d’énergie, dans le contexte d’un trafic variable, grâce au Time-Out Timer (TA).

Classification des protocoles MAC proposés dans les réseaux de capteurs : Pour cette classification, nous nous sommes basés sur les critères suivants :

- l’allocation du canal radio. - La coordination entre les nœuds - La notification (proposé par Langendoen et Halkes) - L’adaptation à l’environnement externe. - La qualité de service.

(proposé par L.H.A Correia) L’allocation du canal radio

Dans les communications radio fréquence, s’il existe plus qu’un nœud qui veut transmettre des données sur le même canal et en même temps, alors des problèmes de communication tels que les collisions ou la distorsion, peuvent surgir. Afin d’éviter de tels problèmes, une partie de la bande passante est allouée à chaque nœud (cas de TDMA, toute la bde est allouée). Cette allocation peut être soit statique, soit dynamique : Allocation statique : cette technique d’allocation divise la bande passante en N parties, chaque partie est allouée à un nœud. Il existe plusieurs techniques de multiplexage utilisées pour diviser la bande passante telles que : TDMA, FDMA et CDMA. (Les techniques FDMA et CDMA ne rencontrent pas les contraintes de consommation d’énergie imposées dans les nœuds capteurs du fait qu’ils utilisent plusieurs canaux.) En général, les protocoles MAC dans les WSN, qui emploient une allocation statique du canal, utilisent la technique TDMA. Cette technique requiert une synchronisation entre les nœuds afin de permettre à chaque nœud d’identifier ces slots de temps. La synchronisation peut être soit centralisé, soit distribué : Synchronisation centralisée : Un nœud capteur jouant le rôle d’un point d’accès (AP) envoie périodiquement un signal de synchronisation à tous les nœuds. (Cette technique n’est pas applicable dans les WSN car ce genre de réseau souffre d’un temps d’attente élevé et une perte de paquets assez fréquente. Donc, dans le cas d’un retard ou d’une perte du signal de synchronisation, le réseau sera perturbé.) Synchronisation distribuée : Chaque nœud ou groupe de nœuds génère son propre schedule. L’utilisation de plusieurs « schedules » peut causer des « clock drifts » (dérives d’horloges) ce qui entraîne la perte de synchronisation, c’est pour cette raison que les « schedules » doivent être périodiquement ajustés. (Malgré ce problème de « clock drifts », cette technique est applicable par quelques protocoles MAC dans les WSN, qui assurent que l’intervalle de transmission soit très large par rapport au « clock drift ». Allocation dynamique : Dans cette technique, il n’existe pas de bande passante allouée pour chaque nœud. Tout nœud voulant accéder au canal doit gagner la contention. Avec ce type d’allocation, il existe une probabilité de collision. En effet, un nœud A (du fait que la communication est en half-duplex) ne peut pas écouter le canal pour vérifier si un autre nœud B a transmis des données en même temps que lui. Ainsi le nœud A (émetteur) ne pourra pas déterminer si une collision a eu lieu ou pas. La coordination entre les nœuds Afin d’éviter les collisions, les nœuds doivent coordiner ensemble, pour accéder au canal, en suivant l’une des méthodes suivantes : Méthode aléatoire : Avant d’émettre ses données, le nœud écoute le canal. Si ce dernier est occupé, alors le noeud doit retarder son émission, sinon il émet ses données. Cette méthode est aussi appelé CSMA (Carrier Sense Multiple Access). Méthode planifiée ou « scheduled » : La transmission s’effectue lors de slots prédéterminés. Cette méthode est utilisée dans les protocoles à allocation de canal statique. Méthode hybride : Chaque nœud X possède un slot prédéterminé pour recevoir les données. Cependant un nœud Y désirant émettre des données vers X, doit entrer en compétition avec les autres nœuds pour transmettre ses données lors du slot prédéterminé de X. Les protocoles SMAC et TMAC emploient cette méthode.

La notification Afin de réussir la communication entre émetteur et récepteur, ce dernier doit être à l’écoute du canal au moment où la transmission commence. Ainsi, il sera notifié de l’existence d’une transmission sur le canal. Cette notification peut être classée en deux types : Par réservation : Ce type de notification est utilisé par les protocoles basés sur une allocation statique du canal, là où les nœuds possèdent des slots prédéterminés pour l’émission ou la réception. TRAMA est un exemple de protocole qui emploie ce type de notification. Par écoute du canal : Dans les protocoles « contention-based », il n’existe pas de slots prédéterminés pour émettre ou recevoir des données. Un nœud peut être toujours à l’écoute du canal en attente de recevoir une transmission qui lui est destinée. Malgré que cette méthode d’écoute pourrait augmenter les chances de réception du message, cette méthode est trop coûteuse en énergie. (l’idéal c’est que les nœuds activent leurs radios au moment d’une transmission) Afin d’éviter de telles pertes, les nœuds changent périodiquement d’états (actif ou endormi) selon un cycle appelé « duty-cycle » L’écoute du canal peut être synchrone ou asynchrone :

- Synchrone : le « duty-cycle » est déterminé par un échange de messages de synchronisation. Chaque nœud connaît quand est-ce que ces nœuds voisins sont à l’état actif. Ainsi, le nœud émetteur attend jusqu’à ce que le récepteur entre en état actif pour lui transmettre son message. SMAC et TMAC sont des protocoles qui emploient une écoute synchrone du canal.

- Asynchrone : Les nœuds ne connaissent pas quand est-ce que leurs voisins sont actifs. Ils se mettent alors périodiquement à l’écoute du canal pour vérifier s’il y a une transmission qui va avoir lieu. Cette méthode est connue sous le nom de LPL (Low Power Listening). Afin d’assurer le réception de tous les paquets, le prémabule est plus grand que la période « idle » ou actif dans le « duty-cycle ». Cette méthode est employée par B-MAC.

La qualité de service Contrairement aux réseaux traditionnels, là où la qualité de service est basée sur la bande passante, la latence, le bruit…, Dans les WSN, il existe plusieurs challenges liés à la QOS auquels on doit tenir compte tels que la consommation d’énergie, les contraintes matérielles (les limitations de ressources peuvent influer sur la QOS), le bruit… Les techniques QOS dans les protocoles MAC peuvent être classifiées de la manière suivante : - Packet reordering : cette technique est basé sur un algorithme qui réordonne les paquets entrants dans le buffer du nœud selon leurs priorités. Cette technique est aussi utilisée par IEEE 802.11e qui ordonne les paquets entrants selon des classes de priorité. - Medium access priorization : cette technique est basée sur un algorithme permettant aux paquets les plus prioritaires d’accéder au canal. Elle est utilisé aussi bien par IEEE802.11e (cas de EDCF) que par IEEE 802.15.4 en mode superframe. - Admission Control : cette technique est basée sur un algorithme qui contrôle la quantité de données qu’un nœud pourrait émettre dans un période bien déterminée.

Le protocole TRAMA (Traffic-adaptive medium access protocol) [doc72p1ABSTRACT]C’est un protocole qui a été conçu par Rajendran et al. à l’université de Californie, Santa Cruz. Le but de ce protocole est de réduire la consommation d’énergie dans les réseaux de capteurs tout en assurant que les transmissions unicast, multicast (seulement une partie de ses voisins à un saut) et broadcast s’effectuent sans collision. TRAMA se base sur une approche TDMA pour partager le temps en plusieurs slots qui ne seront alloués qu’aux nœuds qui ont des informations à transmettre ce qui diminue le temps d’attente des autres nœuds. Vue d’ensemble du protocole [doc72p1]TRAMA utilise un algorithme d’élection distribué basé sur l’état du trafic au niveau de chaque nœud. [doc72p2(2.1)]Cet algorithme permet de sélectionner les récepteurs potentiels selon les « schedules » annoncés par les émetteurs. [doc72p2(2.1)]Les nœuds utilisant le protocole TRAMA échangent les « schedules » de transmission (spécifiant les récepteurs potentiels des messages à émettre, dans un ordre chronologique ainsi que des informations sur le trafic à émettre) ainsi que des informations sur leurs voisinages, avec leurs homologues situés à deux sauts d’eux. Grâce à ses informations échangées, le protocole TRAMA va déterminer les nœuds susceptible d’émettre ou de recevoir des données durant chaque slot de temps. TRAMA suppose l’existence d’un seul canal pour les données et la signalisation, partagé en plusieurs slots de temps. Cette figure nous montre l’organisation des slots de temps dans le protocole TRAMA Figure1p3 : Organisation des slots de temps

Cette figure nous montre aussi qu’avec TRAMA, il existe deux types d’accès au support en fonction des slots de temps:

- accès aléatoire (possiblité de collision) lors des slots de temps destinés à la signalisation.

- accès déterministe (pas de collision) lors des slots de temps destinés à la transmission. [doctaxp17]La période d’accès aléatoire permet de mettre à jour les informations sur les nœuds, et d’auto-configurer le réseau lors de l’ajout ou de la suppression de nœud. Remarque : On différencie entre les paquets de signalisation et les paquets de données grâce aux entêtes des paquets. (fig2p3doc72). Le protocole TRAMA consiste en trois composants :

- Le protocole voisin ou Neighbor Protocol (NP). - Le protocole d’échange de « schedule » ou Schedule Exchange Protocol (SEP).

- L’algorithme d’élection adaptée ou Adaptive Election Algorithm (AEA). Les deux premiers protocoles NP et SEP permettent à un noeud d’échanger des informations (sur son voisinage) ainsi que son « schedule » avec ses voisins situés à deux sauts de lui. Quant à l’algorithme AEA, il utilise les informations échangées (Schedule et informations sur le voisinage) afin de sélectionner les émetteurs et les récepteurs pour le slot de temps courant, et permet aux autres noeuds ainsi, d’entrer en mode « low-power ». Le protocole voisin ou Neighbor Protocol (NP) : NP est utilisé pour propager les informations (non pas données) du nœud situé à un saut vers ses nœuds voisins afin d’obtenir les informations sur la topologie complète des nœuds situés jusqu’au deuxième saut. (Voir figure que j’ai dessiné sur p34doc27) Les slots de signalisation sont utilisés par NP pour obtenir et échanger les informations entre les voisins directes.

Le protocole d’échange de « schedule » ou Schedule Exchange Protocol (SEP) : [p3doc72]SEP est utilisé par les nœuds pour échanger leurs « schedules » (spécifiant les récepteurs potentiels des messages à émettre, dans un ordre chronologique ainsi que leurs informations sur le trafic à émettre. Un nœud doit annoncer son « schedule » en utilisant SEP avant de commencer une nouvelle transmission. L’algorithme d’élection adaptée ou Adaptive Election Algorithm (AEA) : Durant les slots de temps destinés pour l’émission de données (accès déterministe), AEA va sélectionner les émetteurs et récepteurs. (Comme dans l’algorithme NCR des réseaux adhoc) Un nœud est sélectionné pour transmettre s’il possède la priorité la plus grande dans la série de tous ses nœuds voisins s’étendant jusqu’au deuxième saut. La priorité d’un nœud d’identité « u » lors d’un slot de temps t est défini comme étant la fonction pseudo-rando hash de la concaténation de « u » et de t.

Prio (u,t) = MD5 (u+t) A n’importe quel slot de temps t pendant la période d’accès déterministe, un nœud d’identité « u » peut avoir trois états possibles : TX : transmission, RX : réception, SL : endormi. Pour un slot donné, un nœud « u » est à l’état TX s’il a la plus grande priorité Prio(u,t) entre la série de tous ces nœuds voisins du deuxième saut, ou s’il est entrain de transmettre Chaque nœud exécute l’algorithme AEA pour décider de son état courant qui est lié à sa priorité par rapport aux autres (deuxième saut) mais aussi aux « schedules » de ses voisins.

[doc72p3]Analyse énergétique du protocole TRAMA : NB : la transmission s’effectue en contention free : bon pour l’énergie. La durée de la période d’accès aléatoire (consommation élevée d’énergie)est sept fois plus petite que la période d’accès déterministe : économie de consommation d’énergie.

Le fait que TRAMA se base sur une sélection déterministe de l’émetteur et du récepteur lors d’un slot de temps bien déterminé et selon la nature du trafic, est une nécessité pour économiser de l’énergie. Explication : En effet, l’élection aléatoire de l’émetteur peut entraîner des collisions. La sélection (déterministe) de l’émetteur sans avoir sélectionné un récepteur pourrait entraîner des pertes d’énergie, car dans cas, tous les nœuds qui sont autour de l’émetteur sélectionné doivent être à l’écoute y compris ceux qui ne sont pas les récepteurs potentiels. D’autre part, sélectionner un émetteur et un récepteur sans tenir compte du trafic échangé peut entraîner une utilisation inefficace du canal dans le cas où il n’y a pas de données à échanger. [doc72(2.4)]Un émetteur A sélectionné peut stopper sa transmission s’il n’a plus de paquets à émettre alors que sa période d’accès n’est pas encore terminée (voir fig1p3doc72] . TRAMA commute alors son état vers le mode endormi et réutilise le reste des slots non utilisés par l’émetteur A. Remarques générales : [doc72p2(focus)] TRAMA est un protocole qui maintient un bon throughput [doctaxp17], une latence acceptable et une équité entre les nœuds. L’évaluation des performances de TRAMA a été effectuée en utilisant le simulateur QUALNET. [doc15p4]Les avantages de TRAMA : Une bonne utilisation du canal : expliqué précédemment. Le pourcentage du mode « sleep » est élevé ce qui est avantageux en consommation d’énergie. La probabilité de collision est très faible comparant avec celle des protocoles à base de CSMA. [doctaxp17]Les nœuds qui n’ont pas à transmettre ou à recevoir des données vont fermer leur radio (turn-off) et entrer en mode « sleep ». ([doctaxp17][doc72p3]En raison du « data rates » qui est relativement petit dans les WSN, la durée d’un slot time est plus grande que le « clock drift ».Voir exemple) [doc15p4]Les inconvénients de TRAMA : Le fait que :

- la période d’accès déterministe est sept fois plus grande que celle aléatoire. - tous les nœuds sont à l’état transmission (TX) ou réception (RX) lors de la période d’accès aléatoire pour échanger leurs « schedules ».

peut nous mener à déduire que le « duty-cycle » est au minimum de 12.5 % (sans considérer les transmissions et réceptions pendant la période d’accès déterministe) ce qui constitue une valeur assez élevée. Pour chaque slot de temps, le nœud calcule les priorités de ses nœuds voisins situés jusqu’au deuxième saut. Ce calcul doit être répété si les paramètres de calcul sont changés. [doctaxp17]Le protocole TRAMA n’implémente aucune technique de QOS.

Le protocole BMAC

[doc74P2]C’est un protocole qui a été proposé par J.Polastre et al. à l’université de Californie, Berkeley dans un premier but de l’utiliser pour satisfaire les exigences des applications WSN de « monitoring » en matière d’exactitude, de rapidité... Pour concevoir ce protocole, les objectifs tracés par J.Polastre et al., sont :

- des opérations économiques en énergie. - Un évitement de collision efficace - Une implémentation simple (simplicité du code) - Une utilisation efficace du canal (en forte ou en basse fréquence de messages) - Une reconfiguration par les protocoles réseau - Une adaptabilité (tolérance) aux conditions du réseau - Une scalabilité.

Malgré que BMAC avait au début une motivation pour les applications WSN de monitoring, la flexibilité de ce protocole lui a permis d’intervenir efficacement dans d’autres applications telles que la localisation, le tracking… Vue d’ensemble du protocole BMAC [doc74p3]BMAC utilise trois méthodes principales qui sont : - une méthode d’allocation dynamique du canal, basée sur une nouvelle approche pour l’estimation du canal (CCA : Clear Channel Assessment) et l’algorithme de Backoff. - la méthode des accusés de réception au niveau de la couche liaison de données (for reliability) pour assurer laréception des données. - la méthode LPL (Low Power Listening) pour assurer des communications à faible coût d’énergie. Contrairement à SMAC (not only a link protocol but also network and organisation protocol) qui regroupe plusieurs fonctionnalités en vrac (allocation du canal, synchronisation, fragmentation de messages)et avec lequel les applications et services doivent compter sur les politiques internes de SMAC pour ajuster leurs opérations en raison de changements au niveau d’un nœud ou des conditions du réseau => De tels changements sont opaques à l’application. Le protocole BMAC remplie uniquement les fonctionnalités d’un protocole MAC de la couche liaison de données tout en assurant un ensemble de services (organisation, synchronisation et routage) qui seront intégrées à un niveau supérieur de son implémentation. Les trois méthodes énoncées précédemment sont représentées sous forme d’interfaces pour permettre à l’application et aux services (organisation, synchronisation…) de régler leurs opérations et d’ajuster les mécanismes du protocole BMAC, d’une manière séparée, en cas de changement au niveau d’un nœud ou des conditions du réseau. [doc71p13][doc21p3]Low Power Listening et Preamble Sampling L’inconvénient majeure de CSMA/CA est l’énergie perdue lors du mode « idle listening ». Une approche développée par Both Hill and Culler, consiste à réduire le mode « idle listening » en introduisant un « duty-cycle » (cycle d’états « sleep » périodiques) sans perdre aucun paquet entrant. Remarque : le « duty-cycle » opère au niveau de la couche physique.

L’idée principale de cette nouvelle technique d’écoute efficace de la porteuse est de renverser le coût de perte, généralement plus important pour le récepteur, vers l’émetteur et ceci en augmentant la longueur du préambule au niveau de l’émetteur. Cette opération permet au récepteur de se réveiller périodiquement afin de détecter de nouvelles données qui lui sont destinées ou de vérifier la présence du préambule. S’il détecte un préambule alors il continue à écouter le canal jusqu’à l’apparition du start-symbol du message. A ce moment, le récepteur pourra recevoir son message. S’il ne détecte pas de préambule, il retourne à son état « sleep » jusqu’à son prochain réveil. [doc21p3]Cette méthode peut être appliquée à n’importe quel protocole MAC basé sur la contention (contention-based) : CSMA/CA lpl, SMAC lpl, TMAC lpl. El Hoyidi combine cette technique avec ALOHA et la nomme Preamble Sampling. Remarque : LPL a été implémenté dans TinyOS sur les capteurs Mica. Avantages de LPL : Gain en énergie : expliqué précédemment. Inconvénients de LPL : L’économie d’énergie est effectuée en dépit de la latence et le throughput. En effet, la longueur du préambule est doublée (longueur statique=647micosec) avec LPL, ceci augmente la latence et réduit le throughput. Remarque : Dans l’implémentation de BMAC (partie de TinyOS 1.1.3), la longueur du préambule est devenue un paramètre à part que l’application ou l’opérateur pourrait faire varier selon les circonstances. [doc2p1] [doc22 : plus détaillé]Le protocole MS-MAC Ce protocole a été proposé par H. Pham et al. de l’université de New South Wales. Il s’agit d’un nouveau protocole MAC pour les WSN, qu’on peut implémenter dans des nœuds capteurs mobiles ou statiques, ce qui n’est pas le cas pour la plupart des protocoles MAC proposés jusqu’à maintenant dans les WSN et dont l’mplémentation se limite à des nœuds capteurs qui doivent être statiques. En effet, pour maximiser la durée de vie des batteries, la plupart des protocoles MAC dans les WSN, mettent les nœuds capteurs en mode « sleep » pour la majorité du temps et en mode « actif » seulement lors de la transmission ou de la réception. Ce genre de fonctionnement dans le contexte statique des nœuds, s’est avéré efficace en économie d’énergie en dépit de la QOS (latence, throughput…). Pour le cas de MS-MAC, c’est un protocole qui fonctionne efficacement en matière d’économie d’énergie dans un contexte statique des nœuds mais aussi, assure un niveau de performances acceptable en cas de mobilité des nœuds. La mobilité des nœuds qui constitue un critère très important dans certaines applications (soldats portant des capteurs dans un champ de guerre…) ainsi que l’efficacité de consommation d’énergie constituent les objectifs de ce protocole. Vue d’ensemble du protocole MS-MAC Le fonctionnement de MS-MAC est similaire à celui de SMAC si on se place dans un contexte statique des nœuds. Cependant, et dans un contexte mobile des nœuds, MS-MAC fonctionne de la même manière que IEEE 802.11

Le protocole MS-MAC par rapport à SMAC et IEEE 802.11 Dans SMAC, pour maintenir la synchronisation des nœuds dans chaque cluster virtuel, chaque nœud doit, pour chaque nombre prédéfini de cycles, diffusionner (broadcast) son schedule dans un message SYNC , ainsi ses voisins pourront mettre à jour leurs schedules. Dans le cas suivant (voir figure), la période de synchronisation est égale à 10 secondes et cette période sera répétée chaque 2 minutes. Les nœuds se situant entre deux clusters virtuels doivent suivre deux schedules à la fois. Si un nœud mobile A désire établir une connection avec un nœud B appartenant à un cluster différent, A doit attendre une nouvelle période de synchronisation (égale à 10sec chaque 2min) pour pouvoir détecter le message SYNC du nœud B. Cette attente peut durer jusqu’à 1min50s (si au moment où A désire établir la connection avec B, ce dernier a juste terminé sa période de synchronisation) ce qui peut être trop long pour certaines applications critiques en matière de temps.

Cas de SMAC : cycle de synchronisation, mode « listen » et mode « sleep » Pour remédier à ce problème et accélérer la connection de A avec B, MS-MAC introduit un nouveau mécanisme pour détecter rapidement la mobilité d’un nœud. En effet, un nœud A peut détecter la mobilité de l’un de ses voisins en se basant sur le niveau du signal des messages de synchronisation émis par ces voisins. S’il y a un changement du niveau de ce signal émis par un voisin B alors A supposera que B s’est déplacé. Une fois que A détecte la mobilité de B alors A diffusera dans son prochain message SYNC, son schedule ainsi que des informations sur la mobilité du nœud B (vitesse estimée…)

(Remarque : dans SMAC, le message SYNC contient seulement le schedule du nœud). Ces informations de mobilité vont être utilisés par les voisins de A pour créer une zone active autour du nœud mobile B qui lui permettra d’établir rapidement une connexion avec un nœud C situé dans un cluster différent et réduire ainsi le temps d’attente de la période de synchronisation de C pour connaître son schedule. Cette zone active se forme selon la vitesse du nœud mobile. Création de la zone active : Si un nœud A situé au bord du cluster détecte un changement du niveau de signal d’un message de synchronisation SYNC alors il introduira les informations de mobilité dans son prochain message SYNC qui sera diffusé vers les nœuds du cluster 1 et 2. Cluster 1 Cluster 2 A au bord du cluster 1 Lorsque les nœuds du cluster 2 vont recevoir le message SYNC de A contenant les infomations de mobilité alors, ces nœuds vont augmenter la fréquence des périodes de synchronisation proportionnellement à la vitesse du nœud B. Le nœud B recevant à son tour le message SYNC de A, va aussi accélérer ces périodes de synchronisation pour être prêt à établir une connection avec l’un des nœuds du cluster 2.

La fréquence de périodes de synchronisation dépend de la vitesse du nœud mobile D’après cette figure, on remarque que plus la vitesse du nœud mobile est grande, moins sera le temps d’établissement de connexion Voir les 4 exemples

Les avantages de MS-MAC

- Il permet une mobilité des nœuds que ce soient inter ou intra cluster. [doc 75p1]Le protocole Wise-MAC

°B mobile

Wise-MAC utilise la technique de « Preamble Sampling » pour minimiser la perte d’énergie dûe au mode « idle listening ». La technique de « Preamble Sampling » consiste à écouter le canal périodiquement pendant des périodes assez courtes pour vérifier s’il y a une activité sur le canal. Si le canal est occupé, le récepteur continue son écoute jusqu’à ce qu’un paquet lui parvient ou jusqu’à ce que le canal retourne à son état libre. Au niveau de l’émetteur, un préambule « Wake-up » est transmis avant chaque message pour s’assurer que le récepteur sera à un état « actif » lorsque le message va lui arriver. Ce préambule « Wake-up » va consommer de l’énergie (Overhead) que ce soit au niveau de l’émetteur ou du récepteur alors que le transfert de données n’a pas encore commencé. Wise-MAC offre dans ce cas une méthode qui permet de déterminer dynamiquement la longueur de ce préambule de telle sorte qu’il soit le plus petit possible. Cette méthode consiste à connaître les schedules « sleep » des voisins directes de l’émetteur. En connaissant ainsi le schedule « sleep » du destinataire, l’émetteur va émettre son préambule « Wake-up » pendant une période minimum Tp juste avant que le récepteur débute sa nouvelle période d’écoute (d’après doc15p3 : de longueur ½). [doc27p42]La figure suivante montre et explique le fonctionnement de base du protocole Wise-MAC :

Chaque nœud maintient une table contenant les schedules « sleep » des voisins directes, qui sera lu et mis à jour par le nœud lui-même et ceci grâce au paquet ACK qui lui est renvoyé et qui non seulement acquitte son envoi mais aussi contient la durée restante au récepteur pour débuter son prochain écoute. Pour éviter les collisions, Wise-MAC utilise une technique CSMA non-persistent avec un choix aléatoire du préambule « Wake-up » [doc15p3] Pour prévenir des collisions causées par deux ou plusieurs nœuds qui veulent émettre des données vers le même destinataire et au même instant, un préambule de réservation du canal est utilisé juste avant le préambule « Wake-up ». Le transfert des données volumineuses (data bursts) est possible grâce à l’utilisation du bit « more » inséré à l’entête du paquet DATA et qui indique au récepteur qu’il doit continuer d’écouter le canal pour recevoir les paquets restants. Avantages de WiseMAC :

L’ajustement dynamique de la longueur du préambule (de telle sorte qu’il soit le plus petit possible) permet des résultats plus performantes dans le cas d’un trafic variable. Pour limiter les collisions, Wise-MAC utilise une technique CSMA non-persistent avec un choix aléatoire du préambule « Wake-up ». Le transfert des données volumineuses (data bursts) est possible grâce à l’utilisation du bit « more » inséré à l’entête du paquet DATA et qui indique au récepteur qu’il doit continuer d’écouter le canal pour recevoir les paquets restants.

Inconvénients de WiseMAC : - L’utilisation de préambule « Wake-up » va consommer de l’énergie (Overhead) que ce soit au niveau de l’émetteur ou du récepteur alors que le transfert de données n’a pas encore commencé. -[doc15p3] : problème de la station cachée car WiseMAC est basé sur CSMA non-persistent

Le protocole LMAC Le protocole LMAC (Lightweight Medium Access Protocol) a été conçu par L.F.W. Van Hoesel et al. à l’université de Twente aux Pays-Bas. L’objectif principal de ce protocole est de minimiser l’Overhead de la couche physique. Il réduit le nombre de changements d’états du transceiver qui consomment eux aussi de l’énergie (Voir Tableau1p2). Cette réduction revient en fait à rendre l’intervalle « sleep » adapté au volume du trafic de données. Vue d’ensemble de LMAC : [doc LMACp2 (MACDESIGN)]Le protocole LMAC est basé sur la technique TDMA (Time Division Multiple Access). Le temps est divisé en des slots de temps qui peuvent être utilisés par les nœuds pour transmettre des données sans avoir à écouter le canal. A chaque slot de temps, LMAC assigne un nœud qui sera le contrôleur de ce slot de temps (raison de plus pour éviter les collisions). Contrairement aux protocoles traditionnels basés sur TDMA, les slots de temps dans LMAC ne sont pas assignés aux nœuds par un manager central mais grâce à un algorithme distribué décrit dans [1]. Durant un slot de temps, le nœud contrôleur de ce slot transmet un message qui contient deux sections qui sont respectivement :

- le message de contrôle qui porte l’ID du contrôleur du slot de temps ainsi que l’ID du slot de temps utilisé (nombre de séquence du slot dans le frame en bits [dc LMACp3])

Il contient les informations suivantes : la distance (en nombre de sauts) séparant le nœud de la passerelle, l’adresse du destinataire et la longueur de l’unité de données. - l’unité de données qui contient les données à transmettre.

La synchronisation entre les différents nœuds est maintenue grâce à l’ID du slot de temps utilisé. Tous les nœuds reçoivent les messages de contrôles de leurs nœuds voisins. Deux cas se posent :

- Si un nœud n’est pas adressé dans le message de contrôle transmis alors il éteindra son transceiver et se réveillera au prochain slot de temps.

- Si un nœud est adressé alors il écoutera l’unité de données transmise et éteindra ainsi que le nœud émetteur leurs transceivers juste après la réception du message.

[doc LMACp2 (MACDESIGN)]Remarque : Afin de limiter le nombre de slots de temps utilisés dans le réseau (gain d’énergie), LMAC permet une ré-utilisation des slots de temps dans un périmètre là où il n’y a pas d’interférences. (Un nœud ne peut transmettre qu’un message par Frame (ensemble de slots de temps), c’est pour cette raison que l’unité de données dans l’implémentation de LMAC pourrait atteindre jusqu’à 256 octets). [doctaxp963(3)][doc LMACp3(network setup]Quand le réseau est initialisé (tous les nœuds sont power on), tous les nœuds sont désynchronisés. La passerelle (AP) est dans ce cas le responsable de la synchronisation de tous les nœuds. En effet, la passerelle commencera par le contrôle de son propre slot de temps et elle émettra un message de contrôle grâce auquel les nœuds voisins (1er saut) de la passerelle vont pouvoir synchroniser leurs « schedules » (ou clocks). Ensuite, ces nœuds vont choisir aléatoirement leurs slots de temps qu’ils vont contrôler (à part celui choisi par l’AP). Une fois les slot de temps sont choisis, ces nœuds vont émettre leurs messages de contrôle pour continuer le processus de synchronisation. Remarque : Il existe une possibilité du même choix du slot de temps entre deux ou plusieurs nœuds. A ce moment, les nœuds informent leurs voisinages qu’une collision entre les messages de contrôle a eu lieu. Les nœuds qui ont émis ces messages de contrôle vont alors stopper leurs contrôles aux slots utilisés et rechoisir aléatoirement d’autres slots (à part ceux qui ont été choisis) après un temps back-off dépendant de l’ID du nœud. Afin d’éviter les collisions, les nœuds maintiennent des tables contenant les identifiants des slots alloués aux nœuds situés dans un périmètre de trois sauts. Avantages : Basé sur TDMA donc collision-free (une collision peut avoir lieu mais entre les messages de contrôle, pas très grave) Synchronisation centralisée contrairement à SMAC (synchronisation locale qui n’est pas très stricte [docLMACp1 (smac)]. Réduction d’énergie : réduction du nombre de changements d’états du transceiver qui consomment eux aussi de l’énergie. Le protocole LMAC est capable de prolonger la durée de vie du réseau par un facteur de 2.4 et 3.8 comparant respectivement avec EMACs et SMAC. Afin d’éviter les collisions, les nœuds maintiennent des tables contenant les identifiants des slots alloués aux nœuds situés dans un périmètre de trois sauts. Inconvénients : Lors du choix aléatoire du slot de temps, il y a une chance que deux ou plusieurs noeuds choisissent le même slot. A ce moment, ils doivent supprimer leurs premiers choix et rechoisir une deuxième fois ce qui consomment plus d’énergie. [doc71p18]Les nœuds doivent être toujours à l’écoute lors des sections de contrôles (dédiées aux messages de contrôle) de tous les slots de temps même ceux non utilisés puisqu’à n’importe quel moment, un nœud peut occuper un nouveau slot de temps.

[doc AI-LMAC]Le protocole AI-LMAC Le protocole AI-LMAC (An adaptative, information-centric and Lightweight MAC) constitue une extension du protocole LMAC. Il a été proposé par S. Chatterjea, L.F.W. van Hoesel et P.J.M. Havinga à l’université de Twente en 2004. L’objectif principal de ce protocole est d’adapter les opérations du protocole MAC aux besoins de l’application donc rendre le protocole dépendant de l’application ce qui n’est pas le cas pour la majorité des protocoles MAC proposés dans les WSN. AI-LMAC a été conçu pour les applications dans lesquelles l’opérateur (utilisateur, application) envoie des requêtes sur le réseau pour découvrir l’état courant d’un ou plusieurs capteurs. En connaissant les nœuds qui vont répondre à cette requête, AI-LMAC va ajuster le trafic qui sera généré par ces nœuds. Contrairement à LMAC, le protocole AI-LMAC permet aux nœuds de contrôler un ou plusieurs slots de temps. Il peut aussi faire varier le nombre de slots alloués à un nœud en fonction du trafic rencontré par ce nœud (en réception et émission), ceci permet d’assurer une équité entre les nœuds dans le sens que la bande passante allouée au nœud correspond bien au trafic rencontré par le nœud. Exemple : Il paraît inutile d’allouer un grand nombre de slots à un nœud qui ne génère pas de grands flux de données. [doc AI-LMAC_6]AI-LMAC suppose que tous les nœuds du réseau sont organisés selon la structure d’un arbre dont la racine est la passerelle (à voir). Par conséquent, une relation père-fils existe entre tous les nœuds du réseau (à voir). [doc AI-LMAC_4(A)]Principe de l’adaptation à l’application AI-LMAC fait appel à une plateforme de gestion de données dont le rôle est de collecter des métadonnées (Donnée qui renseigne sur la nature de certaines autres données et qui permet ainsi leur utilisation pertinente) sur le réseau, qui seront utilisées par le protocole lui-même pour ajuster ses opérations. Cette plateforme est bâtie sur les DDT (Data Distribution Table) qui contiennent un ensemble d’informations (type du capteur, région, valeur min/max…) collectées grâce au monitoring du trafic rencontré par chaque nœuds fils. Les DDTs des nœuds fils sont maintenus par le nœud père.

Format du DDT : Data Distribution Table

La synchronisation [doc AI-LMAC_5(B)]Elle est la même que dans LMAC. Une fois que les nœuds sont synchronisés, la prochaine étape est l’allocation des slots de temps selon la quantité de données générée par le nœud suite à une éventuelle requête. L’allocation des slots [doc AI-LMAC_6]En utilisant les DDTs, chaque nœud père connaît l’importance qu’il pourrait attribuer à chaque nœud fils immédiat selon la proportion des données générée par ce nœud fils suite à une éventuelle requête. (Un nœud fils ne pourrait pas décider, grâce à son DDT, de son importance pour transmettre étant donné qu’il ne connaisse pas l’importance de ces autres nœuds frères) Ainsi, et en découvrant les nœuds fils les plus importants, le nœud père va allouer plusieurs slots de temps (bande passante) à ces nœuds. Ce processus d’allocation de slots commence avec le nœud racine de l’arbre lorsque la requête est envoyée sur le réseau, et continue son exécution sur toutes les branches de l’arbre. Ce mécanisme d’allocation de slots implémente une forme de contrôle d’admission qui fournit une équité entre les nœuds selon la quantité du trafic générée, ce qui améliore la qualité de service des transmissions. Mon analyse L’user interroge le réseau, des capteurs bien précis vont répondre. En fonction des requêtes, des statistiques (dans le DDT) vont être alors effectuées au niveau de chaque noeud sur le réseau. Ces statistiques vont être utilisées par le nœud père pour connaître les capteurs qui génèrent le plus d’informations (qui sont les plus importants). En connaissant ces capteurs, le nœud père va allouer les slots de temps (plusieurs pour les plus importants).