Vous êtes sur la page 1sur 29

1.

Travaux connexes

1.1. RPL : protocole de routage pour les réseaux à faible consommation d'énergie et avec perte
RPL est un protocole de vecteur de distance pour les réseaux à faible puissance et avec perte [4]. À partir d'un routeur
frontière, RPL construit un graphe acyclique orienté vers la destination (DODAG) en utilisant une ou plusieurs métriques de
routage.
La construction DODAG est basée sur le rang d'un nœud, qui représente sa distance relative à la racine DODAG. Une
fonction objective définit comment une collection de métriques de routage doit être combinée pour calculer le classement. Afin
d'avoir une topologie sans boucle, le rang doit strictement augmenter de manière monotone de la racine vers les feuilles du
DODAG.
La construction et la maintenance du DODAG sont assurées par des messages DODAG Information Object (DIO) diffusés
périodiquement par tous les nœuds. Ces paquets contiennent des informations telles que l'identifiant DODAG, la fonction
objectif, le rang du nœud, les métriques utilisées pour le calcul du chemin, etc.
Lorsqu'un nœud reçoit un DIO, il insère l'émetteur dans la liste des successeurs possibles, c'est-à -dire les sauts suivants
vers le routeur frontière. Parmi tous les successeurs de cette liste, le nœud choisira son parent préféré et lui enverra tout son
trafic. Il calcule ensuite son propre rang avec la fonction objective et commence à diffuser lui-même des messages DIO. La
Fonction Objectif la plus simple – OF0 [13] – consiste à choisir le parent préféré comme celui annonçant le rang le plus bas.
Ensuite, le nœud ajoute un petit incrément au rang de son parent préféré pour calculer son propre rang tout en maximisant le
nombre de frères et sœurs.
La structure DODAG crée et maintient plusieurs routes vers le routeur frontière. Cependant, RPL n'utilise qu'un seul chemin
pour acheminer les paquets (via le parent préféré). Pavkovic et al. [14] RPL étendu à utiliser de manière opportuniste avec
IEEE 802.15.4-2006 : un nœud envoie un paquet de données au premier parent disponible, au lieu d'attendre que le parent
préféré soit disponible. Cependant, leur objectif est d'offrir une QoS pour les paquets sensibles au délai et non d'améliorer la
durée de vie du réseau.
Routeur frontalier Routeur frontalier

U9 Rang = 1 U9 Rang = 1
N N
2 1 2 1

Rang = 3 B8 C5 Rang = 2 Rang = 3 B 8 C5 Rang = 6

2
1
1.5 1.5
1.5 1.5
1 2
2 2

F7 Rang = 6 E7
Rang = 3 E7 3 Rang = 7
F7
3 g6
Rang = 3 g6
Rang = 4 Rang =11
Rang(x)= Rang(p)+ETX(x,p)
Routeur frontalier Rang(x)= Rang(p)+(MAXénergie-Xénergie)
U9
(a) ETX Rang = 1
N (b) É nergie résiduelle
2 1 Xk Nœud X avec énergie résiduelle k
Rang = 3 B8 C5 Rang = 2
Lien DODAG vers le parent
q
préféré avec ETX = q
1 q Liaison radio avec ETX = q Chaque nœud génère 1 paquet/sp - parent
1.5 1.5
2
préféré du nœud x
2
MAXénergie = 10 (J)
Rang = 4 E7
Rang = 5 F7 3
g6 (d) Légende
Rang = 4
Rang(x)= Rang(p)+ETX(x,p)

(c) ELT

Figure 1 : Construction DODAG utilisant diffé rentes mé triques de routage

1
Hong et al. [15] ont proposé de choisir le parent préféré en utilisant le nombre de sauts, puis de sélectionner comme nœud
de transfert le parent offrant la meilleure qualité de lien. Cependant, cela peut équivaloir à choisir le meilleur parent parmi les
pires disponibles. En outre, un ensemble de nœuds peut toujours transférer la majeure partie du trafic et manquera plus
rapidement d'énergie.

1.2. Routage sensible à l'énergie


