REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
MINISTERE DE L'ENSEIGNEMENT SUPERIEURET DE LA RECHERCHE SCIENTIFIQUE
UNIVERSITE TAHRI MOHAMED DE BECHAR
Étude et implémentation du protocole CoAP
MémoirePour l’Obtention du Diplôme de
Master en Informatique Option : Système information et réseaux
Encadreur : Dr. Benahmed Khélifa. Co-Encadreur: Difallah Wafa.
Présenté par : Sefiri Tarek
Fadel Mohamed
Plan de travail
01
Etude du protocole IdO .
Introduction.
Simulation et Configuration de CoAP.
Généralité sur l’internet des objets.
1
2
3
4
Conclusion.5
Introduction.1
1) Introduction.Pr
oblé
mat
ique
02
Le développement d’internet et les technologies du communications (web 3.0 , Ipv6, 6lowpan, …etc.) et des matériels (Smart phone , Tablet… etc.) permet de créé des nouvelles concepts comme : l’internet des objet ou (Internet of Things), (smartcities) ,Cloud-computing …etc.
Internet des objets (IdO) est une partie importante d'une nouvelle génération de la technologie que chaque objet « chose ou humain » pourrait être connecté à Internet.
03
Donc ,Ces nouvelles technologies ont besoin de nouveaux protocoles pour une meilleure fonctionnement.
1) Introduction.Pr
oblé
mat
ique
la Solution ???Permet ces
protocole on a protocole CoAP
Généralités sur l’internet des objets.2
2) Généralités sur l’internet des objets.D
éfin
ition
05
l'internet des objets représente les échanges des informations et des
données provenant de dispositifs présents dans le monde réel vers le
réseau Internet.
2) Généralités sur l’internet des objets.A
rchi
tect
ure
d’in
tern
et d
es o
bjet
s
06
Il existe de nombreux protocoles sans fil (comme la série IEEE 802.11,
802.15.4 , 6LowPAN, RPL… etc.) pour la communication entre les appareils.
Toutefois, compte tenu d'un grand nombre de petits appareils sont
incapables de communiquer efficacement avec des ressources limitées,
Internet Engineering Task Force (IETF) a développer un protocole léger
applé : Constrained Application Protocol (CoAP).
2) Généralités sur l’internet des objets.A
rchi
tect
ure
d’in
tern
et d
es o
bjet
s
06
2) Généralités sur l’internet des objets.D
omai
ne d
’app
licat
ion
07
Il y a plusieurs utilisation d’IdO soit dans l’industrie ,transport, santé …etc.
2) Généralités sur l’internet des objets.R
CSF
s da
ns l’
IdO
08
Les réseaux de capteurs sans fil (RCSFs) sont des réseaux Ad hoc généralement
constitués de plusieurs dizaines d’entités autonomes à faible cout.
Etude du protocole IdO.3
3)Etude du protocole IdO.La
pile
pro
toco
laire
10
Dans la pile protocolaire chaque couche de model OSI il ya des protocole
spécifiques on peut définir quelques un :
3)Etude du protocole IdO .6L
owPA
N
11
Un 6LoWPAN est constitué d'un ensemble d’équipements ayant peu de ressources
(CPU, mémoire, batterie) reliés au travers d’un réseau limité en débit (jusqu’à 250 kbit/s).
Ces réseaux sont composés d’un grand nombre d’éléments.
3)Etude du protocole IdO .La
pile
pro
toco
laire
12
3)Etude du protocole IdO .R
PL
13
RPL est un protocole de routage spécialement adapté aux besoins des communications
IPv6 sur des réseaux LLNs, supportant le trafic point à point (P2P), les communications
d’un serveur central vers une multitude de nœuds (point à multipoint, P2MP).
3)Etude du protocole IdO .La
pile
pro
toco
laire
14
3)Etude du protocole IdO .D
TLS
15
DTLS fournit une sécurisation des échanges basés sur des protocoles en
mode datagramme. Le protocole DTLS est basé sur le protocole TLS et fournit
des garanties de sécurité similaires. DTLS est bien adapté pour la sécurisation
des applications et des services qui sont delay-sensitive.
3)Etude du protocole IdO .La
pile
pro
toco
laire
16
3)Etude du protocole IdO .Pr
otoc
ole
CoA
P
17
Le protocole CoAP est principalement destiné aux équipements et aux machines qui n'ont parfois qu'un microcontrôleur 8 bits pour tout processeur, très peu de mémoire et qui, en prime, sont connectés par des liens radio lents et peu fiables (les « LowPAN »
3)Etude du protocole IdO .Fo
nctio
nnem
ent d
e C
oAP
18
CoAP fonctionne sur UDP.Pour sécuriser les échanges, il est aussi possible d’utiliser COAP sur DTLS. CoAP fonctionne de manière asynchrone. CoAP s’appuie sur une approche à deux couches, une couche de messagerie CoAP
utilisée afin de traiter la non fiabilité d ’UDP ainsi que la nature asynchrone des
interactions (4 messages sont définis CON, ACK, NON, RST) et une couche
d’interaction sous forme de requête/réponse héritée du protocole HTTP (Requêtes
GET, POST, PUT, DELETE)
Simulation et Configuration de CoAP4
4)Simulation et Configuration CoAP .O
rgan
igra
mm
e de
CoA
P
20
4)Simulation et Configuration de CoAP.Si
mul
atio
n de
CoA
P
21
Dans cette partie, nous présentons les étapes d’installations dans l’implémentation du
protocole CoAP. Pour cela, nous avons utilisé Contiki 2.7 qui met à disposition un
simulateur réseau appelé Cooja qui est un émulateur qui permet d’exécuter des
programmes
4)Simulation et Configuration de CoAP.Si
mul
atio
n de
CoA
P
22
Charger Border-router.c et er-server-examples.c dans skymote «tools skymote»
4)Simulation et Configuration de CoAP.Si
mul
atio
n de
CoA
P
23
Création des nœuds et placer dans la zone de communication
4)Simulation et Configuration de CoAP.Si
mul
atio
n de
CoA
P
24
Ouvrir un nouveau terminal et tapez: makeconnect-router-cooja
4)Simulation et Configuration de CoAP.Si
mul
atio
n de
CoA
P
25
En fin, nous ouvrons le navigateur Firefox qui contient l'ajout de Copper (Cu) CoAP pour voir les résultats.
4)Simulation et Configuration de CoAP.C
onfig
urat
ion
de C
oAP
26
Après l’organigramme on commence par les diffères configuration du
chaque composons pour la communication entre le CoAP-Server et
CoAP-Client en Platform Contiki 2.7 avec le Gateway RPL et le schéma
suivant présente chaque composant :
4)Simulation et Configuration de CoAP.C
onfig
urat
ion
de S
erve
ur-C
oAP
27
1. Connectez deux Skys Tmote (vérifier avec $ make TARGET = sky-motelist)
2. make TARGET = ciel er-exemple-server.upload MOTE = 2
3. make TARGET = ciel connexion MOTE = 2
4. Appuyez sur le bouton de remise à zéro, obtenir l'adresse, abort avec Ctrl + C:
Ligne: "lien local provisoire adresse IPv6 fe80: 0000: 0000: 0000: ____: ____: ____:
____"
Commande de chargement du capteur Serveur-CoAP
4)Simulation et Configuration de CoAP.C
onfig
urat
ion
de S
erve
ur-C
oAP
28
4)Simulation et Configuration de CoAP.C
onfig
urat
ion
de C
lient
-CoA
P
29
1.cd ../ipv6/rpl-border-router/
2. make TARGET = ciel border-router.upload MOTE = 1
3. make connect-routeur
Pour un tty BR autre que USB0:
Faire connect-routeur port PORT = X
Commande de chargement du capteur Client-CoAP
4)Simulation et Configuration de CoAP.C
onfig
urat
ion
de C
lient
-CoA
P
30
4)Simulation et Configuration de CoAP.C
ode
sour
ce (T
empé
ratu
re)
31
/********************temperature***********************************/PERIODIC_RESOURCE(temperature, METHOD_GET,"sensors/temperature","title=\"Hello temperature: ?len=0..\";rt=\"Text\"",60*CLOCK_SECOND);voidtemperature_handler(void* request, void* response, uint8_t *buffer,uint16_t preferred_size, int32_t *offset){REST.set_header_content_type(response, REST.type.TEXT_PLAIN);const char *msg = "Observe Periodic Temperature!";REST.set_response_payload(response, (uint8_t *)msg, strlen(msg));}voidtemperature_periodic_handler(resource_t *r){static uint16_t temperatureVal = 0;static char content[30];temperatureVal=(uint16_t)rand()%120;coap_packet_t notification[1];coap_init_message(notification, COAP_TYPE_CON, REST.status.OK, 0); coap_set_payload(notification, content, snprintf(content,sizeof(content), "Temperature: %u F ", temperatureVal));REST.notify_subscribers(r, temperatureVal, notification);}/****fin temperature****/
4)Simulation et Configuration de CoAP.C
ode
sour
ce (H
umid
ity)
32
/********************humidity***********************************/PERIODIC_RESOURCE(humidity, METHOD_GET,"sensors/humidity","title=\"Hello humidity: ?len=0..\";rt=\"Text\"",30*CLOCK_SECOND);voidhumidity_handler(void* request, void* response, uint8_t *buffer,uint16_t preferred_size, int32_t *offset){REST.set_header_content_type(response, REST.type.TEXT_PLAIN);const char *msg = "Observe Periodic humidity!";REST.set_response_payload(response, (uint8_t *)msg, strlen(msg));}voidhumidity_periodic_handler(resource_t *r){static uint16_t humidityVal = 0;static char content[30];humidityVal=(uint16_t)rand()%120;coap_packet_tnotification[1];coap_init_message(notification, COAP_TYPE_CON, REST.status.OK, 0); coap_set_payload(notification, content, snprintf(content,sizeof(content), "humidity: %u %%", humidityVal));REST.notify_subscribers(r, humidityVal, notification);} /****fin humidity****/
Conclusion5
5)Conclusion .
34
La simulation de ce protocole nous a donné de bons résultats sous le
simulateur Contiki-Cooja. La validation de nos résultats par l’expérimentale
en utilisant de vrai capteurs Telosb a montré que notre contribution est basée
sur une configuration solide, et que nous somme les premiers masters qui ont
réalisés cette taches généralement très évitées par les chercheurs dans ce
domaines.
Merci pour votre attention
Recommended