Vous êtes sur la page 1sur 12

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET

POPULAIRE
Université Abdelhamid Ibn Badis
Département informatique
Spécialité réseaux et systèmes

Module : Gestion du routage

Titre d’exposé :

CTP
protocole

Nom des étudiantes :


Tayeb bey Nour El Houda
Chaouch Zineb Malek
Professeur :
M. Bessaoud

Année universitaire :
2022-2023
Table de matière :

Introduction : .............................................................................................................................. 3
Collection Tree Protocol (CTP) : ............................................................................................... 4
La métrique du protocole CTP : ................................................................................................. 5
Deux problèmes principaux : ..................................................................................................... 6
Boucle de routage : .......................................................................................................... 6
Duplication de paquet : ................................................................................................... 6
Trame de données CTP : ............................................................................................................ 7
Trame de routage CTP : ............................................................................................................. 8
Implémentation : ........................................................................................................................ 9
Estimateur de lien : ................................................................................................................. 9
Paquets périodiques LEEP........................................................................................... 9
Paquets de données ...................................................................................................... 9
Moteur de routage :................................................................................................................. 9
Moteur de transfert : ............................................................................................................. 10
SubReceive.receive() : ...................................................................................................... 10
Forward() : ........................................................................................................................ 10
SendTask() : ...................................................................................................................... 10
SubSend.sendDone() : ....................................................................................................... 10
Déploiements :.......................................................................................................................... 11
Conclusion :.............................................................................................................................. 11
Liste des figures :

Figure1.Protocole CTP dans le réseau sans fil. .......................................................................... 4


Figure 2. L’arborescence de collecte CTP protocole ................................................................. 5
Figure 3. La trame de données CTP [2] ..................................................................................... 7
Figure 4. La trame de routage CTP [2] ...................................................................................... 8
Introduction :

Ces dernières années, nombreux services se basent sur l’utilisation des technologies sans
fil. Les réseaux de capteurs sans fil (RCSF) ou wireless sensor network (WSN) en anglais
représentent l’un des technologies utilisées dans différents domaine d’applications (la
surveillance militaire et médicale, les maisons intelligentes, l’écologie…. etc). La plupart des
réseaux de capteurs sont utilisés pour collecter des informations du monde physique [1]. Les
nœuds de ces réseaux collectent des informations à l'aide de leurs capteurs et transmettent les
lectures des capteurs à une station de base centrale ou à un serveur à l'aide d'une
communication sans fil multi-sauts.

La collecte fiable et efficace d'informations à partir des nœuds d'un réseau de capteurs est un
problème difficile, en particulier en raison de la dynamique sans fil. Le routage multi-sauts
dans un environnement sans fil dynamique nécessite qu'un protocole puisse s'adapter
rapidement aux changements du réseau (agilité) tandis que les contraintes énergétiques des
réseaux de capteurs dictent que de tels mécanismes ne nécessitent pas trop de communication
entre les nœuds (efficacité). CTP est un protocole de routage de collecte, qui atteint à la fois
agilité et efficacité, tout en offrant une livraison de données extrêmement fiable dans les
réseaux de capteurs [1].
Collection Tree Protocol (CTP) :

Le protocole d’arborescence de collecte est un protocole de routage à vecteur de distance


conçu pour les réseaux de capteurs sans fil (WSN). CTP crée une arborescence de routage
pour transférer les données d'un ou plusieurs capteurs vers un ou plusieurs stations de base
(racine). Ce protocole basé sur deux principes : validation du chemin de données et Balisage
adaptatif [2] pour fournir un routage efficace, robuste et fiable dans des conditions de réseau
hautement dynamiques.
Un certain nombre de nœuds dans un réseau s'annoncent comme les racines des arbres. Les
nœuds forment un ensemble d'arborescences de routage vers ces racines (root). CTP est sans
adresse en ce sens qu'un nœud ne pas envoyer de paquet à une racine particulière, il choisit
implicitement une racine en choisissant un saut suivant. Les nœuds génèrent des routes vers
les racines à l'aide d'un gradient de routage [2].

Figure1.Protocole CTP dans le réseau sans fil [2]

Le protocole CTP suppose que la couche liaison de données fournit :


