CoAP master presentaion

Post on 16-Apr-2017

114 views 4 download

Transcript of 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

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