CoAP master presentaion

38
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE TAHRI MOHAMED DE BECHAR Étude et implémentation du protocole CoAP Mémoire Pour 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

Transcript of CoAP master presentaion

Page 1: CoAP master presentaion

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

Page 2: CoAP master presentaion

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

Page 3: CoAP master presentaion

Introduction.1

Page 4: CoAP master presentaion

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.

Page 5: CoAP master presentaion

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

Page 6: CoAP master presentaion

Généralités sur l’internet des objets.2

Page 7: CoAP master presentaion

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.

Page 8: CoAP master presentaion

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).

Page 9: CoAP master presentaion

2) Généralités sur l’internet des objets.A

rchi

tect

ure

d’in

tern

et d

es o

bjet

s

06

Page 10: CoAP master presentaion

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.

Page 11: CoAP master presentaion

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.

Page 12: CoAP master presentaion

Etude du protocole IdO.3

Page 13: CoAP master presentaion

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 :

Page 14: CoAP master presentaion

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.

Page 15: CoAP master presentaion

3)Etude du protocole IdO .La

pile

pro

toco

laire

12

Page 16: CoAP master presentaion

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).

Page 17: CoAP master presentaion

3)Etude du protocole IdO .La

pile

pro

toco

laire

14

Page 18: CoAP master presentaion

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.

Page 19: CoAP master presentaion

3)Etude du protocole IdO .La

pile

pro

toco

laire

16

Page 20: CoAP master presentaion

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 »

Page 21: CoAP master presentaion

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)

Page 22: CoAP master presentaion

Simulation et Configuration de CoAP4

Page 23: CoAP master presentaion

4)Simulation et Configuration CoAP .O

rgan

igra

mm

e de

CoA

P

20

Page 24: CoAP master presentaion

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

Page 25: CoAP master presentaion

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»

Page 26: CoAP master presentaion

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

Page 27: CoAP master presentaion

4)Simulation et Configuration de CoAP.Si

mul

atio

n de

CoA

P

24

Ouvrir un nouveau terminal et tapez: makeconnect-router-cooja

Page 28: CoAP master presentaion

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.

Page 29: CoAP master presentaion

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 :

Page 30: CoAP master presentaion

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

Page 31: CoAP master presentaion

4)Simulation et Configuration de CoAP.C

onfig

urat

ion

de S

erve

ur-C

oAP

28

Page 32: CoAP master presentaion

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

Page 33: CoAP master presentaion

4)Simulation et Configuration de CoAP.C

onfig

urat

ion

de C

lient

-CoA

P

30

Page 34: CoAP master presentaion

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****/

Page 35: CoAP master presentaion

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****/

Page 36: CoAP master presentaion

Conclusion5

Page 37: CoAP master presentaion

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.

Page 38: CoAP master presentaion

Merci pour votre attention