Si nous visons à minimiser la consommation d'énergie moyenne, ETX peut prendre en compte la fiabilité de la liaison pour
ne construire que des routes économes en énergie [5]. Cependant, nous n'optimisons pas la durée de vie du réseau, car un petit
nombre de nœuds avec un ETX élevé et proches des routeurs frontaliers peuvent avoir à acheminer la majeure partie du trafic.
Considérons la topologie de la Fig. 1a où un DAG de routage est construit sur la base de la métrique ETX [16]. E peut choisir
B ou C comme saut suivant. C est le choix le plus précis, car il présente l'ETX cumulé le plus bas vers le routeur frontière.
Cependant, si tous les nœuds génèrent la même quantité de trafic, B doit être préféré pour équilibrer la consommation
d'énergie.
Chipara et al. ont proposé d'adapter dynamiquement la puissance d'émission des capteurs afin de réduire le délai de
communication en temps réel [17]. Les paquets qui n'ont pas d'échéance urgente sont transmis à une puissance inférieure,
pour réduire la consommation d'énergie. Cependant, même si cette solution est économe en énergie, elle ne maximise pas la
durée de vie du réseau.
Si nous nous concentrons sur l'optimisation de la durée de vie du réseau, nous devrions utiliser des nœuds avec une grande
énergie résiduelle. Par exemple, Yoo et al. ont proposé d'utiliser le taux d'épuisement de l'énergie résiduelle (REDR) [18] pour
éviter les nœuds surchargés. Le REDR est estimé par une moyenne mobile exponentielle du taux d'épuisement par seconde, de
l'énergie résiduelle, pendant un intervalle de temps. Le saut suivant est choisi comme nœud annonçant la plus petite somme
pondérée entre la valeur maximale du REDR et la somme du REDR sur le chemin. À notre avis, optimiser plutô t directement la
durée de vie de chaque nœud est une meilleure approche.
Chang et al. ont formulé le problème de routage comme un problème de programmation linéaire où l'objectif est de
maximiser la durée de vie du réseau [19]. Cependant, ils n'ont présenté qu'un algorithme centralisé pour router les paquets.
PWave, quant à lui, a adopté une analogie avec les champs de potentiel (similaire à une distance virtuelle) [20]. Le protocole
construit plusieurs routes et équilibre la charge proportionnellement à l'inverse du coû t cumulé du chemin. Les auteurs
considèrent qu'ils optimisent la consommation d'énergie si le protocole utilise l'énergie résiduelle comme métrique de routage.
Cependant, ils ne font que minimiser la somme : il faut plutô t s'occuper du nœud le plus chargé. En outre, ce concept de champ
potentiel est très similaire au rang de RPL.
Chang et al. combiné linéairement l'énergie résiduelle et l'ETX [21]. Cependant, ce poids n'est pas directement lié à la durée
de vie réelle d'un nœud. Kamgueu et al. ont proposé d'utiliser l'énergie résiduelle pour construire le RPL DAG [6]. Cependant,
ils ne prennent pas en compte la qualité de la liaison radio et donc, le budget énergétique pour une réception correcte. Par
conséquent, de mauvaises liaisons radio peuvent être utilisées, ce qui entraîne des routes inefficaces.
Examinons la topologie représentée sur la figure 1b où un DAG de routage est construit sur la base de l'énergie résiduelle.
Nous pouvons observer que G peut choisir F ou C comme saut suivant. Comme l'énergie résiduelle de F est plus grande, il le
choisira comme parent, même si la qualité de liaison correspondante est très faible (ETX=3). Cela conduira à l'épuisement
rapide de la batterie du nœud G. C serait un choix plus approprié. De plus, cela se traduira par une topologie plus équilibrée en
énergie, puisque B n'aura pas à relayer tout le trafic du réseau.
Comme on peut le voir, de nombreuses métriques de routage prenant en compte les contraintes énergétiques d'un WSN ont
été proposées dans la littérature. Cependant, à notre connaissance, aucun d'entre eux ne parvient à créer une topologie de
routage qui maximise la durée de vie du réseau de manière distribuée.
1.3. Routage multivoie
Le routage multi-chemins a été largement utilisé dans la littérature pour améliorer la tolérance aux pannes (fiabilité), pour
équilibrer la charge (évitement de la congestion) ou pour améliorer la qualité de service [10]. Les routes peuvent être soit des
nœuds, soit des liens disjoints. Puisque nous ne considérons ici que les économies d'énergie, nous nous concentrons sur le
premier cas. En outre, il a été prouvé que les chemins tressés (c'est-à -dire qui se chevauchent partiellement) réduisent les
coû ts de maintenance tout en équilibrant efficacement la charge [22].
Chen et al. ont été les premiers à appliquer le routage d'équilibrage d'énergie dans WSN [23]. Cependant, les auteurs ont
proposé de calculer les chemins optimaux de manière centralisée, en collectant toute la topologie radio à la station de base.
2
É tant donné que la topologie radio peut changer dynamiquement et que le temps système est important, cette approche peut
donner de mauvais résultats en pratique. Ming-hao et al. ont adopté le même objectif, mais ils ont construit de manière réactive
deux chemins par source [24]. Une fois le premier chemin découvert, la source essaie de trouver un autre chemin en utilisant
des nœuds n'interférant pas avec le chemin précédent. Cependant, ce schéma n'exploite pas le modèle de trafic convergecast.
Nous avons plutô t envisagé la construction proactive d'une structure de routage à équilibrage énergétique pour le
convergecast.
Kacimi et al. ont proposé une solution d'équilibrage de charge où ils ont formalisé l'optimisation de la durée de vie comme
un problème non linéaire avec des contraintes linéaires [25]. Même si leur méthode est définie pour le trafic convergecast, ils
supposent une qualité de liaison constante et uniforme, ce qui n'est pas vrai dans les déploiements réels.
Yahya et al. ont proposé de prendre en compte également la qualité de la liaison radio en utilisant la métrique REER [26]. Le
REER combine l'énergie résiduelle, la taille de la mémoire tampon et le rapport signal sur bruit (SNR) dans une fonction
pondérée pour obtenir une mesure d'efficacité énergétique. Cependant, cette combinaison suppose implicitement que la
consommation d'énergie dépend linéairement de ces facteurs : ce n'est pas le cas comme le souligne l'équation 5 plus loin.
Un routage opportuniste spécifique aux WSN a été présenté par Ghadimi et al. [27]. Sur la base du nombre de réveils
cycliques jusqu'à ce qu'un paquet ait atteint sa destination, chaque nœud sélectionne un certain nombre de transitaires
potentiels. Enfin, un nœud unique est sélectionné comme transitaire unique, à l'aide d'un algorithme de coordination.
Cependant, de tels algorithmes nécessitent généralement une modification de la couche MAC, ou au moins, une approche inter-
couches.
Nous pouvons voir que le routage multi-chemins a été utilisé auparavant pour l'équilibrage de charge. Nous proposons ici
de le combiner avec un algorithme de sélection de chemin sensible à l'énergie, afin d'améliorer la durée de vie du réseau, sans
utiliser de techniques inter-couches.

2. La durée de vie prévue

2.1. Énoncé du problème


A notre connaissance, aucune métrique ne parvient à créer une topologie de routage qui maximise la durée de vie d'un WSN
de manière distribuée. Nous avons besoin d'une métrique de routage qui tienne compte de la qualité des liens, tout en
équilibrant
Coordinateur
balise balise
É U U
Rx / mi
C
N C
N
Inactif
Sommssi K K
eil onPouvoir Période active Période inactive

balise
É balise
Rx / mi
Donn Donn
Inactif
Sommssi ées ées
eil onPouvoir
Noeud synchronisé avec le coordinateur

Légende:
Balise
Mode veilleAcquittement
Paquet de données en mode inactif

Figure 2 : Communication entre un nœud et son parent (c'est-à -dire un coordinateur) dans IEEE 802.15.4-2006

la consommation d'énergie pour tous les flux. Nous visons ici à construire des chemins pour que tous les nœuds partagent
équitablement la charge de trafic/énergie.
En bref, la métrique de routage doit satisfaire les propriétés suivantes :

3
1. il doit capter les variations de la qualité du lien ;

2. il doit maximiser la fiabilité de bout en bout en utilisant des itinéraires économes en énergie ;

3. il doit minimiser la consommation d'énergie des nœuds qui consomment le plus d'énergie.

Considérons les scénarios décrits à la Fig. 1, où le DODAG est construit à l'aide de RPL avec différentes métriques de
routage. Nous pouvons voir sur la figure 1c à quoi devrait ressembler une topologie de routage équilibrée en énergie. Un nœud
sélectionne son parent préféré afin qu'il maximise la durée de vie du plus grand nombre de nœuds de contrainte, sans devenir
lui-même le nouveau nœud de contrainte.

2.2. Hypothèses
Dans cet article, nous considérons la durée de vie du réseau comme le temps avant que le premier nœud ne manque
d'énergie, car c'est la définition la plus fréquente [6, 18, 25, 28]. De plus, un nœud doit choisir d'envoyer son trafic sur le
chemin le moins contraignant en énergie. Par conséquent, si un nœud manque d'énergie, il déconnectera très certainement le
réseau, sinon ses voisins ne l'auraient pas choisi comme parent.
Nous considérons un WSN avec un modèle de trafic périodique : tous les capteurs rapportent périodiquement leurs
mesures à un routeur frontière [29, 30, 31].
Nous considérons également que l'énergie consommée pour recevoir un paquet peut être négligée. En effet, dans IEEE
802.15.4-2006 par exemple, un nœud transmet des paquets de données à son parent avec un modèle de trafic convergecast
(Fig. 2). L'émetteur est capable d'éteindre sa radio pendant le backoff et le temps d'inactivité. Par conséquent, la quantité
d'énergie consommée par un émetteur est à peu près proportionnelle au nombre d'émissions. Au contraire, le coordinateur
(c'est-à -dire le receveur) doit rester éveillé pendant toute la période active. De plus, la puissance du chipset radio est souvent la
même, qu'un paquet soit reçu ou non (par exemple, Atmel AT86RF231). Par conséquent, un coordinateur ne dépense pas plus
d'énergie pour recevoir un paquet : il doit de toute façon rester éveillé (idle listening) pendant toute la période active.

2.3. Contribution
Dans cet article, nous présentons une métrique de routage qui vise à maximiser la durée de vie du réseau pour un schéma
de routage multi-chemins. De plus, par des décisions locales, mais dépendantes les unes des autres, cette métrique permet de
créer une topologie d'équilibre énergétique.
Nous proposons de profiter de la structure DODAG créée par RPL et d'équilibrer le trafic vers tous les parents, pas
seulement vers le préféré. Nous parvenons ainsi à résoudre les problèmes suivants :

1. Même si RPL crée un DODAG, pour le routage, il utilise une topologie arborescente, qui ne permet pas l'équilibrage de
charge.En effet, un nœud doit prendre une décision binaire : chacun de ses parents reçoit soit tout son trafic, soit aucun.
Le transfert du trafic vers plusieurs parents se traduit par un protocole de routage plus fiable et économe en énergie.

2. Estimer la qualité d'un lien radio consomme de l'énergie.Afin d'économiser de l'énergie, une technique de mesure passive
est préférable. Cependant, seule la qualité du lien vers les voisins avec lesquels un nœud échange des paquets de données
peut être estimée de manière passive. É tant donné que dans RPL, tout le trafic est envoyé au parent préféré, un nœud ne
peut qu'estimer la qualité de la liaison vers ce nœud. Cependant, en équilibrant le trafic vers tous les parents, un nœud
peut estimer en continu la qualité de tous ces liens.

3. Des changements fréquents de parent préféré peuvent induire une instabilité dans le réseau et consomment de l'énergie.En
effet, le changement de parent préféré déclenche la réinitialisation du temporisateur d'entretien, ce qui provoque une
transmission DIO plus fréquente. Plus il y a de paquets de contrô le envoyés, plus les nœuds consomment d'énergie. De
plus, des changements fréquents peuvent induire une instabilité dans le réseau, qui est exacerbée avec des topologies
plus grandes [32]. En utilisant tous les parents pour acheminer le trafic, le parent préféré ne peut être modifié que
lorsqu'il n'est plus utile, ce qui réduit les réinitialisations du minuteur d'entretien et la probabilité de créer des
instabilités.
Tableau 1 : Notation utilisé e dans l'article
Notation Sens

4
ELT(X) Duré e de vie pré vue de X (en secondes)
Erès(X) Energie ré siduelle de X (en Joules)
PTX(X) Puissance radio en mode émission
(en Watts ou Joules/s)
ETX(A,B) ETX du lien A → B
JX Dé bit de X (en bits/s)
αP Ratio du trafic envoyé au parent P
γ utilisé pour le calcul de αP
rX,B Rapport du trafic transmis par X au goulot
d'é tranglement B
Tgén(X) Trafic géné ré par X (en bits/s)
Enfants(X) Ensemble enfants du nœud X
Parent(X) Ensemble parents du nœud X
Goulots Ensemble de goulots d'é tranglement du nœud X
d'étranglement(X)
DÉBIT DE Le dé bit auquel les donné es sont envoyé es (bits/s) ;
DONNÉES Tous les nœuds transmettent au même dé bit
2.4. Le Liftetime attendu (ELT) d'un nœud
Nous proposons ici la métrique de durée de vie attendue (ELT). Au lieu de minimiser la somme d'énergie, ou de ne
considérer que l'énergie résiduelle, ELT vise à maximiser directement la durée de vie des nœuds les plus contraints, appelés
goulots d'étranglement.
L'ELT estime la durée de vie attendue, c'est-à -dire le temps avant qu'un nœud meure s'il continue à transmettre la même
quantité de trafic. L'ELT aide à quantifier l'impact d'une décision de routage sur les goulots d'étranglement.
Pour calculer son ELT, un nœud N (cf. notation dans le tableau 1) :

1. estime le trafic total qu'il doit transmettre en tenant compte à la fois du trafic qu'il génère et du trafic entrant de ses
enfants (c'est-à -dire la charge de la couche 3). En calculant le débit d'un nœud en bits/s, nous comptabilisons
implicitement des paquets de tailles différentes :

TN= Tgén(N) + XTi (1)


je∈Enfants(N)

2. multiplie le trafic à transmettre (TN) par le nombre moyen de retransmissions, donné par :

• la fiabilité du lien à chacun de ses parents, c'est-à -dire ETX(N,P), où P ∈ Parents(N) ;


• le ratio de trafic envoyé à chacun de ses parents (αP).

Cela représente le nombre moyen de transmissions MAC :

X
TN× αP× ETX(N,P) (2)
P∈Parents(N)

P
où αP= 1.
P∈Parents(N)

3. calcule le ratio de temps pendant lequel il utilise le support pour ses transmissions, en tenant compte du débit auquel les
données sont envoyées :

(3)

5
DÉBIT DE DONNÉES

4. calcule l'énergie dépensée pour transmettre tout le trafic en multipliant le rapport du temps pendant lequel il utilise le
support, avec la puissance d'émission de sa radio :

PTX(N) (4)
DÉ BIT DE DONNÉ ES

5. enfin, N calcule sa durée de vie restante comme le rapport entre son énergie résiduelle, et l'énergie dépensée pour
recevoir et transmettre son trafic :

Erès(N)
ELT(N) = P (5)
N,P

TN× LES DONNÉ ES( )FRÉ QUENCE × PTX(N)

Une fois que nous savons comment calculer la durée de vie attendue d'un nœud, nous devons maintenant :

1. trouver les nœuds qui seront les premiers à manquer d'énergie (c'est-à -dire les goulots d'étranglement) et les annoncer
le long des chemins (section 4) ;

2. construire une topologie équilibrée en énergie à l'aide de plusieurs parents (section 5);

3. équilibrer le trafic vers tous les parents, tout en tenant compte de la durée de vie de chaque goulot d'étranglement
(Section 6).

3. ELT pour un chemin : calcul et publicité avec RPL

Puisque nous visons à maximiser la durée de vie du réseau, nous devons nous concentrer sur les goulots d'étranglement,
c'est-à -dire les nœuds qui sont les plus susceptibles d'être les premiers à manquer d'énergie. Ainsi, le poids d'un chemin est
l'ELT minimum entre tous les nœuds traversés. Par exemple, sur la figure 3, le goulot d'étranglement du chemin G-D-B-A est le
nœud B : il a l'ELT minimum du chemin. Pour choisir le chemin annonçant la durée de vie
U1(80) maximale, un nœud doit :
N
1. estimer son propre impact sur l'ELT des goulots d'étranglement d'un chemin ;
C2(30)
2. B2(30) envoyer les informations sur le goulot d'étranglement le long du chemin
1 /4 dans Xk (e) les paquets de contrô le (c'est-à -dire les DIO) de manière compacte.
Nœud X de rang k et ELT e
3/4 E3(50)
Goulot d'étranglement du chemin
ré3(80) r
Redirection de lien DODAG r
1/3 2/3
partie du trafic du nœud
(si r=1, il n'apparaît pas)
F4(50)
1/2 Chaque nœud génère 1 paquet/s
1/2
g 5(50)

Figure 3 : DODAG utilisant multipath avec ELT : ré partition des charges

6
3.1. Calcul de chemin
Considérons qu'un nœud N doit s'associer au DODAG. Nous allons maintenant décrire comment un nœud N estime l'impact
de son trafic sur la durée de vie d'un goulot d'étranglement.
Si nous regardons l'équation 5, nous pouvons remarquer que seul le débit (TN) dépend du trafic injecté par le nouveau
nœud. Par conséquent, afin d'estimer comment N influence la durée de vie du goulot d'étranglement, nous ajoutons
simplement le trafic de N au débit actuel du goulot d'étranglement. Si B est le goulot d'étranglement, alors :

nouveau TB= TN + TB (6)

Cependant, dans un scénario multi-chemins, nous devons tenir compte du fait qu'un nœud envoie son trafic à plusieurs
parents. Par conséquent, seule une partie de son trafic arrivera finalement à un goulot d'étranglement spécifique. Nous devons
déterminer le rapport du trafic qu'un nœud transmet à un goulot d'étranglement.
Soit rN,B le rapport du trafic que N transmet au goulot d'étranglement B. É tant donné un parent P, N calcule le rapport du
trafic qui atteindra B à P comme le produit de la proportion de trafic qu'il envoie à P (αP) et le rapport du trafic que P transmet
au goulot d'étranglement B (rP,B). Ensuite, il additionnera sur tous ses parents ces valeurs. Plus formellement:

rN,B= X (αP× rP,B) (7)


P∈Parents(N)

Dans le cas où un nœud est lui-même le goulot d'étranglement, le rapport du trafic qu'il achemine vers le goulot
d'étranglement est égal à 1 (c'est-à -dire rB,B = 1).
Prenons un exemple. Considérez le nœud G et ses parents D et F dans la Fig. 3. 3/4 du trafic de D est transmis via le goulot
d'étranglement B. C'est également le cas de 1/3 × 3/4 des paquets de F. Enfin, la quantité réelle de trafic de G qui atteint B est :
1/2 × 3/4 + 1/2 × 1/3 × 3/4.
Ainsi, chaque nœud calcule de manière récursive le ratio de trafic transmis à un goulot d'étranglement en sommant sur tous
les parents le ratio de trafic qui lui est transmis. Par conséquent, le nouveau débit du goulot d'étranglement B peut être estimé
comme suit :

nouveau TB= rN,B × TN + TB (8)

Connaissant cette information, un nœud N peut maintenant estimer son impact sur la durée de vie de B :

(9)
nouveau TB×P ∈Parents(B)DÉ BIT DE DONNÉ ES

3.2. Publicité DIO compacte


Un nœud maintient une liste de tous ses goulots d'étranglement. Ces informations doivent être mises à jour et incluses dans
chacune de ses DIO. Par conséquent, nous sommes en mesure de déterminer des chemins qui se chevauchent partiellement :
plusieurs parents peuvent conduire au même goulot d'étranglement.
Cependant, le simple fait d'envoyer toutes les informations nécessaires pour calculer l'ELT d'un seul goulot d'étranglement
peut coû ter cher en énergie. Nous devons trouver une méthode compacte pour le stocker dans les DIO.

3.2.1. Emballage compact


On peut adopter le même raisonnement que pour l'équation 6. La seule composante qui dépend du trafic ajouté par un
nouveau nœud est le débit. Par conséquent, tous les autres éléments peuvent être compressés en une seule constante, appelée
constante B.
En conséquence, un DIO contiendra une liste de goulots d'étranglement avec les informations suivantes pour chacun d'eux :

• identifiant:l'identifiant du goulot d'étranglement : adresse IPv6 (16 octets), adresse 6LowPAN (4 octets) ou adresse
courte IEEE 802.15.4 (2 octets) ;
7
• rapport:la valeur normalisée du rapport du trafic acheminé par le nœud vers ce goulot d'étranglement, qui est calculée
récursivement par chaque nœud : rN,B (1 octet). Nous avons utilisé un nombre entier d'octets en raison de sa simplicité
de mise en œuvre ;

• trafic existant :le trafic acheminé par le goulot d'étranglement vers le puits (normalisé) : To (1 octet) ;

• B const :la valeur normalisée de la constante de goulot d'étranglement (2 octets) calculée comme suit :

Routeur frontalier
(dix)
DÉ BIT DE DONNÉ ES
Légende:
B1 B2 B3 Nœud de capteur
Goulot
1/2 1/2 4/5 1/5
Chemin
P1 P2 Lien vers X le parent envoyant x de son trafic
1/2 1/2

N
Figure 4 : Nombre de goulots d'é tranglement

Cette constante, exprimée en secondes, peut avoir une plage très large (de quelques minutes à quelques années). Ainsi,
nous avons choisi d'utiliser une notation scientifique : la précision est par conséquent relative. En particulier, nous
sommes en mesure de commander une durée de vie de 1 heure et 1 jour, tout en considérant égaux 1 jour et 1,01 jour.

Pratiquement, un compromis existe entre la précision de l'information et le surcoû t induit. D'un cô té, si un nœud annonce
trop peu de goulots d'étranglement, le manque d'informations pourrait conduire à des chemins moins équilibrés en énergie.
Par exemple, sur la figure 4, si P1 annonce uniquement B1 comme un goulot d'étranglement, et P2 uniquement B3, N pourrait
finir par réduire considérablement la durée de vie du goulot d'étranglement B2. D'un autre cô té, si le nombre de goulots
d'étranglement annoncés est très important, cela peut induire plus de surcharge dans le réseau et faire consommer plus
d'énergie aux nœuds.
Nous étudierons ce compromis dans la partie évaluation des performances. Nous avons vérifié que la publicité d'un nombre
limité de goulots d'étranglement est suffisante pour équilibrer pratiquement la consommation d'énergie dans le réseau.

3.2.2. Analyse du pire cas


Analysons maintenant le nombre maximum de goulots d'étranglement que peut avoir un nœud N. Cela se produira lorsque
tous les goulots d'étranglement sont indépendants les uns des autres, c'est-à -dire qu'ils ne sont pas partagés par un ou
plusieurs nœuds. Le nombre maximum de goulots d'étranglement sera atteint lorsque :

• tous les goulots d'étranglement sont situés à un saut du routeur frontière et sont distincts les uns des autres (c'est-à -dire
les plus éloignés possible des nœuds) ;

• tous les nœuds (sauf les goulots d'étranglement) ont le nombre maximum de parents k, et tous les parents sont distincts
les uns des autres. Cette condition oblige un nœud à annoncer tous les goulots d'étranglement de tous les parents comme
ses propres goulots d'étranglement.

8
Figure 5 : Nombre maximal de goulots d'é tranglement

Si k = 3, la topologie créée suivant ces conditions correspond à ce que l'on peut voir sur la Fig. 5a. Maintenant, si nous
éliminons le routeur frontière de la figure, nous pouvons remarquer que nous avons un arbre k-aire parfait (Figure 5b, avec k =
3). Le problème de trouver le nombre maximum de goulots d'étranglement équivaut à calculer le nombre total de feuilles dans
cet arbre. Si k représente le nombre d'enfants d'un nœud et depth la profondeur de l'arbre, alors le nombre total de feuilles est
égal à kdepth. Si nous revenons à notre topologie (c'est-à -dire que nous ajoutons un autre niveau lorsque nous remettons le
routeur frontière), le nombre total de goulots d'étranglement sera de kdepth-1.
En conclusion, le nombre maximal de goulots d'étranglement qu'un nœud N peut avoir est le nombre maximal de parents
qu'un nœud a dans le réseau à la puissance

profondeur− 1, soit : .
Cependant, étant donné que dans la plupart des cas, les goulots d'étranglement seront partagés entre un ou plusieurs
nœuds, ce scénario se produira rarement dans les topologies réelles.

4. Construction DODAG en RPL avec multiparents utiles

Nous définissons maintenant comment un nœud peut choisir son parent préféré et comment construire une topologie sans
boucle en utilisant la métrique ELT.

4.1. Sélection des parents préférés


Lors du choix de son parent préféré, un nœud doit tenir compte à la fois de sa propre durée de vie et de la durée de vie des
goulots d'étranglement, afin d'estimer lequel d'entre eux devient le nouveau goulot d'étranglement. Cependant, il n'est pas
possible de connaître le ratio de trafic qui sera envoyé à chacun des parents avant de les choisir effectivement. Par conséquent,
il est difficile d'estimer avec précision à la fois la durée de vie du nœud et la durée de vie des goulots d'étranglement.
Afin d'équilibrer plus efficacement la consommation d'énergie, nous considérons le pire des cas, c'est-à -dire qu'un nœud
envoie tout son trafic à un seul parent. Par conséquent, lors de la sélection des parents préférés, nous sous-estimons la durée
de vie du plus Algorithme 1 : Sélection des parents préférés
Données:N
Résultat: parent pré fé ré de N

9
1 maximelt ← 0;
2 pourP
um ∈ Parents ( N ) fair
// tout le trafic esteenvoyé à P
3 α P ← 1;

// suivre l'ELT minimum (tous les goulots d'étranglement et moi-même)


4 min elt ← min { ELT ( B ) } ;
B ∈Goulots (P )
5 min elt ← mind'étranglement
{ min ELT, ELT ( N ) } ;

// est-ce que ce parent est le meilleur ?


6 si maximelt<min elt ensuite
7 um maximelt ← min elt ;
8 préféré
um parent ← P ;
9 finir

// testez maintenant les autres parents


dix α P ← 0;
11 finir
12 revenir préféré parent;

les goulots d'étranglement des contraintes. De cette manière, nous choisissons comme parent préféré le nœud maximisant la
durée de vie de tous les goulots d'étranglement.
Nous proposons par conséquent l'Algorithme 1 pour sélectionner le parent préféré (en utilisant la notation du Tableau 1).
Pour chaque parent possible (c'est-à -dire un voisin annonçant un rang inférieur à lui-même) un nœud N :

1. calcule l'ELT de tous les goulots d'étranglement annoncés par un parent P, comme s'il envoyait tout son trafic à ce parent
et enregistrait la valeur ELT minimale parmi tous (ligne 4) ;

2. calcule sa propre durée de vie lors du choix de ce parent, et vérifie si N devient le nouveau goulot d'étranglement (ligne
5) ;

3. supprime le trafic vers ce parent pour tester les autres : il va tester itérativement tous les parents avant de prendre une
décision (ligne 10) ;

4. choisit comme parent préféré le nœud qui maximise la durée de vie du goulot d'étranglement avec l'ELT minimum, lui-
même inclus (lignes 6, 7, 8).

Au début de la simulation, un nœud ne connaît pas la qualité de la liaison avec ses voisins. Pour éviter de choisir comme
parent préféré l'expéditeur du premier DIO reçu, un noeud attend un certain temps, pour pouvoir recevoir plusieurs DIO avant
de prendre une décision. Pendant cette période, le nœud ajoute dans son ensemble parent tous les émetteurs DIO. Au bout d'un
certain temps, il déclenche la sélection du parent préféré à l'aide de l'algorithme présenté ci-dessus.
4.2. Liberté de boucle
Sobrinho [33] a prouvé que pour qu'un protocole à vecteur de distance comme RPL soit sans boucle, la métrique de routage
doit être strictement monotone. La monotonie stricte implique que le poids du chemin ne diminue pas lorsqu'il est préfixé ou
ajouté par un autre chemin.
Dans notre cas, le poids d'un chemin représente l'ELT minimum sur ce chemin, c'est-à -dire l'ELT du goulot d'étranglement.
Soit le chemin p préfixé par le chemin q. L'ELT du trajet p peut :
1. rester stable si p continue à présenter l'ELT la plus basse ;
2. être inférieur à l'ELT de p si l'ELT de q est inférieur ou égal à celui de p.
En d'autres termes, l'ELT n'est pas strictement monotone et est susceptible de créer des boucles.
De plus, RPL précise que pour obtenir un DODAG sans boucle, le rang des nœuds doit être strictement monotone croissant
du routeur frontière vers les feuilles. Cependant, son calcul exact est laissé à la fonction objectif. Pour exploiter pleinement la

10
flexibilité du RPL, nous proposons ici de séparer la métrique que nous utilisons pour construire le DODAG, de la métrique
utilisée pour calculer le rang.
En conséquence, nous proposons qu'un nœud calcule son rang en ajoutant une valeur de pas (augmentation du rang) au
rang de son parent préféré. Cette valeur est dérivée de l'ETX du lien vers son parent préféré :
Rang(N) = Rang(P) + Augmentation de rang
(11)
Augmentation de rang= ETX(N,P) × MinHopRankIncrease où P est le parent préféré de N et MinHopRankIncrease le
paramètre RPL [4].
Nous avons choisi d'utiliser ETX et non une simple métrique comme le nombre de sauts, afin d'augmenter le nombre de
parents qu'un nœud peut avoir. Avec le nombre de sauts, le rang augmente de manière linéaire, ce qui réduit le nombre de
voisins pouvant être utilisés comme parents alternatifs.
Clairement, une telle métrique est monotone, garantissant une absence de boucle. Le poids du chemin est l'ETX cumulé sur
ce chemin. Lorsqu'il est préfixé ou ajouté à un autre chemin, son poids ne peut pas diminuer.
RPL interdit à un nœud de considérer comme saut suivant un voisin de rang supérieur à lui-même [4]. Afin de conserver
l'absence de boucle, un nœud :
1. choisit son parent préféré en utilisant l'algorithme 1 ;
2. calcule son propre rang en fonction du rang de son parent préféré ;
3. supprime de l'ensemble des parents tous les voisins ayant un rang supérieur à lui-même ;

Routeur 4. agrège les goulots d'étranglement, et met à jour les informations


frontalier correspondantes dans ses DIO ;
5. ignore tous les DIO des nœuds annonçant un rang supérieur à lui-
B2 B3 même, afin d'éviter la création de boucles.
Légende:

B
B1 4 Nœud de capteur
P1 P2

M
? Goulot
N rang = k+1
rang = k Chemin
Lien vers les parents

ELT(B4) >> ELT(B1,2,3)

Figure 6 : Dé couvrir de nouveaux chemins

4.3. Maintenance des chemins et découverte de meilleurs goulots d'étranglement


Comme nous l'avons vu, pour la construction de la topologie, nous utilisons à la fois ELT (pour éviter les nœuds les plus
contraints du réseau) et ETX (pour garantir l'absence de boucle). Une question importante se pose : que se passe-t-il s'il existe
un chemin annonçant un ELT plus élevé, mais que le nœud ne recevra pas cette information, puisque le voisin l'annonçant a un
rang plus élevé ?
Par exemple, sur la figure 6, le nœud M annonce le goulot d'étranglement B4 avec une durée de vie supérieure à tous les
autres goulots d'étranglement. Cependant, puisque Rang(M) > Rang(N), N ne trouvera jamais ce chemin, même si M n'est pas
situé dans son sous-DODAG.
11
Nous proposons ici de permettre à un nœud de considérer une DIO annonçant un rang plus grand que lui-même, à
condition de maintenir une topologie sans boucle. Cependant, nous devons introduire certaines conditions pour interdire un
tel attachement si M est dans le sous-DODAG de N.
Supposons que M annonce un goulot d'étranglement B. Si B n'est pas l'un des goulots d'étranglement de N, cela signifie que
les sous-DODAG sont au moins partiellement disjoints : un autre chemin existe à travers le goulot d'étranglement B.
Ainsi, un nœud N considère M avec Rang(M) ≥ Rang(N) comme parent préféré s'il satisfait les conditions suivantes :

1. les goulots d'étranglement annoncés par M ne sont pas aussi des goulots d'étranglement de N :

Goulots d'étranglement(M) * Goulots d'étranglement (N)

2. Mannonce au moins un goulot d'étranglement Bnew ∈ Bottlenecks(M) dont la durée de vie est supérieure à l'ELT
maximum de tous les goulots d'étranglement de N :

ELT(Bnouveau) > maximum {ELT(B)} (12)


B∈goulots d'étranglement(N)

De plus, nous devons nous assurer que l'ELT de Bnew ne deviendra pas plus petit que l'ELT maximum de tous les goulots
d'étranglement de N une fois que le trafic de N sera envoyé à M. L'équation (12) devient :

ELT(Bnouveau) > maximum {ELT(B)|rN,B = 0} (13)


B∈goulots d'étranglement(N)

où rN,B représente le rapport du trafic acheminé par N au goulot d'étranglement B (cf. équation 7).

Ces conditions permettent à un nœud de considérer un DIO à partir d'un voisin situé plus profondément dans le DODAG, et
donc de trouver de meilleurs chemins, tout en maintenant la liberté de boucle de la topologie.

5. Équilibrage énergétique

Après avoir construit le DODAG avec multiparent utile, nous devons maintenant aborder le problème du plan de
transmission. Un nœud doit répartir son trafic entre tous les parents disponibles, tout en tenant compte de la durée de vie de
chaque goulot d'étranglement. Nous devons proposer une heuristique pour déterminer les poids associés à chaque parent afin
que tous les chemins aient la même durée de vie.
Chaque nœud sélectionne localement son ensemble de parents, mais se concentre sur la maximisation de la durée de vie
minimale de tous les goulots d'étranglement. Ces goulots d'étranglement sont souvent les voisins à un saut du puits en raison
de l'effet d'entonnoir bien connu [34]. De plus, il répartit son trafic entre tous les goulots d'étranglement pour limiter son
impact sur leur durée de vie. Ainsi, en appliquant une règle locale, on atteint un objectif global qui consiste à maximiser la
durée de vie du réseau (ie maximiser l'ELT minimum parmi tous les goulots d'étranglement).
La première solution consisterait à modéliser le problème avec des inégalités linéaires :

• les poids de tous les parents représentent l'ensemble des variables inconnues ;

• le nœud doit calculer la durée de vie de chaque goulot d'étranglement en tenant compte de son propre trafic ;

• la solution optimale consisterait à maximiser la durée de vie minimale de tous les goulots d'étranglement.
Cette formulation linéaire peut aussi être injectée dans un solveur linéaire [35]. Cependant, nous considérons que la mémoire
supplémentaire et le processeur consommés par cette solution sont insuffisants pour les petits nœuds de capteurs.
Nous présentons donc ici une heuristique gloutonne. Un nœud N doit répartir la charge sur chaque parent afin qu'il
équilibre la durée de vie attendue des goulots d'étranglement correspondants. Par conséquent, un nœud divise son trafic en

12
fractions égales, et attribue séquentiellement chaque fraction au parent qui maximise la durée de vie minimale parmi tous ses
goulots d'étranglement.
L'algorithme 2 définit plus formellement l'heuristique :
Algorithme 2 :L'équilibrage de charge
Données: N, γ - le pas d'augmentation de la charge
}
Résultat: calculer {αP P∈Parents(N) — le ratio de trafic à envoyer à chaque parent ;
1pourje= 1 à γ−1 faire
2 maximelt ← 0;
3 pourP ∈ Parents ( N ) fair
um
// tester ce parent eP avec son nouveau poids
4 αP ← αP + γ ;

// suivre l'ELT min avec ce nouveau poids


5 min elt ← min { ELT ( B ) } ;
B ∈Goulots (P )
6 min elt ← mind'étranglement
{ min ELT, ELT ( N ) } ;

// est-ce que ce parent est le meilleur ?


7 si maximelt<min elt ensuite
8 um maximelt ← min elt ;
9 parent
um maxim← P ;
dix finir um

// tester chaque parent avant de prendre une décision


11 αP ← αP − γ ;
12 finir
13 α parent maxim ← α parent maxim + γ;
14 finir um um

1. Tout d'abord, N essaie de trouver le meilleur parent pour envoyer γ de son trafic en testant itérativement chaque parent
(ligne 3) :

a) Il calcule l'ELT minimum qui serait obtenu en augmentant le poids de ce parent de γ (ligne 4). Il considère la durée de
vie de chaque goulot d'étranglement (ligne 5) et de la sienne (ligne 6) ;
b) Si cette valeur minimale maximise la durée de vie du réseau, il enregistre le parent actuel comme le meilleur (ligne 7-
10) ;
c) Nsupprime l'hypothétique γ du ratio de trafic à envoyer à ce parent (αP), afin de tester les autres parents avant de
fixer définitivement le nouveau poids (ligne 11) ;

2. Enfin, N attribue γ du trafic total au meilleur parent (ligne 13) et recommence avec le γ suivant (ligne 1).

Il est évident que plus γ est petit, plus la solution sera proche de l'optimum. Pour aider à accomplir cela, nous posons la
condition pour que γ soit plus petit que l'inverse du nombre maximum de parents. En effet, si l'on reprend l'exemple de la Fig.
4. N a deux parents : P1 et P2. La charge de trafic associée à chacun des parents est . Si γ était supérieur à l'inverse du nombre
maximal de parents (c'est-à -dire ), une répartition optimale des poids serait tout simplement impossible.
5.1. Complexité
Pour chaque parent, l'algorithme recherche le goulot d'étranglement ayant le plus petit ELT. Puisque la valeur minimale
dans une liste peut être trouvée dans O(n) et que cette valeur doit être recherchée pour chaque parent, la complexité de
l'algorithme glouton est O(n ∗ n) = O(n2).
Certaines optimisations sont possibles dans l'implémentation. En particulier, pour i > 1, un nœud doit recalculer l'ELT
minimum (lignes 4-11) uniquement pour le parent qui était le meilleur à l'itération précédente (i − 1). En effet, le poids
éventuel de tous les autres parents a déjà été considéré dans l'itération précédente.
En conclusion, un nœud doit exécuter le nombre suivant de calculs et de comparaisons ELT :

13
nb goulots d'étranglement∗ nb parents + nb goulots d'étranglement ∗ (γ−1 − 1)(14)

où nb parents désigne le nombre de parents et nb goulots d'étranglement le nombre maximum de goulots d'étranglement à
annoncer. Cette complexité temporelle est très raisonnable (avec par exemple 4 parents et 8 goulots d'étranglement).

5.2. Exactitude : (1 + γ) - approximation


Comme dit précédemment, plus γ est petit, plus la solution sera proche de l'optimale. Cependant, il peut y avoir des cas où
les valeurs optimales pour les poids des parents ne sont pas trouvées.
Considérons encore l'exemple de la Fig. 4. P2 doit envoyer de son trafic vers
B2et . Prenons , la valeur maximale autorisée (on pose la condition que γ soit inférieur à l'inverse du nombre
maximal de parents). L'algorithme 2 allouera d'abord de son trafic vers le parent B2. Ensuite, le choix optimal serait d'allouer
un autre de son trafic vers B2 et le reste de . Cependant, il allouera le dernier γ de son trafic ( , donc sous-
optimale. En effet, 100% du trafic sera redirigé vers B2 et 0% vers B3.

Théorème 1.L'algorithme glouton présenté est unapproximation 1 + γ.


Donnons une explication intuitive. La preuve complète se trouve dans l'annexe A.
Prenons d'abord le cas particulier où un seul nœud du réseau (N) a des paquets à envoyer. L'algorithme glouton fait le choix
qui semble optimal à chaque étape, c'est-à -dire lorsque chaque γ est distribué. Puisque γ est une constante, cela signifie que
l'algorithme pourrait avoir un problème pour distribuer le dernier γ du trafic.
Supposons que le dernier γ du trafic soit envoyé par N au parent P1, ce qui n'est pas optimal. Si nous nous concentrons sur
le goulet d'étranglement le plus contraignant (par exemple, B1), nous pouvons distinguer deux cas :

1. P1est le seul parent du trafic de transfert N vers le goulot d'étranglement B1 (Fig. 7a). B1 sera surchargé avec tout le
trafic supplémentaire de N. L'algorithme est donc une approximation (1 + γ).
Routeur Routeur
frontalier frontalier

B1 B2 B1 B2

P2 P2

P1 N P3 P1 N P3

(un) (b)

Légende: Nœud de capteur

Chemin
Goulot d'étranglementLien vers le parent

Figure 7 : Exactitude

2. Tout le trafic de P1 plus une partie du trafic d'autres parents (par exemple, P2) est transmis au goulot d'étranglement B1
(Fig. 7b). Cela signifie que B1 sera surchargé avec le trafic envoyé depuis P1. Dans le même temps, moins de trafic que
l'optimal est envoyé sur les autres parents, et donc, B1 sera moins chargé avec ce trafic correspondant.

En conclusion, le goulot d'étranglement B1 sera surchargé avec au plus γ du trafic de N, donc l'algorithme est une (1 + γ) -
approximation.
14
Le raisonnement est également valable lorsqu'il y a plus d'un seul nœud transmettant dans le réseau. Si chaque nœud est à
(1 + γ) de l'optimal, globalement il sera également à (1 + γ) de l'optimal.

5.3. Maintenir la stabilité


Des changements fréquents de parents préférés peuvent induire une instabilité dans le réseau. Certains diront que ces
instabilités sont bénéfiques car elles montrent que le réseau s'adapte aux changements. Cependant, les reconfigurations
DODAG ont un fort impact sur les performances du réseau, en particulier sur le taux de livraison de paquets de bout en bout et
sur la consommation d'énergie [32]. Nous traitons ce problème comme suit :

1. nous ne changeons le parent préféré que lorsqu'il n'est plus utile ;

2. on redirige progressivement le trafic d'un parent vers les autres lors du recalcul des charges.

5.3.1. Changer le parent préféré


Lorsqu'un nœud change de parent préféré, il déclenche la réinitialisation du temporisateur d'entretien. Cela signifie que le
nœud envoie des paquets de contrô le plus fréquemment et consomme donc plus d'énergie. En outre, les changements de
parent impliquent également la redirection du trafic. Comme la métrique dépend du trafic acheminé par les goulots
d'étranglement, tous les nœuds doivent dans ce cas mettre à jour leur métrique de chemin.
Nous changeons la signification conventionnelle du parent préféré (c'est-à -dire, le parent offrant le meilleur chemin vers le
routeur frontière) en un parent qu'un nœud utilise pour calculer son rang, sans nécessairement être le meilleur. Nous visons ici
à réduire le nombre de changements de parents préférés tout en gardant à jour les informations sur tous les parents.
Nous proposons d'adopter une approche conservatrice dans le maintien de la liste des parents :

1. un nœud ne supprime un parent P que si ce parent n'est plus utile, c'est-à -dire que le trafic réellement acheminé vers P
(αP) est inférieur à une valeur seuil. Si P était le parent préféré, le nœud ré-exécute l'algorithme 1 pour sélectionner le
nouveau parent préféré et met à jour son rang en conséquence ;

2. tout voisin de rang inférieur est inséré dans la liste des parents. Le nœud N met à jour dynamiquement le poids de tous
ses parents (αi, i ∈ Parents(N)) à chaque fois qu'un nouveau DIO est reçu.

5.3.2. Rediriger le trafic


Une petite variation dans l'estimation de la qualité de la liaison est suffisante pour changer le parent préféré (maximum
local parmi les voisins). É tant donné que l'estimation inexacte de la qualité de la liaison radio a un impact significatif sur la
stabilité du RPL [32], nous devons également prendre en compte les petites imprécisions transitoires.
Nous proposons ici de rediriger progressivement le trafic lors du recalcul des poids pour chaque parent, au lieu de
remplacer complètement les anciennes valeurs par les nouvelles calculées. Nous fixons une valeur maximale pour
l'augmentation/diminution du poids des parents entre deux estimations. Nous laissons le réseau s'adapter progressivement à
ce changement, tout en évitant les redirections brutales dues aux variations de métrique. Nous proposons l'algorithme 3 pour
recalculer les poids parents :

1. Pour chaque parent P, un nœud N calcule la différence entre l'ancien poids et le nouveau (ligne 2) ;

2. Najoute à l'ancien poids (ancien αP) la valeur normalisée de la différence calculée à l'étape précédente (diffP) (ligne 5).

Cet algorithme redirige progressivement le trafic, réduisant ainsi les oscillations inutiles dans le réseau et économisant de
l'énergie.

5.4. Multipath pour améliorer la fiabilité


Lorsque des mesures sont rapportées périodiquement par un capteur, les paquets sont très petits et n'ont souvent pas
besoin de fragmentation, comme pour le scénario de comptage intelligent [36]. Dans ce cas, le multi-chemin est un atout : les
pertes de paquets peuvent être considérées comme indépendantes entre les différents chemins. En d'autres termes, alors que
la première mesure peut être Algorithme 3 : Normalisation du poids des parents

15
Données: N, αmax – l'augmentation/diminution maximale du poids des parents,
}
{ancien αP P∈Parents(N) – le ratio actuel de trafic pour chaque parent,
}
{nouveau αP P∈Parents(N) – le rapport de trafic nouvellement calculé pour chaque parent;
}
Résultat: {αP P∈Parents(N) – le nouveau ratio de trafic, aprè s normalisation ;

1 pourP∈ Parents(N) font


// calculer la différence entre l'ancien poids et le nouveau
2 différP ← vieilα P − Nouvα P ;
3 finirence le eau

4 pouP ∈Parents (N ) fair


r // limiter le changement
e de poids αàmaxim et normaliser les valeurs
5 α P ← vieilα P + différP × α maxim× um maxi 1 différeP ;
um P ∈Parents (N )
le ence mum nce
6 finir

abandonné, un second peut utiliser un chemin différent et être livré au routeur frontière.
Cependant, si une fragmentation est nécessaire, par exemple pour récupérer un intervalle de données complet, ou pour un
diagnostic à distance, il convient d'implémenter l'une des solutions suivantes :
1. le codage réseau permettrait de récupérer certaines pertes de paquets [37] ;

2. assurez-vous que le même chemin est toujours utilisé pour le même flux. Au lieu de considérer tous les paquets
indépendamment, nous pouvons garantir que le même parent est sélectionné pour une paire d'adresses
source/destination donnée.

6. Évaluation des performances


Nous avons simulé RPL en utilisant WSNet, un simulateur événementiel efficace dédié au WSN, qui a été largement évalué
[38]. Les résultats sont moyennés sur 30 simulations avec différentes topologies aléatoires : le puits est situé au centre, tandis
que l'emplacement de chaque nœud est choisi aléatoirement dans la zone de simulation. Pour le trafic, nous avons considéré
les flux convergecast CBR habituels.
Au niveau de la couche PHY, nous avons utilisé le modèle path-loss shadowing, calibré avec le scénario FB6 (indoor real
Deployment) présenté dans [39] : shadowing, path loss = 1.97, standard deviation = 2.0, Pr(2m) = −61.4dBm , lorsque
l'environnement est statique mais modélisé avec précision.
Nous avons configuré RPL comme illustré dans le tableau 2. Nous avons comparé les variantes suivantes :
1. une version standard de RPL : seul le parent préféré est utilisé pour transmettre les paquets ;
2. version multichemin de RPL : un nœud transmet le trafic équitablement à tous ses parents, en fonction de la durée de vie
de leurs goulots d'étranglement. Cette version n'est possible qu'en utilisant la métrique ELT.
Tableau 2 : Paramè tres de simulation
Paramètre É valuer
Durée de la simulation 3600s
Nombre de nœuds 50
Nombre de goulots d'étranglement annoncés dix
Étape d'équilibrage de chargeγ 0,1 (10 %)
Zone simulée 300m x 300m
Type de trafic, taux CBR, 1 paquet/min
Taille du paquet de données 127 octets (y
compris les en-tê tes
MAC)
RPL MinHopRankAugme
ntation = 128
Filet J'en suis= 27 ms,
Imax = 16, k = 10
16
couche MAC Mode balise
802.15.4
Paramètres MAC BO=7, S=2
Consommation d'énergie Fiche technique
CC2420
Nous avons également comparé les métriques de routage suivantes :

1. énergie résiduelle ([6]) : l'énergie restante d'un nœud (métrique de nœud). Nous avons choisi cette métrique car elle
permet d'éviter les nœuds les plus contraints en énergie.

2. ETX utilisant la fonction d'objectif d'hystérésis ([40]) : le nombre moyen de transmissions pour un paquet acquitté
(métrique de liaison). Nous avons choisi cette métrique car elle construit des itinéraires économes en énergie.

3. énergie ([21]) : une combinaison linéaire d'ETX et de l'énergie résiduelle. Cette métrique combine de manière simpliste
l'énergie résiduelle et la qualité des liens.

4. ELT : notre métrique, qui exploite directement la durée de vie restante avec les mêmes conditions.

Nous avons mesuré les métriques suivantes :

• Packet Delivery Ratio (PDR) : ratio de paquets reçus par le puits ;

• Délai de bout en bout : délai entre la génération du paquet et sa réception par le puits (considéré uniquement pour les
paquets délivrés) ;

• Stabilité : le nombre de parents préférés change ;

• Consommation d'énergie : l'énergie consommée par les nœuds pendant toute la période de simulation ;

• Durée de vie du réseau : temps avant que le premier nœud ne meure en ne considérant que l'énergie consommée par le
chipset CC2420 (en différenciant les états inactif / veille / tx et rx).

17
Nb de flux ayant un PDR >= X (%)
100
résiduel
énergie
80 etx
elt
multi
60

40

20

0
0 20 40 60 80 100
RDP

(a) CCDF du PDR de bout en bout


Nb de colis en retard >= X (%)

100
résiduel
90 énergie
80 etx
elt
70 multi
60
50
40
30
20
dix
0
0 2 4 6 8 dix 12
Délai(s)

(b) CCDF du délai de bout en bout

Figure 8 : Fiabilité

6.1. Comparaison des différentes métriques et versions RPL


6.1.1. Taux de livraison de paquets
La figure 8a illustre la fonction de distribution cumulative complémentaire
(CCDF) du PDR pour tous les flux.
L'énergie résiduelle présente la plus mauvaise fiabilité : certains nœuds avec
de mauvaises liaisons radio sont sélectionnés uniquement parce qu'ils ont une
grande énergie résiduelle. Ces mauvais liens ont un impact négatif sur le taux de
livraison des paquets.
ETX présente la plus grande fiabilité : seuls les meilleurs liens sont utilisés
pour router les paquets. L'énergie métrique représente, comme prévu, un
compromis entre l'énergie résiduelle et la métrique ETX.
Enfin, notre version multivoies de l'ELT atteint presque la même fiabilité que
l'ETX. Notre métrique sélectionne les itinéraires avec la plus grande énergie
résiduelle, sans impacter négativement la fiabilité.

18
Nombre de nœuds ayant des changements
100
la norme
90 multi
80
70
60
50
parent >= X (% 40
30
20
dix
0
0 5 dix 15 20 25 30 35
Changements de parents
préférés
Figure 9 : CCDF du nombre de changements de parents pré fé ré s pendant 1 heure – mé trique ELT

6.1.2. Délai de bout en bout


La figure 8b illustre la CCDF du retard de bout en bout pour tous les paquets
reçus. Ce délai est assez insensible à la métrique utilisée pour le routage.
En effet, le nombre limité de retransmissions au niveau de la couche MAC fait
que de mauvaises liaisons radio ont tendance à réduire la fiabilité (ie, le paquet
est abandonné) tout en ayant un impact marginal sur le délai. En particulier, le
délai de retransmission est pratiquement beaucoup plus court que le délai de
mise en mémoire tampon : le réseau fonctionnant à des rapports cycliques
faibles, un paquet est mis en mémoire tampon longtemps avant que le nœud ne
se réveille et ne l'envoie à l'un de ses parents.

6.1.3. Stabilité du routage


Nous avons mesuré la stabilité du réseau lorsque le nombre de parents
préférés change (Fig. 9). Nous comptons le nombre de changements de parents
pendant 1 heure de simulation et traçons le CCDF associé.
La version standard présente une grande instabilité : la plupart des nœuds
changent fréquemment de parents. Au cours de la simulation, la moitié des
nœuds changent au moins 8 fois leur parent préféré. Pour chaque changement,
le temporisateur d'entretien est réinitialisé et les DIO sont transmis plus
fréquemment.
Au contraire, la version multipath améliore significativement la stabilité. En
interdisant les changements soudains de poids parent, un nœud lisse la
redirection du trafic. Plus de 80% des nœuds changent au plus 4 fois leur parent
préféré.

19
6.1.4. Efficacité énergétique
La figure 10a représente la boîte à moustaches de l'énergie moyenne
consommée par les nœuds pendant toute la simulation, en fonction de leur
distance physique par rapport au puits (c'est-à -dire le routeur frontière).
L'énergie résiduelle et l'ELT à trajets multiples améliorent à la fois l'efficacité
énergétique. Cependant, l'énergie résiduelle présente aussi la moins bonne
fiabilité. É tant donné que moins de paquets sont transmis, ils consomment
également moins d'énergie.
(a) Consommation d'énergie des nœuds en
fonction de leur distance physique au puits
35000
rrésiduel
énergie
30000 etx
multi
Durée de vie (jours)

25000

20000

15000

10000

5000

0
0 30 50 70 90
Nombre de nœuds

(b) Network Lifetime (durée jusqu'aux


premiers nœuds) en fonction de la densité

Figure 10 : Efficacité é nergé tique

Enfin, nous avons évalué la durée de vie du réseau en fonction de la densité.


Nous avons augmenté le nombre de nœuds au sein d'une même zone de
simulation pour isoler l'impact du diamètre du réseau et celui de la densité. La

20
profondeur du DODAG varie de 2 dans les densités élevées (avec 30 nœuds), à 7
dans les densités plus faibles (90 nœuds).
Nous pouvons observer sur la figure 10b que l'ELT à trajets multiples
surpasse clairement le RPL standard. Le routage multichemin permet
d'équilibrer plus précisément l'énergie : les décisions de routage ne sont pas
binaires, et le trafic est réparti sur tous les goulots d'étranglement. De plus,
notre stratégie de réallocation du trafic à chaque parent en fonction de sa durée
de vie est conservatrice et évite les redirections soudaines.
Nous pouvons remarquer que même si l'ELT à trajets multiples a la plus grande
consommation d'énergie dans le pire des cas (Fig. 10a), il parvient toujours à avoir
le

21
meilleure durée de vie (Fig. 10b). Cela est dû au fait que l'algorithme consomme
plus d'énergie pendant la période de démarrage, ce qui gagne plus de durée de
vie à long terme.

6.2. Réglage des paramètres


6.2.1. Nombre de goulots d'étranglement annoncés
Nous avons ici étudié l'impact du nombre de goulots d'étranglement inclus
dans le DIO. Un nombre trop petit signifie qu'un nœud sous-estime l'impact de
son trafic sur les autres goulots d'étranglement.
Sur la figure 11a, nous avons tracé le CCDF du PDR de bout en bout pour tous
les flux, en fonction du nombre maximal de goulots d'étranglement annoncés par
un nœud. Nous pouvons voir que le PDR est presque le même, quel que soit le
nombre de goulots d'étranglement annoncés par un nœud. En effet, un nœud
prend en compte à la fois son ELT et l'ELT des goulots d'étranglement. Puisque
l'ELT tient compte de l'ETX, elle prend implicitement en compte la fiabilité. Le
nombre de goulots d'étranglement a plutô t un impact sur la consommation
d'énergie.
Sur la figure 11b, nous avons tracé l'énergie consommée par les nœuds
pendant toute la simulation, en fonction de leur distance physique par rapport
au puits (c'est-à -dire le routeur frontière). Peu importe le nombre de goulots
d'étranglement annoncés, notre solution parvient à construire une topologie
équilibrée énergétiquement. Notre solution n'est, espérons-le, pas trop sensible
au nombre exact de goulots d'étranglement à annoncer. Un petit nombre de
goulots d'étranglement suffit même à équilibrer la consommation d'énergie dans
le réseau.
Ici, nous voyons que la publicité de 8 goulots d'étranglement représente la
valeur optimale. Sans trop augmenter la taille du DIO, on arrive à ne pas sous-
estimer la consommation des goulots d'étranglement secondaires.
Enfin, la Fig. 11c illustre l'impact du nombre de goulots d'étranglement sur la
durée de vie du réseau. Avec un seul goulot d'étranglement, nous parvenons à
estimer assez précisément la durée de vie du réseau. De plus, un seul goulot
d'étranglement signifie que l'on réduit le nombre de variables à maintenir pour
estimer l'ELT de chaque chemin : on réduit par conséquent l'instabilité.
Cependant, l'augmentation du nombre de goulots d'étranglement tend
également à équilibrer plus finement la consommation d'énergie le long de tous
les trajets. Cette estimation plus fine tend à contrebalancer le nombre de
changements de parents. 8 représente la valeur optimale du nombre de goulots
d'étranglement à inclure dans les DIO.

6.3. Impact de γ sur les performances du réseau


Nous avons enfin étudié l'impact du paramètre d'équilibrage de charge γ qui
est utilisé pour calculer le trafic à envoyer à chaque parent.

22
Nous pouvons voir sur la figure 12a que cela n'a aucun impact sur le
taux de livraison de paquets de bout en bout. En effet, l'ELT multitrajet réussit à
trouver des routes fiables, même si l'énergie n'est pas si bien équilibrée (valeur
γ trop petite).
De plus, lorsque γ est suffisamment petit, cela n'a pas d'impact sur la durée
de vie du réseau. On peut remarquer sur la Fig.12b que lorsque γ = 0,5 la durée
de vie est légèrement plus petite. É tant donné que dans la plupart des cas, un
nœud a plus de deux parents, il sera plus difficile pour l'algorithme de distribuer
de manière optimale les derniers 0,5 % du trafic. Cette distribution sous-
optimale impacte négativement la durée de vie.
Nombre de paquets ayant un PDR

100
90
80
70
60
50
40
>= X (%)

30 multi_1
20 multi_3
multi_5
dix multi_8
multi_10
0
0 20 40 60 80 100
RDP

(a) CCDF du PDR de bout en bout en fonction du


nombre maximum. de goulots d'étranglement
annoncés (n)

(b) Consommation d'énergie moyenne par nœud

23
25000

20000

Durée de vie
(jours)

15000

10000

5000

0
1 3 5 8 dix
Nombre maximum de goulots d'étranglement
annoncés

(c) Durée de vie attendue (temps jusqu'aux premiers


nœuds)

Figure 11 : Impact du nb. des goulots d'é tranglement à inclure dans le DIO

(a) CCDF
du PDR
de bout
en bout
20000
18000
16000
14000
12000
10000
8000
6000

24
Durée de vie
(jours)
Nombre de paquets ayant un P
100
90
80
70
60
50
40

>= X (%)
30
20 0,5
0,2
dix 0,1
0,05
0
0 20 40 60 80 100
RDP
4000
2000
0
0 0,5 0,2 0,1 0,05
La valeur du pas de charge

(b) Durée de vie prévue


(temps jusqu'à ce que le premier nœud meure)

Figure 12 : Impact du paramè tre γ

7. Conclusion et perspectives

Nous avons proposé ici une version énergétiquement équilibrée du RPL. Tout
d'abord, nous avons construit un DAG basé sur la métrique ELT, qui estime avec
précision la durée de vie de toutes les routes vers le routeur frontalier. En
sélectionnant comme parents les nœuds avec les chemins les plus forts (c'est-à -
dire, les ELT les plus grands), nous améliorons la durée de vie du réseau.
Deuxièmement, nous avons proposé une approche multi-chemins pour
exploiter pleinement la structure DAG. Un nœud exploite tous ses parents, en
attribuant un poids de trafic à chacun d'eux. De cette manière, un nœud répartit
équitablement la consommation d'énergie entre tous les chemins vers le routeur
frontière. É tant donné que chaque nœud reçoit une quantité équitable de trafic à
transmettre, la consommation d'énergie est bien équilibrée.
Enfin, un parent préféré n'est supprimé que lorsqu'il devient inutile (c'est-à -
dire qu'il ne transfère aucun trafic). Nous avons également traité efficacement
les inexactitudes dans la métrique

25
estimation. En effet, la qualité du lien radio est stochastique, et les routes
construites par RPL ne devraient pas changer si la qualité du lien radio n'a pas
changé de manière significative. Nous parvenons à limiter le nombre de
changements de parent et ainsi, à réduire la consommation énergétique des
nœuds.
Dans un travail futur, nous prévoyons également d'évaluer
expérimentalement cette nouvelle version de RPL à équilibrage d'énergie par
trajets multiples, afin de vérifier qu'elle fonctionne efficacement in vivo. Dans un
environnement expérimental, nous pourrions avoir affaire à un canal radio
variant plus rapidement et à des liaisons asymétriques. En effet, un canal radio
variant plus rapidement pourrait avoir un impact sur la convergence de la
métrique de routage ELT, car il utilise les conditions de trafic actuelles pour
calculer la durée de vie prévue d'un nœud. Cependant, nous conjecturons que la
métrique convergera dans un laps de temps raisonnable.
En ce qui concerne la présence de liens asymétriques, ELT exploite ETX pour
l'estimation de la qualité des liens et devrait donc être capable de les gérer.
Rappelons que ETX comptabilise le PDR dans les deux sens d'un lien. Par
conséquent, il suffit d'avoir une implémentation précise d'ETX.
De plus, puisque nous n'avons considéré que le cas sans fragmentation de
paquets, nous pourrions assouplir cette hypothèse. Dans un environnement à
fragmentation fréquente, nous devrions améliorer notre solution en incluant
une technique de codage réseau pour améliorer la fiabilité du réseau.

Annexe A. Exactitude : (1 + γ) - approximation

Théorème 2.L'algorithme glouton présenté est unapproximation 1 + γ.

Preuve.Soit tNB le trafic du nœud N au goulot d'étranglement B, k le nombre


maximum de parents qu'un nœud peut avoir, et x la notation pour la valeur
réelle de x et xopt la notation pour la valeur optimale pour x, ∀x. Tableau 1 p. 9
représente le reste de la notation.
Le fait que l'algorithme glouton soit une approximation 1+γ signifie que le
trafic qui atteint un goulot d'étranglement est au plus la valeur optimale * 1 + γ.
Le théorème est donc équivalent à :

Si N est le seul nœud du réseau générant des paquets, l'équation A.1 est
équivalente à  :

∀Bi ∈ Goulots d'étranglement : tNBi ≤ tNBi opt + γ × TN (A.2)

Supposons que le dernier γ du trafic soit envoyé par N au parent P1, ce qui
n'est pas optimal. Si nous nous concentrons sur le goulet d'étranglement le plus
contraignant (par exemple, B1), nous distinguons les cas suivants :

1. Il existe d'autres parents de N, en plus de P1, qui transfèrent le trafic


vers B1 :
∃Pi ∈ {Parents(N) \ P1} st rPi,B1 > 0 ⇒
(A.3)

Soit Parents∗(N) = {Parents(N) \ P1 | rPi,B1 > 0}. Puis:

Puisque nous ajoutons au parent P1, le trafic γ par rapport à l'optimal et


nous retirons du reste des parents le ratio de trafic qui n'est pas envoyé
par rapport au cas optimal (qui est inférieur à ), on obtient les relations
suivantes :

α1 ≤ α1 opt + γ et
Maintenant, si nous remplaçons les valeurs de α1 dans l'équation A.4, nous
obtenons une inégalité :

(A.5)

tN1B1≤ tN1B1opt+γ×TN
(A.7)

Puisque N est le seul nœud du réseau générant des paquets, on obtient cf


É quation A.1 :

(A.8)

2. P1 est le seul parent de N acheminant le trafic vers le goulot


d'étranglement B1 :
∀Pi ∈ {Parents(N) \ P1} : rPi,B1 = 0 ⇒

tN 1 B 1 = α1 × r
P1,B1 × TN= α1 × TN (A.9)
Maintenant, si nous remplaçons α1 par α1 opt + γ dans l'équation A.9,
nous obtenons :

tN1B1≤ (α1 opt + γ) × rP1,B1 × TN ≤ tN1B1opt + γ × TN (A.10)

Agin, puisque N est le seul nœud du réseau générant des paquets, nous
obtenons cf É quation A.1 :

(A.11)
Le raisonnement est également valable lorsqu'il y a plus d'un nœud générant
des paquets dans le réseau. Si chaque nœud est à (1+γ) de l'optimal, globalement
il sera également à (1 + γ) de l'optimal. Pour des raisons de trop de variables (ce
qui conduit à des notations compliquées), nous avons décidé de ne pas
présenter cette partie de la preuve. De plus, il est très similaire au cas d'un nœud
unique générant des paquets.
Afficher les statistiques de publication

Vous aimerez peut-être aussi