• Aucun résultat trouvé

4.3 Détermination du coefficient de proportionnalité dans un contexte multi-

5.1.1 Protocoles MAC asynchrone

Les protocoles (B-MAC Polastre et al. (2004), X-MAC Buettner et al. (2006), Wise- MAC El-Hoiydi and Decotignie (2004), RI-MAC Sun et al. (2008), ContikiMAC Dun- kels (2011), etc) sont des exemples typiques des protocoles asynchrones qui utilisent différentes techniques pour partager des périodes d’activité communes. Dans les protocoles B-MAC et X-MAC, les horloges des nœuds n’ont pas de notion du temps commun afin de convenir de rendez-vous pour des activités en commun. Chaque nœud planifie indépendamment ses périodes de réveil. Pour communiquer, les nœuds utilisent une technique appelée « écoute à faible puissance »( Low-Power-Listening (LPL)) qui consiste à échantillonner périodiquement le canal. Dans ces protocoles, le temps est découpé en cycles de même longueur pour tous les nœuds, et chaque cycle comprend des périodes de réveil et de sommeil. Les nœuds se réveillent pério- diquement et à chaque réveil, ceux-ci écoutent le canal et lorsqu’une activité radio est détectée, le nœud reste actif jusqu’à la réception de la trame et puis éteint sa radio (voir la figure 5.1). Un nœud souhaitant transmettre une trame, émet un long préambule afin d’avertir les nœuds de son voisinage qu’il a des données à transmettre. La durée de transmission du préambule doit être plus longue que la durée de la période de sommeil pour que les autres nœuds puissent la détecter. C’est le cas du protocole B-MAC Polastre et al. (2004) : à chaque réveil, le nœud vérifie l’état d’activité sur le canal en appliquant un CCA. Ce préambule ne contient aucune information, mais les nœuds qui le détectent, restent éveillés pour recevoir la trame et s’assurer qu’elle ne leur est pas destinée. Cependant, lorsque le nœud qui veut émettre, détecte une autre transmission en cours, celui choisit une période de back-off à la fin de laquelle il envoie son préambule.

Comme illustré par la figure 5.2, lorsqu’un nœud reçoit une trame de données qui lui est destinée, il envoie l’acquittement à l’émetteur, et puis se rendort. Au début de chaque période de réveil, le nœud vérifie l’état d’activité sur le canal en appliquant le CCA. Si le nœud n’a pas des données à transmettre et ne détecte pas d’activité, il se rendort directement. Si le nœud veut émettre et qu’une autre transmission est en cours, il choisit une période de back-off à la fin de laquelle il envoie son préambule.

Le protocole WiseMAC El-Hoiydi and Decotignie (2004) utilise la même technique de détection de préambule que B-MAC par scrutation du canal, mais dans celui-ci les nœuds limitent la durée du préambule en extrapolant l’instant de réveil de leurs voisins directs. Les nœuds ne sont pas précisément synchronisés, mais ils envoient dans chaque acquittement le temps restant jusqu’à leur prochain réveil. Par cette information, les émetteurs potentiels estiment à quel moment ils peuvent se réveiller.

´

Emission R´eception

A A P

Paquet de donn´ees Scrutation du canal P´eriode active

E

R

L’instant du r´eveil

Temporisation

Figure 5.2 – L’émetteur estime le moment du réveil du récepteur pour commencer à émettre le préambule.

Cette façon de synchroniser localement les nœuds augmente les risques de collision plus particulièrement lorsque plusieurs émetteurs veulent envoyer au même récepteur. Pour remédier à ce problème, WiseMAC utilise une technique de réservation du médium qui consiste à envoyer des préambules de longueurs aléatoires. Le nœud ayant le plus long préambule commence sa transmission en premier. Un nœud émetteur utilise également un bit « davantage » pour indiquer au récepteur, s’il est à 1, qu’il reste encore des trames en attente dans sa file d’attente.

´ Emission R´eception A A P P P P P P P

Paquet de donn´ees Court pr´eambule

P´eriode active Scrutation du canal

E

R1

R2

Figure 5.3 – Le préambule X-MAC contient l’adresse du récepteur concerné ce qui permet aux autres nœuds (exemple R1)de se rendormir. Il est acquitté par le récepteur ainsi, à la réception de celui-ci, la transmission peut directement commencer.

Dans B-MAC, les nœuds doivent attendre jusqu’à la fin de la transmission du préambule, ce qui fait consommer inutilement de l’énergie aux nœuds qui ne sont pas concernés par la transmission future. Dans le protocole X-MAC Buettner et al. (2006), au lieu d’envoyer un long préambule en entier, celui-ci est subdivisé en plusieurs courts préambules qui sont émis de façon séquentielle avec un intervalle permettant une réaction du destinataire de la trame. Ces préambules contiennent l’adresse du nœud destinataire, et lorsque ce dernier se reconnaît, il envoie un acquittement pour signifier à l’émetteur qu’il est réveillé et prêt à recevoir ses données. Lorsque l’émetteur reçoit