1. Fournit une adresse de diffusion locale efficace.
2. Fournit des accusés de réception synchrones pour les paquets de monodiffusion.
3. Champ d'envoi de protocole (prise en charge de niveau supérieur protocoles).
4. Possède des champs source et destination 16 bits à saut unique.
La métrique du protocole CTP :
Le protocole d’arborescence de collecte utilise les transmissions attendues (ETX) comme
métrique de routage [2]. ETX entre un nœud source et un nœud de destination est la mesure
du nombre attendu de transmissions de données (les retransmissions qui seraient nécessaires
pour transmettre avec succès un paquet du nœud source au nœud de destination) [3]. Il est
utilisé pour transférer les données des capteurs vers le nœud racine. L'arborescence de
protocole crée une arborescence de collecte illustrée ci-dessous :

 Le nœud inférieur est appelé racine (récepteur), ce qui


signifie que toutes les données sont envoyées vers le bas
dans l'arborescence vers la racine.

 Une racine a un ETX de 0.

 Les nœuds N1 à N7 peuvent simplement transmettre des


paquets ou créer leurs propres données (toutes les
informations sont envoyées vers la racine, quel que soit le
nœud qui les envoie).

 Chaque nœud a une valeur de transmission attendu (ETX)


vers le puits.

 Chaque nœud donnera la valeur de la qualité du lien à ses


nœuds voisins. L'ETX est établi en estimant la qualité des
liens entre les nœuds et en lui attribuant une valeur.

 ETXnode=ETXparent+ETXlinktoparent. Cette mesure Figure 2. L’arborescence de collecte CTP


Additive suppose que les nœuds utilisent des retransmissions protocole
au niveau de la liaison.

 Un choix de routes valides, CTP devrait choisir celle avec la valeur ETX la plus faible.
Deux problèmes principaux :
 Boucle de routage :
Les boucles de routage sont un problème qui peut survenir dans un réseau CTP.se produisent
lorsqu'un nœud choisit une nouvelle route avec ETX plus élevé que son ancien.
Deux mécanismes pour résoudre ce problème :
Si CTP reçoit une trame de données avec une valeur de gradient inférieure à la sienne, cela
indique qu'il y a une incohérence dans l'arbre.
CTP essaie de résoudre l'incohérence en diffusant une trame de balise [2], avec l'espoir que le
nœud qui a envoyé la trame de données l'entendra et ajustera ses routes. En conséquence. Si
une collection de nœuds est séparée du reste du réseau, alors ils formeront une boucle dont
ETX augmente indéfiniment.
Le deuxième mécanisme de CTP est de ne pas considérer les routes avec un ETX supérieure à
une constante raisonnable. La valeur de cette constante dépend de l'implémentation.

 Duplication de paquet :
La duplication est exponentielle. Se produit lorsqu’un nœud reçoit un paquet avec succès mais
l’accusé de réception (ACK) n’est pas reçu. L’expéditeur retransmet le paquet et le récepteur
reçoit une deuxième fois.
Lorsqu’un nœud reçoit un paquet à transmettre, il vérifie si le paquet est un doublon. Si le
paquet est un doublon, il supprime le paquet. Si le paquet n’est pas un doublon, cela met le
paquet reçu dans la file d’attente d’envoi à transférer. Sinon, il rejette le paquet. Les boucles
de routage compliquent la déduplication car les boucles de routage amènent les nœuds à
recevoir légitimement des paquets plusieurs fois.
Par conséquent, si un nœud supprime uniquement les doublons en fonction d’adresse et du
numéro de séquence d’origine, les paquets dans les boucles de routage peuvent être
supprimés. Les trames de données CTP ont donc un champ supplémentaire de durée de vie
(THL), que la couche de routage incrémente à chaque saut.
Trame de données CTP :
Le format de trame de données CTP est le suivant :

Figure 3. La trame de données CTP [2]

Les définitions des champs sont les suivantes :

 P (Routing Pull) : Traction d'acheminement. Le bit P permet à un nœud de


demander des informations de routage à d'autres nœuds. Si un nœud avec une route
valide entend un paquet avec le bit P défini, il devrait envoyer une trame de routage
dans un avenir proche.
 C (Congestion notification) : Notification de congestion. Si un nœud abandonne
une trame de données CTP, il doit définir le champ C sur la prochaine trame de
données qu'il transmet.
 THL (Time Has Lived) : Lorsqu'un nœud génère une trame de données CTP, il
