• Aucun résultat trouvé

Chapitre 1 : Etat de l’art

1.7. Les couches basses des réseaux de capteurs sans fil

1.7.3. Couche MAC IEEE 802.15.4

1.7.3.1. L’accès au médium

Dans le mode suivi de beacon, l’entité responsable du partage du médium est le coordinateur du réseau. Tous les nœuds associés à ce coordinateur reçoivent en même temps le beacon. La structure de la supertrame (figure 8) est définie par un premier paramètre BI (Beacon Interval) qui donne l’intervalle de deux beacons consécutifs et le paramètre SD (Superframe Duration) qui indique la durée de la supertrame. Cette dernière est découpée en deux périodes : une période active et une période inactive.

La première période active est divisée en 16 slots de temps de durées égales. Elle est aussi découpée en deux parties, une période de contention CAP (Contention Access Period) où l’accès au médium est géré par l’algorithme CSMA/CA slotté. Durant cette période, les nœuds du réseau qui n’ont pas fini leur transmission doivent attendre le prochain cycle CAP de la prochaine supertrame. Cette période active est suivie par une seconde période active appelée CFP (Contention Free Period). Cette période est optionnelle et l’accès au médium est assuré par les slots de temps appelés GTS. Ces derniers sont alloués par le coordinateur à la demande des nœuds durant la période CAP. Lorsqu’un GTS est alloué à un nœud, il accède au médium sans entrer en compétition avec les autres nœuds.

La deuxième partie de la supertrame correspond à une période inactive où tous les nœuds se mettent en veille pour économiser l’énergie.

CSMA/CA slotté

La version slottée de l’algorithme CSMA/CA est utilisée pour la transmission des données durant la période CAP de la supertrame. L’unité de temps utilisé dans cet algorithme est la période de backoff dont la valeur est égale à 320 µs. Trois variables sont utilisées dans l’algorithme CSMA/CA :

34

 NB : représente le nombre de tentatives pour accéder au médium. Elle est initialisée à 0 avant chaque nouvelle transmission. Si NB dépasse la valeur de la constante macMaxCSMABackoffs (dont la valeur initiale est fixée à 4), l’accès au médium est considéré comme un échec.

CW : représente la durée en nombre de périodes de backoff du test du canal. Elle est initialisée à 2, et réinitialisée à cette valeur à chaque fois que le médium est trouvé occupé.

BE : représente l’exposant de la fenêtre de tirage du backoff. Cette variable permet de déterminer le nombre backoff qu’un nœud doit attendre avant de tenter d’accéder au médium.

La figure 9 résume les différentes étapes de l’algorithme CSMA/CA slotté. Ces étapes sont aussi résumées comme suit :

1. Initialisation des variables : l’initialisation des deux variables NB à 0 et CW à 2 se fait dans cette première étape. Un test est effectué sur une variable aléatoire BLE (Battery Life

Extention), si BLE est égale à vrai alors BE prends la valeur minimale entre 2 et macMinBE.

Sinon, BE prend la valeur de macMinBE (égale à 3 par défaut). Enfin, la couche MAC identifie les limites de la prochaine période backoff.

2. Attente : avant qu’un nœud accède au médium, il doit attendre un délai aléatoire. Ce dernier est chiffré en période de backoff et tiré au sort entre [0 : 2BE −1]. Si le nombre de backoff est supérieur au nombre de backoff disponible dans la période CAP, l’algorithme CSMA/CA décrémente le nombre de backoff jusqu’à la fin de la période CAP et reporte le nombre restant au prochain cycle.

3. Test du canal : la troisième étape de l’algorithme CSMA/CA est consacrée au test du canal avant la transmission. La couche MAC revendique les services de la couche physique pour sonder l’état du canal. Si le canal est occupé l’algorithme passe à l’étape 4, sinon, l’étape 5 est exécutée.

4. Canal occupé : Si la couche physique détecte que le médium est occupé, la variable CW est réinitialisée à 2 et les deux variables NB et BE sont incrémentées. NB ne doit pas dépasser la constante macMaxCSMABackoffs (égale à 4) et BE doit être inférieur ou égal à aMaxBE (égale à 5). Si NB est inférieur à macMaxCSMABackoffs, l’algorithme CSMA/CA doit retourner la seconde étape, sinon, la transmission est considérée comme un échec.

35

5. Canal libre : si la couche physique détecte que le canal est libre, la variable CW est décrémentée. Dans le cas où CW est égale à 0, alors la transmission peut s’effectuer avec succès. Sinon, l’algorithme retourne à l’étape 3.

36

CSMA/CA non slotté

Dans le mode non suivi de beacon, l’algorithme CSMA/CA non slotté est appliqué. Aucune synchronisation entre les nœuds n’est nécessaire et l’unité de temps utilisée reste le backoff. La transmission est effectuée dès que le canal est jugé libre sans une synchronisation avec le début d’un

backoff. Les étapes de l’algorithme CSMA/CA sont résumées à la fois dans la figure 10 et par les

étapes suivantes :

1. Initialisation des variables : la couche MAC initialise d’abord les variables NB à 0 et BE à 3.

2. Attente : cette étape consiste à tirer une variable aléatoire de période backoff entre [0 : 2BE-1] et attendre cette durée avant de tenter d’accéder au médium.

3. Test du canal : après expiration du délai aléatoire de l’étape précédente, la couche physique teste le canal. Si le médium est occupé, alors l’algorithme CSMA/CA passe à l’étape 4 sinon, il passe à l’étape 5.

4. Canal occupé : si le canal est considéré occupé, les variables NB et BE sont incrémentées sans que NB ne dépasse la valeur maximale de macMaxCSMABackoffs (égale à 4), et sans que la variable BE ne dépasse aMaxBE (égale à 5). Si la valeur de NB est inférieure ou égale à

macMaxCSMABackoffs, l’algorithme CSMA/CA retourne à la deuxième étape. Sinon, la

transmission est considérée comme perdue.

5. Canal libre : si le canal est considéré libre par la couche physique, la couche MAC accède au médium.

37

38

1.4. Les réseaux tolérants aux délais