l’acquittement, il met un terme à l’émission des préambules. Par cette technique, les nœuds qui ne sont pas concernés par la transmission économisent plus d’énergie grâce à une période d’écoute plus courte des nœuds. D’un autre point de vue, cela réduit la latence puisque l’initiateur interrompt l’émission des préambules pour transmettre des données aussitôt qu’il reçoit l’acquittement du préambule. X-MAC permet aux nœuds de recevoir plusieurs trames de données dans la même période de réveil. À la fin de chaque réception d’une trame de données, le nœud reste actif pendant un temps égal à la valeur maximale du back-off afin de s’assurer qu’aucune autre trame ne lui est envoyée. Lorsqu’un nœud attend d’accéder au canal et qu’il reçoit un acquittement d’un récepteur mais pour un autre émetteur, ce nœud tire un back-off pour permettre à l’émetteur initial d’achever l’émission de sa trame de données, et, à l’expiration du back-off, il envoie directement à son tour sa trame sans préambule.

ContikiMAC Dunkels (2011) est une variante de X-MAC où les nœuds économisent

encore plus l’énergie en transmettant directement les données dans les paquets de préambules et s’arrêtent lorsqu’ils reçoivent l’acquittement du destinataire.

´

Emission R´eception

D´etection d’une transmission A

A

Scrutation du canal P´eriode active Trame des donn´ees

E

R

Figure 5.4 – ContikiMAC détecte la porteuse en appliquant deux CCA successifs et envoie des trames de taille suffisante.

Contrairement aux protocoles qui viennent d’être présentés où ce sont les nœuds souhaitant émettre les données qui envoient les préambules, dans le protocole RI- MAC Sun et al. (2008) ceux-ci écoutent le canal, et ce sont les récepteurs potentiels qui envoient périodiquement les balises de notification pour prévenir de leur disponibilité. Les nœuds qui veulent émettre, restent actif jusqu’à la réception de la balise et l’envoi des données. Le protocole RI-MAC réduit à la fois le problème de sur-écoute et les risques de collision.

Dans RI-MAC, l’accès au canal est contrôlé par le récepteur, ce qui permet de minimiser le problème de collision dû aux nœuds cachés. En effet, la balise envoyée par les récepteurs il existe un champ qui indique la taille de la fenêtre de contention. Ce champ permet au cas où il y a plusieurs nœuds qui veulent envoyer les données au même destinataire de tirer une valeur de back-off proportionnelle à la taille de la fenêtre. Si la valeur de ce champ est vide, les récepteurs peuvent directement envoyer

´ Emission R´eception B B B B B

Paquet de donn´ees P´eriode active

E

R

R´eveil de l’´emetteur

Envoi d’une balise au r´eveil du nœud candidat `a la r´eception

En l’absence de r´eceptions de donn´ees et apr`es avoir envoy´e la balise, le nœud se rendort D´ebut d’envoi des donn´ees

Figure 5.5 – Les nœuds se réveillent périodiquement pour écouter le canal s’ils ont les données à envoyer ou diffuser la balise pour informer leur voisinage de leur disponibilité. Si un nœud ne reçoit pas de données après avoir diffusé la balise, le nœud se rendort directement à l’expiration d’un délai d’attente.

´ Emission R´eception B B B B B B

Paquet de donn´ees `

A la fois balise et acquittement

P´eriode active E

R

D´elai d’attente

Figure 5.6 – La balise a un double rôle ; elle notifie les voisins des informations concernant le réveil et de l’activité du récepteur, et sert d’acquittement pour les données précédemment reçues.

leurs données. Dans le cas contraire, les nœuds tirent un back-off aléatoire dans l’intervalle de la fenêtre indiquée dans la balise. RI-MAC réduit considérablement, par rapport à la transmission du préambule B-MAC et X-MAC, la durée qu’une paire de nœuds occupent le canal avant de conclure un temps de rendez-vous pour échanger les données. Les nœuds en compétition peuvent échanger plus de données avec leurs récepteurs respectifs, ce qui contribue à l’augmentation des capacités du réseau, et par conséquent le débit potentiel.

Les protocoles à préambule permettent d’éviter le coût de la synchronisation mais leur contrainte principale est l’incertitude quant aux réveils simultanés des nœuds d’un même voisinage afin de pouvoir échanger les données. De plus, ces protocoles souffrent d’un problème de sur-débit ou « overhead », qui est la principale source de consommation d’énergie ; un nombre important de trames de contrôle est nécessaire avant de pouvoir conclure une transmission de données.

´ Emission R´eception B B B B B B B B B B B

Paquet de donn´ees

P´eriode active E1

E2 R

Cette balise contient la valeur de la fenˆetre de contention

D´etection d’une collision Back-off

Figure 5.7 – Le récepteur conclut qu’il y ait une collision lorsqu’il détecte l’activité sur le canal mais n’arrive pas à recevoir correctement le début de la trame c’est-à-dire le SFD. À la fin de l’activité, le récepteur diffuse une nouvelle balise contenant la valeur maximale de la fenêtre de contention.