doit régler THL à 0. Lorsqu'un nœud reçoit une trame de données CTP, il doit
incrémenter THL. Si le nœud reçoit un THL de 255, il l'incrémente à 0.
 ETX (Expected Transmissions) : la métrique de routage ETX de l'expéditeur à
saut unique. Lorsqu'un nœud transmet une trame de données CTP, il doit mettre la
valeur ETX de sa route à travers la destination à saut unique dans le champ ETX. Si
un nœud reçoit un paquet avec un gradient inférieur au sien, alors il doit programmer
une trame de routage dans un avenir proche.
 Origine : l'adresse d'origine du paquet. Un nœud transmettant une trame de données
ne doit pas modifier le champ d'origine.
 Seqno : numéro de séquence d'origine. Le nœud d'origine définit ce champ, et un
nœud transmettant une trame de données ne doit pas le modifier.
 Collect_id : identificateur de protocole de niveau supérieur. L'origine définit ce
champ, et un nœud transmettant une trame de données ne doit pas le modifier.
 Data : la charge utile de données, de zéro ou plusieurs octets. Un nœud transmettant
une trame de données ne doit pas modifier la charge utile des données.
Les champs origin, seqno et collect id représentent ensemble un "paquet d'origine" unique.
Les champs origin, seqno, collect id et THL représentent ensemble une "instance de paquet"
unique dans le réseau. [2]
Cette distinction est importante pour supprimer les doublons en présence de boucles de
routage. Si un nœud supprime le paquet d'origine, il supprimera le paquet s'il lui est demandé
de transmettre le même paquet deux fois en raison d'une boucle de routage.
Cependant, s'il abandonne l'instance de paquet, il transmettra avec succès en présence de
boucles transitoires, à moins que le THL ne devienne l'instance de paquet transmise. Les
nœuds doivent envoyer des trames de données CTP sous forme de messages monodiffusion
avec les accusés de réception de couche liaison activés.

Trame de routage CTP :


Le format de trame de routage CTP est le suivant :

Figure 4. La trame de routage CTP [2]

Les champs sont les suivants :


 P (Routing Pull) : Identique à la trame de données.
 C (Congestion Notification) : Notification de congestion. Si un nœud
abandonne une trame de données CTP, il doit définir le champ C sur la prochaine
trame de routage qu'il transmet.
 Parent : le parent actuel du nœud.
 Metric : la valeur de la métrique de routage actuelle du nœud.

Lorsqu'un nœud entend une trame de routage, il doit mettre à jour sa table de routage pour
refléter la nouvelle métrique d'adresse. Si la valeur ETX d'un nœud change de manière
significative, le CTP doit alors envoyer une trame de diffusion pour notifier aux autres nœuds
qui peuvent changer leur route.
Les parents peuvent détecter quand l'ETX de leur enfant est nettement inférieur au leur.
Lorsque les parents entendent leur enfant annoncer un ETX inférieur au leur, ils doivent
programmer une trame de routage pour transmission dans un proche avenir. [2]
Implémentation :
L'implémentation standard de CTP se compose de trois principaux composants logiciels
logiques :
1) Un estimateur de lien, qui détermine la qualité entrante et sortante des liaisons de
communication à 1 saut au fur et à mesure qu'il la calcule en collectant des statistiques
sur le nombre de paquets de données transmis avec succès.
2) Un moteur de routage, qui est responsable de la création et de la mise à jour de la
table de routage. Il utilise des estimations de lien pour décider quel voisin est le
prochain saut de routage.
3) Un moteur de transfert, qui maintient une file d'attente de paquets à envoyer. Il
décide quand et si les envoyer. Le moteur de transfert est responsable du trafic
transféré ainsi que du trafic généré sur le nœud.

Estimateur de lien :
L'implémentation utilise deux mécanismes pour estimer la qualité d'une liaison : les
paquets LEEP périodiques (Link Estimation Extension Protocol) et les paquets de
données.

 Paquets périodiques LEEP


L'implémentation envoie des balises de routage sous forme de paquets LEEP. Ces paquets
fournissent des valeurs ETX à la table des voisins [4].
Les balises sont envoyées sur une minuterie aléatoire. L'implémentation réinitialise le
temporisateur à une valeur inférieure lorsqu'une ou plusieurs des conditions suivantes sont
remplies :
1) La table de routage est vide (définit le bit P)
2) L'ETX de routage du nœud augmente avec une transmission ou plus
3) Le nœud entend un paquet avec le bit P défini
 Paquets de données
Il s'agit d'une mesure directe d'ETX, c'est-à-dire chaque fois qu'un chemin de données
transmet un paquet, si l'estimateur a confirmé avec succès le lien vers la destination. Il
produit une estimation ETX après toutes les 5 transmissions [4].

Moteur de routage :
Le moteur de routage de l'implémentation est responsable de choisir le saut suivant pour une
transmission de données. Il garde une trace des valeurs ETX de chemin d'un sous-ensemble des
nœuds [2].
La route à coût minimum a la plus petite somme du chemin ETX à partir de ce nœud et du lien
ETX de ce nœud. L'ETX de chemin est donc la somme des valeurs ETX de lien tout au long de
l'itinéraire.
Moteur de transfert :
Le moteur de transfert a cinq responsabilités :
1) Transmettre les paquets au saut suivant, les retransmettre si nécessaire
2) Décider quand transmettre les paquets au saut suivant.
3) Détecter les incohérences de routage et informer le moteur de routage.
4) Maintenir une file d'attente de paquets à transmettre.
5) Détection et réparation des doublons de transmission et des boucles de routage.

On a quatre fonctions clés du moteur de transfert sont : [2]


o La réception de paquets (SubReceive.receive())
o Le transfert de paquets (Forward())
o La transmission de paquets ((SendTask())
o La décision de faire après une transmission de paquets (SubSend.sendDone())

SubReceive.receive() : La fonction de réception décide si le nœud doit transmettre un


paquet ou non. Il recherche les doublons, Si le paquet n'est pas un doublon, il appelle la fonction
de transfert.

Forward() : La fonction de transfert formate le paquet pour le transfert. Elle vérifie le paquet
reçu pour voir s'il y a une boucle dans le réseau. Elle vérifie s'il y a de l'espace dans la file
d'attente de transmission. Si oui, elle publie la tâche d'envoi. S'il n'y a pas d'espace, il supprime
le paquet et définit le bit C.

SendTask() : La fonction d'envoi examine le paquet dans la file d'attente de transmission, le


formate pour le saut suivant (demande la route à la couche de routage) et le soumet à la couche
AM.

SubSend.sendDone() : Une fois l'envoi terminé, SendDone examine le paquet pour voir le
résultat. Si le paquet a été reconnu, il retire le paquet de la file d'attente de transmission. Si le
paquet a été généré localement, il signale SendDone().
Si le paquet n'a pas été reconnu, il démarre un minuteur aléatoire qui republie cette tâche. Ce
temporisateur limite le débit CTP afin qu'il ne diffuse pas les paquets rapidement, afin d'éviter
les auto-collisions le long du chemin.
Déploiements :
 Il existe un déploiement CTP de 330 nœuds en Chine appelé GreenOrbs. GreenOrbs
surveille en permanence l’environnement dans un forêt.
 Il existe un déploiement CTP de 200 nœuds à Stanford appelé Powernet. Moniteurs
Powernet Énergie utilisée par les équipements informatiques en informatique
département.
 Rincon Research a déployé CTP pour une application de surveillance.
 Il existe une entreprise de surveillance du microclimat qui déploie CTP
commercialement [2].

Conclusion :
Dans ce travail, nous avons présenté l’un des protocoles de routage pour RCFS, c’est le CTP
Protocole avec plusieurs mécanismes pour atteindre une fiabilité de livraison élevée. C’est un
Protocole de meilleur effort mais il ne promet pas Livraison 100% fiable ainsi que CTP est
Conçu pour des débits de trafic relativement faibles. Il existe d’autre protocole de routage
pour les réseaux de capteur sans fil comme LEACH, MECN …etc. tout ce protocole basé sur
des mécanismes pour fournir un routage efficace et fiable.

Bibliographie :

[1] O. G.Hackmann, Contrôle de topologie robuste pour les réseaux de capteurs sans fil
intérieurs, 2008.

[2] O. G. K. J. S. K. P. L. a. A. W. R. Fonseca, The Collection Tree Protocol, Aug. 2006.

[3] S.Naimi, Gestion de la mobilité dans les réseaux Ad Hoc par anticipation des métriques
de routage, 2015.

[4] S. S. U. Colesanti, A Performance Evaluation Of The Collection Tree Protocol Based On


Its Implementation For The Castalia Wireless Sensor Networks Simulator., 2010.

Vous aimerez peut-être aussi