• Non ci sono risultati.

Comunicazione tra dispositivi IoT e Cloud tramite protocollo MQTT

N/A
N/A
Protected

Academic year: 2021

Condividi "Comunicazione tra dispositivi IoT e Cloud tramite protocollo MQTT"

Copied!
65
0
0

Testo completo

(1)

1

ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA

CAMPUS DI CESENA

SCUOLA DI INGEGNERIA E ARCHITETTURA

CORSO DI LAUREA IN INGEGNERIA ELETTRONICA, INFORMATICA

E TELECOMUNICAZIONI-Ambito ElettronicoTelecomunicazioni

TITOLO DELL’ELABORATO

Comunicazione tra dispositivi IoT e Cloud tramite protocollo MQTT

Elaborato in

Applicazioni e Tecniche di Telecomunicazioni

Relatore

Presentato da

Walter Cerroni Fabrizio Rinaldini

Anno Accademico 2015/16

(2)

2

INDICE

1 INTERNET OF THINGS. L’Internet delle Cose 3

2 Obiettivi della Tesi 12

3 Perché il Protocollo MQTT 14

4 Struttura di messaggi MQTT 17

5 Comunicazione tra dispositivi mediante Protocollo MQTT e 39

relativa analisi dei pacchetti

6 Soluzioni Preconfigurate per Dispositivi IoT 56

7 Confronto tra MQTT e HTTP 58

8 Conclusioni 63

(3)

3

1-INTERNET OF THINGS. L’Internet delle Cose

Co n Int e rne t o f T h ings, ab b re viat o sp e sso co n l’acro n imo IoT , ch e in it a lian o vie n e t r ado tt o co me In t er n et d e lle Co se, st ia m o ad ind icare lo sce n ario in cu i n o n so n o so lam en te le p e rson e in grad o d i con n et te rsi a lla Re t e G lob ale m e d ia nt e p a rt ico lari d ispo sit ivi, co me Co m p ut e r, Sm artp hon e o T ab le t; m a so n o gli o gget t i st e ssi, d i u so p iù co m une tu tt i i gio rn i, d i re tt ament e co n nessi all’u so d i Int e rn e t .

Il t e r m in e è st at o con iat o d all’in ge gn e r e in gle se Ke vin A sht on pe r d e scrive re u n sist e m a in cu i il m o n do f isico è con ne sso ad int e rne t m ed iant e d e i sen so ri. Gli o gge tt i, in q u e sto m o do , avr an no un a p r op ria d ispo siz ion e all’in te rn o de lla re t e , ch e gli p erm e tt e r à d i e sse r e vist i sia d a lo ro st e ssi, che d a gli alt ri o gget t i, ch e d a gli ut e nt i, u no d e gli sco p i d e ll’Int e rne t o f T h in gs è qu e llo in fatt i, di

cre a re un a re p lica vir t u ale de l m on do re ale in cu i vivia m o .

N o n e sis t e un a p art ico la re t ip o lo gia d i co se ch e p o sson o o no n p o sso no en t r are a f a r p art e d e l mo nd o Io T , a se con d a de lle ne ce ssit à e d e l co n t e st o in cu i

ab b iamo b iso gn o d i o p e r are , po ssiam o im p le m en t a re svariat e so lu z io n i p e r co n n et t er e , e qu indi r e nd e r e visib ile n el m o nd o virt u ale , ciò ch e ci int e re ssa , l’im p o rt a nt e è fo rn ire all’o gget to du e car at te rist iche : co me p rim o req u isit o u n in d iriz z o IP (Int e rn et P ro t o co l) in mo d o d a ave re un a co llo caz io ne ne lla re t e e co m e se co nd a, la possib ilit à d i co mu n icar e se nz a b iso gno ch e sia l’e sse re

u m an o a d irgli d i f ar lo . S e r iu scia m o a far e in m od o che il no st ro o gge tt o ab b ia q u e st e d u e caratt e rist ich e , allo ra e sso d ive nt e rà il ca nd id at o id e ale p er

(4)

4

Figura 1-Rappresentazione Astratta di un Sistema Internet of Things [1.a]

Se co n d o un a p re visio n e d e lla Gar tn e r , so cie t à le a d e r m on d iale n ella rice rca e l’a n alisi n e l camp o d e ll’Inf o rm at io n T e ch n o lo gy, il n u m e ro d i o gget t i co nn e ssi in circo laz io n e n el 2 0 1 7 raggiu n ge rà q uo t a 8 ,3 miliard i, un au ment o d el 3 1 % risp e tt o a l 20 1 6 , p er a rrivar e a q u ot a 20 ,4 m iliard i d i u n it à n e l 2 0 20 ;

rim an en d o n e l 2 01 7 la spe sa glob a le in t e r m ina li Io T e se rviz i co nn e ssi sa rà d i cir ca 2 m ila m iliard i, t ut to q u e st o ci f a cap ire d i qu ant o l’ind u st ria

d e ll’inf o rm az ion e sia p r op e n sa a svilu pp ar si in qu e sto set to re . [ 1 .b ]

Co m e d et to in pre ced e nz a con le o pp o rtu n e cara tt e rist ich e o gn i o gget to p o t rà q u ind i ent rare a far p art e de lla ret e , que st o sign if ica ch e l’In t ern et of Th in gs p o t r à t ro va re ap p licaz io ne in tu tt i i se tto ri de lla n o st ra vit a, ve d iam o d i cit a rn e alcu n i e se m p i p e r ch iar irne m e glio i con ce t t i.

La D o mo t ica , ch e è la scie n z a ch e si o ccu p a d e lle te cn o lo gie vo lt e al f in e d i m iglio ra re la qu alit à d e lla vit a all’int e rno d e lla no st ra a b it az io ne , il cu i no m e n asce app un t o d all’u n ion e d e lla p aro la D o m u s (ca sa in lat ino ) e Ro bo t ica , è u n o d e i p rin cip ali sce n ari ap p licat ivi d e ll’Io T . Fin o a p o co t em p o f a in f at t i, un im p ia nt o d i d o m ot ica n e ce ssita va d i un a sp e cif ica cen t ralin a su b ord in a t a a l co n t r o llo d e lle p art i ad e sso co lle gat o , q u ind i p ot e va risu lta re co m p le sso ge st ire u n nu m e ro ele vat o d i d e vic e . Ora, f o rt un a tam e nt e , si t ro van o in co m m e r cio d isp o sit ivi e d e le tt r od o m e st ici già in gra d o d i con n et t ersi ad

(5)

5

in t e rn et , qu e st o sign if ica che po ssiam o co n t ro llare a d ist anz a la m aggio r p a rt e d e gli o gget ti p re se nt i all’in t er n o d e lla no st r a ab it az ion e .

Figura 2-Rappresentazione Astratta di un Impianto di Domotica IoT [2.a]

È già st at o lan ciat o su l m e rcat o , ad e se m p io , u n t e rm o st ato int e lligen t e i n grad o d i an alizz are le p re visio n i d e l t e mp o ed in b ase a qu est o rego lare la t e m pe ra tu r a in casa p e r un co mfo r t ideale , in p iù , e ssen do co n n e sso , pu ò e sse r e qu ind i con t ro llat o a d ist an z a. Po ssiam o qu ind i at t iva rlo tra m ite sm ar t ph o ne co n un co m an d o m anu ale o f ar sì ch e lu i si acco rga de l no st ro im m in e nt e arrivo a casa q u an d o il G PS d e l n o st ro t e lef o no su p e ra un a d ist anz a m in im a p re stab ilit a .

Figura 3-Termostato Intelligente [3.a]

T u tt o q ue st o n o n è lim it ato al t e rmo st ato , se m pre graz ie a l GP S d e l no st ro sm ar t ph o ne è p o ssib ile “f are svo lge r e u n a q u a lsia si a z io n e a casa n o st ra” , ad

(6)

6

e se m p io p o ssiamo fa re aprire il no st r o can ce llo au t o m at ico m e nt re st iam o p er arr iva re .

Figura 4-Componenti di un Impianto per il Controllo di un Cancello Automatico [4.a]

in ca m po d i do m o t ica so n o già t ant issimi in co mm e rcio gli e le t t ro d o me st ici f o r n it i d i u n a co n nessio n e in t er n et , il ca so p iù co mu n e so no le sm art t v, m a t u tt o qu e st o vale an ch e p er fo r n i, lavasto viglie e la vat rici, qu e st ’u lt ime ad e se m p io , t ram it e il t e lef o n o, son o in grad o d i e sse re con t ro lla t e d a re m ot o e d i in f o r ma rci in b ase ai cicli d i la vaggio .

(7)

7

Usce n d o d a lla d o mot ica e p ro se gu e nd o co n l’analisi d i alt ri ca m p i, l’Int e rn e t o f T h in gs vie n e ut ilizz at o p e r r int raccia re bam b in i e d an imali do m e st ici. Un p a io d i sca r p e co n GP S int e grato e r e lat iva ap p lica z io n e su llo sma rt ph o ne , son o in gr ad o d i mo n it o rare i m o vim en t i d i un ba m b in o ed e vit a re di p e rd e rlo d i vist a .

Figura 6-Scarpe da Bambino con GPS Integrato [6.a]

La st e ssa co sa vale an ch e p e r co lla ri p er a n im ali do m e st ici, so p rat tu tt o can i e ga t t i, d ot a t i d i sch ed a S IM e GP S in m od o che ch i li in d o ssa p o ssa e sse re rit r o vat o d ai loro p ad r o n i.

Figura 7-Collare GPS per Animali Domestici [7.a]

M o lto cu r io si an ch e i var i u t iliz z i in camp o m ed ico . N e l ca so in cui, pe r alcun i p az ien t i la n o n assun z ion e d i u n a m e d icin a po t r e b be risu lt are m o lt o risch io sa p e r la lo ro salut e , so n o in f ase d i svilu pp o d e lle p illo le con te n e nt i u n

t r asm e tt it o re in grad o d i in via re u n se gn ale su un d isp o sit ivo re m ot o u n a vo lta raggiu nt o lo sto m aco d i ch i le assu me , in qu e sto m od o l’avve n ut a

so m m in i st raz ion e pu ò e sse re ve r if ica t a d al m ed ico , d al p az ie n t e st e sso o d a i su o i f a m ilia ri.

(8)

8

Se m p re in ca m p o me d ico , in sp e cif ich e situ az ioni d o ve è f o nd a m en t ale il cont ro llo d e lle co n d iz io n i d i u na perso n a, p e n sia mo a d e se mp io ad un in d ividu o d iab et ico ch e d e ve co st an te m e nt e m o nit o rare il p ro p rio live llo d i glice m ia n e l sa n gu e , n asco no de i d isp o sit ivi d a a pp licare su l corp o d e l p az ien te in grado d i e ff e tt u ar e con int ervalli d i t e mp o p re st ab ili le an a lisi n e ce ssa rie e d i in viare in t emp o re ale i risu lt at i a ch i “ in d o ssa" il m on it or o a ch i p e r lu i.

In a lcu n i casi è il d isp o sit ivo st e sso ch e si o ccu p a d i rist ab ilire la st a b ilit à d e i p ar am et ri.

Figura 9-Dispositivi Medici Wireless Impiantabili [9.a]

Sva r ia t i i d ispo sit ivi Io T che po sso n o e sse re in st a llat i su lle n o st re aut o mo b ili. A l f in e d i r ealizz are q u e llo ch e gli stu d iosi d i t e cn o lo gia d e ll’ in f o rmaz ion e ch ia m a n o Sm art City, la n o st r a a u to p ot r à r ice ve re in f o rm az io n i rigu a rd o a l t r aff ico e a lla viab ilit à, aiu t an d o ci a sceglie r e i p e rc o rsi p iù rap id i o le zo n e Figura 8-Pillole Ingeribili con RadioTrasmettitore [8.a]

(9)

9

d o ve si t ro va p iù p ar ch e ggio , d ’alt ro can t o l’aut o m ob ile st essa p o trà

co m u n icar e alla cit tà d o ve si tr o va in mo d o ch e i se m a fo ri si re go lin o in b a se a l f lu sso d i via ggiat o ri; tu tt o q u e st o p ot rà n ot e vo lm en te rid u rre l’inq u in a m en t o e gli sp re ch i d i carb uran t e .

Figura 10-Gestione Parcheggi Smart City [10.a] Figura 11-Gestione Traffico Smart City [11.a]

Le st e sse case d i p ro d uz io ne d i au t o mob ili si st a nn o p re o ccu p a nd o d i in se rire a b o rdo de i p ro pri pro d o tt i, d e i se n so ri ch e le te n gon o in fo rm at e su llo st ato d e i ve ico li, p e r mon it orar e i con su m i e ve rif icar e se n e ce ssit a no d i m a nu t en z io n e .

Figura 12-Rappresentazione Astratta di un'Automobile in grado di comunicare col mondo esterno [12.a]

P e r sin o l’a grico lt u ra p ot r à u suf r u ire dell’in t ern et d e lle co se , a pp o sit i se n so r i vo lt i a l co nt ro llo d elle co nd iz ion i d i cam p i e se rre , saranno in grad o a n alizz a re

(10)

10

i live lli d i umid it à, te mp e r at u r a e t ut to q u e llo ch e è n e ce ssario pe r il n at u ra le svilu p p o d i un a co ltu r a.

Figura 13-Esempio di Internet of Things applicato al Settore dell'Agricoltura [13.a]

Op p u re lun gh i co ndo t t i o gasd o tt i im p ie gat i p e r il trasp o rto d i so st an z e sar an n o d ot at i dispo sit ivi ch e po st i t r a lo ro a d ista nz a stra te gica p ot ra nn o an a lizz a r e lo st ato de lla st ru tt u r a e ce r care d i p re ve d e re e ve n tu a li gu ast i.

(11)

11

L’u n ico p un t o a sf avo re de ll’Io T è il f at to ch e vivere in u n mo n d o

co m p le t am e nt e conn e sso p u ò ra pp r e sen t ar e un a m in a ccia p e r la n o st ra p riva cy e d au m e nt a re la p rese n z a d i att acch i sgra d e vo li d a p art e d i t e rz i. Spe ria m o ch e ve n ga n o a pp o rt at e so lu z ion i a qu e st i p ro b le m i il prim a p o ssib ile .

(12)

12

2-Obiettivi della Tesi

D o p o qu e st a p re se nt az ion e ch e si o ccu pa d i f o rn ire u no sguard o d i in sie m e su l m o n do de ll’Int e rne t d e lle Co se , p o ssia mo f in alm en t e add e ntra rci n e lla p art e p iù t e cn ica e p rat ica d e lla qu e st io n e . Af f in ch é avven ga u n a co m u n icaz ion e t r a d isp o sit ivi, qu e st i do vran n o e sse re do t at i d i op p o rt un e comp o n en t i h ard wa re e imp le m en t az ion i soft war e pe r p o r tar e a t e rm ine u n a co rre tta t r a sm ission e , o gn i sin go lo “ in granaggio ” vo lto al fu nz io n am en t o d i tu tt o il sist e m a n e ce ssit a d i un a p ro get t az ione e d i u n o stu d io ind ivid u ale . Qu e st a Te si si co n cen t ra su lla p ar t e rigu ar d an t e i p r o to co lli d i r et e , ch e n o n so no alt ro ch e le re go le e le co n ve n z io n i risp et tat e d u r an t e la t ra sm issio n e , al f in e d i o tte n e re un co rret to d ia lo go t ra d ispo sit ivi , in p ar t ico la re su i p r ot o co lli d e llo st ra t o ap p licaz io ne (q u e st o co n cet to sarà r ip re so n e l d et t aglio n e l ca p it o lo su cce ssivo ). In u n m o n do do ve l’in vio d i d at i è so g get to ad un a sp e sa , n o n so lo a live llo d i

in f o r ma z ion e , ma sop r att ut t o a live llo mo n e tar io , lo sco po de l n o st ro la vo ro è q u e llo d i o ccu p arci d i un d e te rmin at o pro t o co llo , ch iam at o M QT T , st u dia re le p ar t i d i u na co mun icaz io n e t r a d isp o sit ivi ch e lo im p le m e n tan o e ve rif ica re se ve ra m e nt e p u ò f arci r isp ar miare b it r ispe t to ad a ltri p ro to co lli co n co rre nt i . P er p rim a co sa, n e l p ro ssimo cap it o lo ch iar ir e m o m e glio il co mp it o d e i p ro t o co lli di re t e e spie gh ere mo p e r ch é il p r o to co llo M QT T risu lt a m o lt o sf ru t t at o in ca mp o Io T . U n a vo lt a f att o ciò sar à ne ce ssario st u d iar e la st ru tt u ra d e l p rot o co llo st e sso , graz ie al do cu me nt o ch e r ip o rt a lo st an d ard M QT T , ci sarà po ssib ile id e nt if ica re la co mpo siz io ne d e i var i m essaggi M QT T e ricono sce rli in un a e ve n tu a le t rasmissio n e (Cap it o lo 4 ). Nel Ca p it olo 5 ef f et tu ere m o u n a

co m u n icaz io n e M QTT t ra un P C e u n t able t e co n l’u so d i un a n a liz z at o re d i p ro to co llo , u n p ro gram ma il cui la vo ro è q ue llo d i con t ro lla re il t raff ico d at i su lle p o rte d i ret e de l n o st r o co m pu t e r , p ot r e mm o no t a re la re aliz z az io ne p ra t ica d e lle co no sce n z e acqu isit e n e i ca p it o li p re ce d en t i e co m p ren d ere m e glio le varie f asi e re go le d i un a t ra sm issio n e M QT T . P rose gu e nd o , n e l Cap it o lo 6 , al so lo sco p o d i rice rca, so no st at e an aliz z at e a lcu n e p iatt afo rm e p re co nf igu r at e n at e p e r la ge st io ne d i disp o sit ivi IoT e n e so n o st a te rip o rt a t e le var ie ca r at te rist ich e . In f in e , n e l Cap it o lo 7 , si p a sse rà al co n f ron to , graz ie

(13)

13

se m p r e a ll’u so d i u n an aliz z at o re d i ret e, t ra u na tra sm ission e con p ro to co llo M QT T e un a t rasm issio n e con p ro to co llo HT T P , u sat o con il m e to d o d i rich ie st a P OST , la sce lt a d e l pr o t o co llo co n co rr e nt e è d at a d a l f att o ch e an ch e HTT P -P o st è un a so lu z ion e mo lt o u sat a n e ll’In t erne t of T h in gs. N e ll’u lt im o cap i t o lo

rip o rt e r e mo le co n clu sio n i e f are mo il pu n to d e lla sit u az ione rigu a rd o al la vo ro svo lt o in q u e st o d o cu me nt o , sp e ran d o di co n fe rm are i risu ltat i at t e si.

(14)

14

3-Perchè il Protocollo MQTT

Ora ch e ab b iamo u na co n o sce nz a d i t ut to ciò ch e rigua rd a l’In t e rn e t o f Th in gs ve d ia m o d i sp ie gare p e rché vien e d a t a ta n t a im p ort an z a a l P ro t o collo M QT T . Co m e d et to ne l cap it o lo p re ced e nt e o gnu n o d e i n o st ri d isp osit ivi sarà con n e sso ad in t e rn et , il q u ale h a u n a st ru tt u r a cosid d et t a a strat i, o live lli, n e ce ssa ria p e r u n a co rret t a comu n icaz io n e .

Figura 16-Architettura a Strati di Internet

Il live llo d i u n d e vice è in gr ad o d i co mu n ica re co n i live lli o m o lo gh i d i alt ri d e vice s gr a z ie ai p ro t o co lli d i r e te , ch e st ab iliscon o le re gole e le co n ven z io n i d e l d ia lo go (co me en u n ciat o n e l cap ito lo p re ced en t e ) . Uno d e i p ro to co lli p iù u sat i p e r le co mu n icaz io n i allo st r at o App licaz ion e è il f am osissim o HT T P ( Hyp e rT e xt T ran s f e r P ro t o col ) pe r fe tt o p e r lo sca m b io d i inf o rm az io n i su l we b vist o ch e è imp le men t at o su un ’arch it ett u ra clie nt / se rve r . Ad e se mp io q u an do vo gliamo co n su lt are u n a p agin a we b, il clie n t e se gu e un a rich ie st a, il se rve r re st itu isc e un a rispo st a , il fu nz io n am e nt o d e l t ut to è a cco m p a gn at o d a u n co n sist e nt e scamb io d i in fo r maz io n i t ra il clie n t ed il se rve r.

N e l m on do n e ll’Int ern e t o f Th in gs p e rò , d o ve so n o i d isp o sit ivi a co mu n ica re t r a lor o , il p ro t o co llo ht tp iniz ia a m o st ra re le p rime de b o lez z e , p e r il f a tt o ch e

(15)

15

lo sca m b io d i d at i t ra d ue macch in e è in ge n e re co mp o st o da u n lim it a t o

n u m e ro d i b it e qu in d i si risch ia ch e le in f o rmaz ion i n e ce ssarie pe r cre a re u n a co n n e ssion e sian o maggio ri de l m e ssa ggio st e sso; in p iù n on è p o ssibile

st a b ilir e un a co mu nicaz io n e d a o ne -t o -m an y, o vve ro d a uno a mo lt i.

E n t ra qu ind i in gio co il Pr o to co llo M QTT ( M e ssa ge Qu eu e T e le m et ry T ran sp ort ), p e n sat o circa 1 5 an n i f a, p e r le co mu nicaz io n i M 2M , o vve ro M a ch in e t o M a ch ine , h a in iz iat o a gu ad agn ar e p o po lar it à so lam e nt e o ra p e r vi a

d e ll’e sp lo sio ne de l m e r ca t o Io T . Ra pp r ese n t a u n va lid issimo so st itu to d e l P ro t o collo HT T P in ap p licaz io n i M 2M , vist o ch e in ge ne re , pe r qu e sto tip o d i co m u n icaz io n i si ut iliz z a il met od o d i r ich ie st a P OST d e l P ro t o co llo HT T P . Un gr an d e va nt aggio è d at o d al f at to ch e il P rot o co llo M QT T , al p o st o d e l mo d e llo clie n t / se rve r d e l l’HT T P , ad ot t a un m e ccan ism o d i p ub b licazio n e e

so t t o scriz io ne ( p ublish / sub scrib e ) e scam b ia i m e ssaggi t ra m it e u n a pp o sito Br o ke r o Hub . Ogn i d e vice si sot to scrive app un t o a d e te rm in at i argo m en t i d et t i t o p ics, i m itt en t i inve ce p ub b lican o , q uin d i in via no , il co n te n ut o d e i m e ssaggi acco m p a gn at i d a un t op ic, i l b ro ke r , che si tro va f isica m e nt e al ce nt ro d e lla co m u n icaz io n e , si occu p a d i co n se gn are il m e ssa ggio so la me n t e ai d e vice s so t t o scr it t i al t o p ic in qu e st io n e .

Gr a z ie a qu e sto me ccan ismo un a co mu n icaz io n e o ne -t o - m any risu lt a se m p licissim a.

(16)

16

Figura 17-Meccanismo Publish-Subscribe [16.a]

L’alt r o p un to d i fo rza d e l p r o t o co llo M QT T st a n el fa tt o che è co m p o st o d a d ive r si t ip i d i me ssaggi, i co sidd e tt i T ype M e ssa ge . Ogn un o d i e ssi sarà

d e d icat o ad u n t ipo d i op e r az io ne d ive rsa, co m e ad e se m p io l’in st au rarsi d i u na co n n e ssion e , il sub scrib e , il p ub lish o la d isco nn e ssio ne , p ossiam o qu ind i

risp ar m ia re d ei b it in u t ili e in viar e su lla re te so lo qu e llo che ci f a co m od o e a ch i vo gliamo n o i. È an ch e p o ssib ile a ll’in t e rn o d e i t ip i di me ssaggio se lez io n are la q ua lit à, e q u in d i il n u me ro d e i r in vii, d e l d a t o ch e vo gliam o t ra sme tt e re . L’u n ica p icco lissima d iff ico ltà st a n e l imp ar are la f u n z ion e e la st ru tt u ra d i o gn i d ive r so T yp e M e ssage p e r an alizz ar e in d e tt a glio u n a co m un icaz ion e con il p ro to co llo M QT T .

(17)

17

4-Struttura dei messaggi MQTT

Le im m a gin i ed i con t en ut i d i qu e sto cap it o lo son o st a t i p re si d alla d o cu men t az ion e d e llo S t an d ard M QT T v3 .1 .1 [ 2 .b ]

La f o r ma gen e rale de i p a cch et t i è d ata d a:

Figura 18-Struttura Generale Type Message

FIXED HEADER :

(18)

18

M QT T Con t ro l P acket ind ica con un valor e d a 0 a 15 il t ip o di p a cch et t o ch e st ia mo u sand o :

(19)

19

I b it d i f la g in ve ce , co m e ind icat o i n f igu ra, varian o a se co nd a de l p a cch e tt o ch e st iamo u san do

Figura 21-Valori Bit di Flag

D a l se con d o b yte in p o i il F ixe d He ad e r in d ica la Re m a in in g Le n gth , o vve ro la lu n ghe zz a in Byt e ch e r iman e d e l p acche t to , in clu si i d ati de l V a riab le He ad e r e d e l Pa ylo ad (la Re main in g Le n gth n on in clu d e se st e ssa). È co d if ica t a u san d o u n o sch e m a a lun ghe z z a var iab ile che sfru tt a u n b yt e p er valo ri f in o a 12 7 . I va lo r i m a ggio ri so no co sì co d if ica t i: i 7 b it m en o sign if ica t ivi d i o gn i b yt e co d if ica no il valo re , m e nt re il b it p iù sign if icat ivo se gn a la se ci so no b yt e

se gu e nt i. Qu in d i o gn i sin golo b yt e cod if ica 1 28 valo ri p iù un b it d i con t in u it à . Il m assim o nu me ro d i b yt e n e lla Re main ing Le n gth è 4 .

(20)

20

Figura 22-Gestione dei Valori Remaining Length

V ARIA BLE HE AD E R:

Il co n t en ut o d e l V ariab le He ad e r varia a se co n d a de l t ip o d i p acch e tt o che st ia mo u sand o , in se gu it o lo an aliz z er em o p er o gn i sin go lo caso . N e i p a cch et t i P UBLISH ( se Qo S> 0 ), P UBACK, P UBRE C, P UBRE L, P UBC OM P , S UBS CRI BE ,

SUBACK, UN S UBSCRI BE e UN S UBACK n el V a riab le He ad er risie d e u n Nu m e ro d i Id e n tif ica z io n e d e i P a cch e tt i ( P acke t Id e nt if ier ).

N e i casi d i SUBS CRIBE , UN S UBS CRIBE e P UBLISH ( se Qo S> 0 ), o gn i vo lt a che il Clie n t , in via u n o d i q u e st i tip i d i p acch et t o d e ve a sse gn argli u n nu m e ro n on u sat o d i P a cke t Id e nt if ie r ( e sclu sivam en t e d ive rso d a ze ro ). Se ri - in via un p ar t ico la re t ip o d i pacch e t t o, il P acke t Id e nt if ier a sse gnat o p o t rà e sse re riu t iliz z at o so lament e q u an d o il Clien t rice ve rà d a p a rt e d e l S e rve r u n a

co n f e rm a d i avve nut a r icez io ne de l p acch e t to , a lt rim en t i è co st re tt o ad u sa re il n u m e ro d i ide nt if icaz io ne se gue nt e . Lo st e sso vale se il p rimo ad in via re è il Se rve r .

I p a cch e tt i P UBA CK, P UBRE C e P UBRE L de vo n o con te n e re il P a cke t Id en t if ie r re la t ivo a l P UBLIS H ad e sso asso ciat o . Lo st e sso vale SUBACK e UN SUBACK. Qu e st o con ce tt o sarà ch iar ito me glio in se gu it o , qu a nd o p a rle re m o d i Qualit à d e l Serviz io .

Il Se rve r ed il Clie nt asse gn a no Pa cke t Id e nt if ier ind ipe nd en t e me nt e l’u n o d all’a lt ro , p u ò su cce d e re ch e lo st e sso n u m e ro viaggi in d ue co m un ica z ion i d ive r se

(21)

21

Figura 23-Esempio di Assegnazione dello stesso Packet Identifier in due comunicazioni diverse

P AY LOAD :

il P a ylo ad è la p art e f in ale d i u n p a cch et t o e d è p re sen te s olo n e i CON N E CT , SUBS CRI BE , S UBACK e UN S UBSCRIBE . N ei P UBLISH è l’App licat io n M e ssa ge ed è f a co lt at ivo .

(22)

22

T I PI DI PA C CHET TO MQ T T ( C O NT RO L PA C K E T T YPE S )

CON N E CT :

ap p en a vien e st ab ilit a la co n ne ssio n e de l N et wo rk il p rim o m e ssaggio in viat o d al Clie nt verso il Se rve r de ve e ssere d i t ipo CON NE CT . Il Clie n t pu ò in via re il m e ssa ggio CON N E CT su lla re t e e sclu sivam e n te un a vo lt a, il Se rve r in t e rp ret a u n se co n d o CON N E CT co m e un a vio laz ion e d i p ro to co llo e d isco n n et te il Clie nt .

La Fixe d He ad e r d e l CON N E CT h a la cla ssica f o rm a:

Figura 24-Fixed Header Connect

La Re m a in in g Len gth co nt ien e il valo r e 1 0 Byt e d o vut o al Va riab le He a d e r p iù il va lo r e in Byt e d e l Paylo a d

La V a riab le He ad e r co n t ien e q u e st i camp i:

P ro t o col N ame - 6 Byt e , in d ica il no m e de l p ro t o co llo , M QT T scrit t o in UT F -8

P ro t o col Le ve l - 1 Byte , ind ica il live llo d i re visio ne de l p ro toco llo , n el ca so d e l 3 .1 .1 è 4

Co n n e ct Fla gs - 1 Byte , co nt ie ne un n u me r o di p aram et ri relat ivi a l

co m p o rta m e nt o d e lla co n ne ssio n e e alla p re se nz a d i alcu n i camp i d e l P aylo a d

(23)

23

Figura 25-Parametri Connect Flags

Cle a n S e ssion = se 0 il S e rver de ve rip ren d e re la Se ssio ne co n il Clie nt

asso cia t o ( graz ie al Clie n t Id en t if ie r ). S e la Se ssio n e n on esist e de ve cre arn e u n a. D o po e sse rsi d isco n n e ssi, il Clie nt e il S erve r, d e vo no sa lva re la Se ssio n e . D o p o la d isco nn e ssio n e d i u n a S e ssio ne il Se rver de ve salvare p rim a i m e ssa ggi co n qu a lità Qo S1 e Qo s2 ch e co rrisp ond o n o ad un a sot to scr iz io ne ch e il Clien t ave va al m o me nt o de lla ch iu su r a. P o t reb b e su cce d e ch e salvi a n ch e i Qo S0 ch e ap p a rt e n go n o allo st e sso cr it e rio

se 1 il Clien t e il Se r ve r d e vo n o abb and o n are Se ssion e p re ce d e nt e e in iz ia rne u n a n uo va

Will Fla g = 1 se vie ne acce tt at a la r ich iest a di co nn e ssion e allo ra il Will M e ssa ge d e ve e sser e salvat o su l Se r ve r e asso cia t o alla co nn e ssio ne del n e t wo rk. Il Will Me ssage d e ve e sse re pu bb lica t o q u an d o la co nn e ssion e d el n e t wo rk è su cce ssivame n te ch iu sa, salvo ch e il Wi ll Me ssage sia st at o can ce llato d al Se rve r do p o aver r ice vut o un p a cche t to D ISCON N E CT . Will Qo S e Will Re t ain sar an n o u sati d al Serve r e d i camp i Will T o p ic e Will Me ssage so n o p re sen t i n el P aylo a d

Se 0 Will Qo S e Will Re t a in de vo no va le re 0 e Will T op ic e Will M e ssa ge no n son o p re se nt i ne l P ayloa d . Il Will Me ssage n o n sarà p ub b lica t o alla f in e d e lla co n n e ssion e . Il Will Qo S p ot r à va ler e so lo 0

Will Qo S = se Will Flag vale 1 pu ò e sse re 0 1 2 ( n o 3 )

Will Re t a in = se 0 il S e r ve r de ve p ub b licare Will M e ssage com e m e ssaggio n on m an t en ut o , se 1 il Will M e ssage è mant e nu t o

(24)

24

Use r N a me Flag = se 0 l’Use r N ame no n è p r e se nt e n e l P a ylo ad e P asswo rd F la g d e ve e ssere 0 . Se 1 n e l Pa ylo ad è p r e s en t e il ca m po Use r Nam e

Ke e p Alive - 2 Byt e , è il te mp o e spr e sso in se co nd i che in t e rco rre t ra il m o m en to in cu i il Clie nt f in isce la t r asm issio ne d i u n Con t ro l P acke t e l’in iz io de ll’in vio d e l p r o ssim o

P aylo a d :

co n t ien e u n o o p iù camp i p re f issat i, la lo r o p re sen z a è le gat a al valo re d e i f la g n e l V ar ia b le He ade r. I camp i, in o rd ine d i a pp a riz io ne son o :

Clie n t Id e nt if ie r, h a la d imen sio ne d i una st r in ga co d if ica t a UT F - 8 , id e nt if ica il Clie n t al Se rver. Ogn i Clie nt con n e sso ha u n un ico Ide nt if ier

Will T op ic , p re se nt e se Will Flag è im p ost a t o a 1 , è grand e co m e un a strin ga UT F - 8

Will M e ssage , p re sen t e se il Will Flag vale 1 , d ef in isce il m essaggio d i ap p licaz io n e ( App lica t io n M e ssage ) pub b lica to dal Will T op ic. La su a

d im e n sio n e è d at a da 2 Byt e , d o ve è in d icat a la lu n gh e zz a de l m e ssaggio ch e se gu e , so mmat i ai Byt e de l me ssa ggio ve ro e p ro p rio

Use r N a me , ab ilit ato d a Use r N am e Flag= 1 è u n a st rin ga UT F - 8 u sa t a d a l S e r ver p e r l’au te nt icaz ion e e la aut o r iz z az io ne

P asswo rd , co lle gat a all’Use r N am e o ccup a 2 Byt e , in cu i è esp re ssa la lu n gh ez z a d e lla p asswo rd , so mmat i a i Byt e d e lla passwo r d st e ssa

(25)

25 CON N ACK:

il CON N ACK è il p acch e t to in viat o d al Se r ve r in rispo st a a l p a cch e tt o CONN E CT. Il p rim o p a cch et to in viat o d al S e r ve r D EV E e sse re un CON NACK.

Fixe d He a de r:

la Fixe d He ad e r si pr e se n ta ne lla f o r m a classica co n un a Rem a in in g Le n gt h d i va lo r e 2 .

V a r ia b le He a d er:

SP Se ssion P re se nt = se il S e rve r a cce t ta u n a co nn e ssion e co n Cle an Se ssion se t t at o a 1 , il Server d e ve impo st ar e a 0 sia SP ch e il Ret u rn Co d e .

Se l a con n e ssion e acce t t at a h a Cle a n Sessio n u gu a le a 0 allo ra il va lo re d i SP d ip en d e d a l f at to che il Ser ve r ab b ia già salvat o u na Se ssione d i u n Clie nt ID già p re sen te , se la Se ssio n e e r a st at a già st a ta sa lva ta a llo ra S P sa rà 1 , alt r im en t i 0 . Il Ret ur n Co d e sarà se m p re 0 .

Re t u r n Co de = n e l caso d i u na co nn e ssio n e accet t at a avrà valo re 0 a lt rim en t i assu m e r à i valo ri come ind icat o n e lla tab e lla se gu e nt e

(26)

26

Figura 26-Struttura Variable Header Connack e Return Code

P aylo a d :

il ca m p o P a ylo ad non è p re sen te in qu est o t ip o d i p a cch et to

P UBLISH:

q u e st o è il p acch e tto ch e t r asp o r ta l’ Ap p licat io n M e ssa ge

Fixe d He a de r:

n e lla Fixed He ad e r assu mo n o mo lt a imp o rt an z a i b it 3 2 1 0 d e l p rim o Byt e , la Re m a in in g Le n gt h no n h a u n valo re f issat o , ma d ip en d e d al co n te n ut o d e l

(27)

27 p acch e tt o

Figura 27-Fixed Header Publish

D UP D u p lica t e D e live ry o f a P UBLISH Con t r o l P a cke t = se 0 sign if ica che è la p rim a o cca sion e si pro va ad in via re un m e ssaggio d i qu e st o t ipo , alt rim en t i va le 1

Qo s Le ve l = in dica il live llo d i q u a lit à p er il t r asp o rt o d e ll’Ap p licat io n M e ssa ge

Figura 28-Bit Livelli di Qualità

Re t a in = se u gu ale ad 1 il S e r ve r ( o il Clie n t se il P UBLISH è in via t o d a l S e rve r ) d e ve salva r e l’Ap p licat io n M e ssage e la su a Qu alit à in m od o ch e p o ssa n o e sse re t r asm e ssi a i fu tu ri su b scr ib ers. Se il S e rve r in via u n p acch ett o d i q u e st o t ipo a d u n Clien t , Re t ain d eve vale re 1 se il m e ssa ggio è in via t o com e risu lt a to d i un a n u o va so tt o scriz ione f at t a d al Clie nt , me n t re de ve va le re 0 se co rrisp on de ad u n a so tt o scriz ion e già st abilit a

(28)

28 V a r ia b le He a d er:

co n t ien e i se gu en t i camp i, T op ic Na m e e P acke t Id e nt if ie r. Il T o p ic N a m e ind ica l’a rgo m e nt o ch e rigu ar d a i d at i d e l P aylo ad , me nt re il P a cke t ID è p re sen te s o lo in p acche tt i co n QoS d ive rso d a 0 , vist o ch e q u e st i ca si co mp o rt an o u n rit o r no d i d at i verso ch i h a in viat o il p acch e tt o . N e lla t ab e lla è in d ica t o un e se m p io d i V a r ia b le He a d er de l P UBLIS H

Figura 29-Esempio di Variable Header Publish

P aylo a d :

è qu i ch e r isied e l'Ap p licat io n M e ssage . N on è co n side ra t a u n a vio la z ion e d i p ro to co llo in viare un P UBLISH co n P a ylo ad con t en en t e z ero Byt e

(29)

29 P UBACK:

q u e st o p a cch e tt o è la r isp o st a che ci si asp e tt a d a u n d a u n P UBLISH co n Qo S = 1 ( co n se gn at o alme no un a vo lt a ).

Fixe d He a de r:

id e nt ico a lla fo rma classica co n Re m ainin g Le n gt h d i va lo re 2

V a r ia b le He a d er:

è d i 2 Byt e e con t ien e il P acke t Id e nt if ie r d el p a cche tt o d i cu i d ob b ia mo co n f e rm are l’arrivo

P aylo a d :

n o n p r e se n te

Figura 30-Esempio di Comunicazione Client-Server con QoS1

P UBRE C P u b lish Re ce ive d P UBRE L P u b lish Re lease P UBCOM P P ub lish Co mp let e :

q u e st i tr e p acch e tt i co m p on go no in siem e a l P UBLISH u n scam b io co mp let o d i Qo s2 . Su b it o d op o la r ice z ion e d i u n P UBLIS H il d e st in at ario in via u n P UBRE C

(30)

30

co n t en e te il P acke t Id e n tif ie r d el p acche t to int e re ssat o , che qu and o vien e rice vu t o a b ilit a il mit t en t e all’in vio d i un P UBRE C. Lo sca m bio si co n clu d e co n

u n P UBCOM P rice vut o d al mit te nt e .

Figura 31-Esempio di Comunicazione Client-Server con Qos2

Fixe d He a de r:

il p r im o Byt e camb ia co n il t ip o d i p a cch e tt o , la Re m ain in g Le n gth è se m p re u gu a le a 2

V a r ia b le He a d er:

co m p o st a d a 2 Byt e co n t en e nt i il P acke t Id e nt if ie r d e l p a cche t to in qu e st io n e

P aylo a d :

n o n p r e se n te

SUBS CRI BE :

in via t o d al Clie nt al Se rve r pe r cr e are un a o p iù sot t o scriz io n i. Ogn i

so t t o scriz io ne re gist r a l’in t e re sse d i u n Clie n t ve rso u no o p iù T o p ics. Il Se rve r in vie rà i p a cch et t i PUBLISH ad o gn i Clien t ch e co rrisp o nd e alle so tt o scriz io n i. N e l SUBSCRIBE è anch e sp e cif icat a la qu alit à m assim a con cu i il Serve r d e ve in via re gli App licat io n M e ssage s al Clien t .

(31)

31 Fix e d He ade r:

re la t ivo a l p acch e tto co n u n a Re m a in ing Le n gth d i 2 Byt e , p e r la V ariab le He a d e r, sommat i alla lu n gh ez z a d e l P a ylo ad

V a r ia b le He a d er:

co n t ien e il P acke t Id e nt if ier

P aylo a d :

q u i si t ro va n o un a list a d i f ilt ri T o p ic (co d if icat i in UT F -8 ) ch e in d icano i var i T o p ics ch e il Clien t vu o le sot to scr ive re e un b yt e che in d ica la Qu a lit à con cu i f a rlo . D e ve con te n er e almen o u n f ilt r o , alt r im en t i u n P a ylo ad vu ot o è visto co m e un a vio laz ion e d i p r ot o co llo .

Qu i so tt o è in d icato l’e se mp io d e lla so tt o sc riz ion e d e i se gue n t i T op ics

(32)

32 E d e cco co me vien e co d if icato il P aylo ad

Figura 33-Esempio di Codifica di un Payload del Pacchetto Subscribe

I b it d a l 7 al 2 d e l Re q u e st e d Qo S Byt e so n o f issa t i a 0 p erch é n o n u sat i in q u e st a ve rsion e d e l p r o to co llo e rise r vat i pe r u si fu tu ri

SUBACK:

Qu an d o il Se rve r rice ve un pacch e tt o SUBSCRI BE d e ve rispo n d ere con un SUBACK ch e abb ia lo st e sso P acke t Id en t ifie r d e l S UBSCRIBE d i cu i vo glio

co n f e rm a . Al S erve r è pe rm e sso l’in vio d i p acche tt i P UBLISH ch e co rrisp o nd o no alla so tt o scriz io n e an ch e p r ima an ch e prim a d i in viare un SUBACK. La rice z io ne d a p ar t e d el S e rver d i f ilt r i T op ic già sot t o scr it t i com p o rt a il rim p iaz zo d e lla ve cch ia so tt o scriz ion e con la n uo va, i f ilt r i To p ic sa ran no ide n t ici m a po t rà

(33)

33

camb ia re al massimo la q u alit à. Il SUBACK co n t ien e n e l P a ylo a d u n co d ice d i rit o rn o ( Ret u rn Code ) p er o gn i filt r o p re se n te ne l S UBS CRIBE n e l q u ale . Il Se rve r po t re bb e gara n t ir e un a Qualit à in f e r io re a qu e lla rich ie st a.

Fixe d He a de r:

d i fo r ma to st and ard co n Re main in g Le ngt h in d ican t e la lu ngh e zz a d e lla V aria ble He a d e r (2 Byt e ) p iù la lun ghe z za de l p aylo ad

V a r ia b le He a d er:

co n t ien e il P acke t Id e nt if ier de l SUBS CRIBE ch e vo g lio con fe rm a re

P aylo a d :

co n t ien e u n a list a di Re t u rn Cod e s che co r risp o nd on o a lla co n f e rm a de i filt ri T o p ics. L’o rd in e d ei Re t u rn Co de s d e ve risp e tt are q ue llo d e i T o p ic Filt e rs n e l p acch e tt o S UBSCRIBE . I co d ici o lt r e a con f e r mare il su cce sso d e i f ilt ri in d ican o co n qu a le Qu alit à so n o st at i acce tt at i

Figura 34-Payload Suback

I co d ici d iversi d a qu e st i so n o r ise r vat i e N ON D EV ON O e sse re u sat i

UN SUBS CRIBE :

in via t o so lo d al Clien t q u an do vu ole cance llar e un To p ic. D uale al SUBSCRIB E , n e p r e se nt a la ste ssa f o rma camb ian do so lt a nt o :

(34)

34 - il p rimo Byt e d e lla Fixe d He ad e r

- i Byt e Re qu e st ed Qo S n e l P aylo ad non so no p re sen t i UN SUBA CK:

d i co n se gu en z a d uale al SUBACK, ind ica la co n fe rm a d i u n UN SUBSCRIBE . Se il Se rve r can ce lla un a S o t to scriz i on e , d e ve f e r m are i nu o vi m essa ggi d i co n se gn a al Clie nt e co mp let ar e la con se gn a d i me ssaggi Qo s> 0 ch e a ve va già in iz iat o a in via re . Il Se rve r d eve r isp on d ere con UN SUBACK a n ch e ad u n UN SUBSCRIBE ch e no n can ce lla n essu n To p ic. Al co n tra rio de l SUBACK p re se n t a u n P a ylo ad vu o t o .

P IN GRE Q P in g Re q ue st :

è in viat o d al Clien t al Se rve r e p u ò e sser e u sat o p e r:

- a vve rt ir e il Se rve r ch e il Clien t è vivo , q u and o n on è n e ce ssario l’in vio d i a ltr i p acch e tt i

- r ich ie de r e con fe rma ch e il S e rve r è vivo - ve r if ica r e ch e l a con n e ssion e d i re t e sia viva

Fixe d He a de r:

Figura 35-Fixed Header Pingreq

V a r ia b le He a d er e Paylo ad :

(35)

35 P IN GRE SP Pin g Re spo n se :

in via t o d al S e rve r al Clie n t in risp o st a ad un P IN RE Q, ind ica ch e il S e rve r è vivo

Fixe d He a de r:

Figura 36-Fixed Header Pingresp

V a r ia b le He a d er e Paylo ad :

n on pre se nt i

D IS CON N E CT :

è il Con t ro l P acke t fin ale in via to d al Clie n t al Serve r. Ind ica ch e il Clie nt si è d isco n ne sso co rret ta me n te . Do p o il suo in vio il Clie nt d e ve :

- ch iud e re la Ne t wo rk Co n n e ct io n

- n on in viar e p iù p acch e t t i su q ue lla N etwo r k Co n n e ct ion

Il Se rve r d e ve :

- e lim in are o gn i Will M e ssage a sso ciat o a q ue lla con n e ssione se nz a p ub b lica r lo ( ve d i par t e re lat iva al Will F lag )

(36)

36 Fixe d He a de r:

Figura 37-Fixed Header Disconnect

V a r ia b le He a d er e Paylo ad :

(37)

37

E S E M P I D I F LUS SO DI M E S SA GGI PE R LIVE LLI D I QUALIT A’ [ 17.a ] :

Figura 38-Qos 0 At most once delivery

(38)

38

(39)

39

5-Comunicazione tra dispositivi mediante Protocollo MQTT e

relativa analisi dei pacchetti

Ora p o ssia m o p ro ced e r e con la cr e azio ne d i u na co m un icaz io n e co n p rot o co llo M QT T t ra u n p c ed u n t ab le t e d an aliz zarn e il co nt e nu to dei p a c ch et t i.

P e r p ro ce de re ci se rve in nan zi tu tt o u n b r o ke r, f o rt u na t a men t e so n o a n o stra d isp o siz io ne de i b roke r gr at u it i d ispo n ib ili in r et e e d in st alla b ili sul no st ro p c, d o p o a lcun e p ro ve la n o st ra sce lt a è cad u ta su M o sq u it t o, u n Hub Op e n So ur ce ch e imp le men t a la ve r sio n e v3 .1 e v3 .1 .1 d e l p ro t o co llo M QT T .

Figura 41-Mosquitto Logo [18.a]

P o i dal lat o d e l t ab le t ab b iamo u sat o l’ap p licaz io n e gra tu ita M yM QT T pe r An d r o id ch e è in grad o d i fo r n ir ci un a con so le d a re m o to in cu i so tt o scrive re t o p ic, p ub b licare me ssaggi e sta b ilir e un a co nn e ssion e con e ve n tu a li Bro ke r sia all’in t ern o d e lla no st ra r et e p rivat a che all’e st e rn o .

(40)

40

Figura 42-MyMQTT App Logo [19.a]

In f in e su lla no st ra m acch in a è n e ce ssario un an alizz ato re d i p ro to co llo , t rat t asi d i un sof t ware in grad o d i le gger e t ut t o il tr aff ico da t i p assa n t e in e nt ra mb e le d ir e z io n i su lla re te d e l n o st ro co mp ut er. Ab b iam o sce lt o Wire sh a r k un

p ro gra m m a mo lt o po t e nt e ch e ci p e rmet t e d i su dd ivid ere il t ra ff ico p e r p ro to co lli d ive rsi e d i analizz ar e la str ut t ur a d i un p a cch e tto f in o a l sin go lo b yt e .

(41)

41

Ad e sso che è tu tt o in st allat o p o s siam o co m in cia re . Già all’avvio d e lla n o st ra m acch in a Lin u x, il Br o ke r M o sq u it to dovr e b b e att ivarsi in au t o m at ico , p e r ve rif ica r e ch e sia così la n ciamo il co m and o n et st a t - a n ch e ci p e rme tt e d i ve rif ica r e lo stat o de lle co nn e ssion i su l co m p u te r. Se ve d iam o ch e la p o rta 1 8 8 3 , ch e è q u e lla st and ar d p e r il t r af f ico M QT T , è in stat o d i LIST EN a llora M o squ itt o f un z ion a

Figura 44-Esecuzione comando netstat -an

Gr a z ie a l co mand o ba se d e l b ro ke r mo squ i t to _ su b p o ssia m o so t t o scrive re un d is p o sit ivo ad un t op ic, n e l no st ro caso p e r e vid e nz ia re l’imp o rt an z a d i a var e t o p ics d ive rsi cree re mo du e f in e st re term in ale co n d u e to pics d if fe ren t i in m o d o d a simu lare du e d isp o sit ivi su lla st e ssa ret e m a con d ive rse

so t t o scriz io n i.

I co m a n d i mo sq u i tto _ su b -d -t to p i csu b1 e mo sq ui t to _ su b -d - t t op i csu b 2 in d ica no r ispe tt ivame n te la so tt o scr iz io n e al t op i c su b 1 e to p i csu b 2 d e i du e d e vice s. Il to p ic va in se r ito do p o - t m ent re - d in d ica ch e vogliam o ab ilit a re il d e bu g de i m e ssaggi

(42)

42

Figura 45-Sottoscrizione da PC a topicsub1 e topicsub2

D a l lat o d e l t able t ef f et tu iamo la con n essio n e a l b ro ke r in se re nd o l’in d iriz zo IP d i do ve si t ro va, in q u e st o ca so q ue llo d e l n o st ro co mp ut er

(43)

43

Figura 46-Connessione al Broker da Tablet

A co n ne ssio n e st ab ilit a in viamo d al t ab le t il m e ssaggio p ri mo i n vi o d a t a bl et a

p c a ll’a r go m en to top i csu b 1

Figura 47-Esecuzione di un Publish dall'Apllicazione

E n ot ia m o ch e rice ve r à il me ssaggio so la m e n te il t e r m in ale so t t o scrit t o a

(44)

44

Figura 48-Ricezione di un messaggio inerente a topicsub1

Gr a z ie a ll’a n aliz z at or e d i p ro t o co llo è po ssib ile ved e re ch e il co n te nu t o d e l m e ssa ggio Pu b lish risp e cch ia la co n fo r maz io ne re la t iva allo st a n d ard M QT T e so p r a tt ut to la z on a in cu i si t ro va il m e ssaggio d a t rasp o rtare e la su a

(45)

45

(46)

46 Rip e t ia m o la co sa pe r il se con do to p ic

Figura 50-Esecuzione del secondo Publish dall'Applicazione

(47)

47

Figura 52-Struttura del secondo messaggio Publish analizzata con Wireshark

P ro ce d ia mo co n la ve rif ica con t r ar ia, que st a vo lt a sa rà il t ab le t a sot to scrive r si a u n to p ic ch iamat o p ro v a p ub

(48)

48 E il p c pu b b lich e rà gr az ie al co man d o

mo sq u i t t o _p u b - d - t p ro v a p ub - m i n vi o _p c_ t a b l et

il me ssa ggio i n vio _ pc_ t a b l et al t op ic p ro va p u b

Figura 54-Invio di un Publish da PC a tablet

ve d ia m o ch e l’ap p lica z io n e su l t ab le t ha rice vu to il m e ssaggio

(49)

49 E r e lat iva a nalisi de i p acch et t i

(50)

50

(51)

51

Figura 58-Struttura del pacchetto Publish da PC a tablet analizzata con Wireshark

In co n clu sion e , p e r co mp le te zz a rip o rt iam o an ch e l’an a lisi d e i p a cch e tt i P in greq , P in gre sp e D isco n ne ct , ved iamo co m e il co nt e nu to risp et t a a l l a p e r fe z ion e lo st andard

(52)

52

(53)

53

(54)

54

(55)

55

D a no t a re du ran t e l’an alisi d i pr o to co llo ch e i du e in d iriz z i IP ch e si scam b ian o co n t inu am en te il cam p o d i S ou r ce e De st in at io n , so no 19 2 .16 8 .1 .7 0 ch e co me in d ica to al mo men to d e lle con n e ssion e a d u n Bro ke r d a t ab le t è l’in d irizz o d e l n o st r o p c e 19 2 .1 68.1 .6 8 ch e è l’in d irizzo IP d e l t a b le t

(56)

56

6-Soluzioni Preconfigurate per Dispositivi IoT

A sco p o d i r ice rca so n o st ate an aliz z ate alcu n e p iat t af o rme sp e cif ich e , f orn it e d alle p rin cip ali az ien d e d e l se tt o r e , de dicat e alla co nn e ssion e d i d isp o sit ivi n e ll ’a mb it o d e ll’In te r n et of Th in gs in un amb ie nt e p re con f igu ra t o . All ’int e rn o d i e sse si t ro van o gli Hu b p en sat i p e r la co n n e ssion e d e i d isp o sit ivi, n e

rip o rt ia m o le carat te r ist ich e d e i du e p iù co m un i.

M icr o so ft A Z URE [ 3 .b ] :

l’Hu b Io T d i Azu re su p po rt a in m o do n at ivo la co m un icaz ion e t ra i p rot o co lli AM QP , M QT T e HT TP / 1 ; n e l caso d i pr ot o co lli n o n sup p o rt at i è p re se n te u n ga t e wa y p e r son aliz zab ile . Pe r q u an t o rigu ar d a l’im p le m e ntaz io ne de l

p ro to co llo M QT T v3.1 .1 n ot iamo :

- Qo S 2 n on è su pp o rt a t o . Qu and o u n Clie n t in via u n P UBLISH co n Qo S 2 , l’Hub Io T ch iud e la co nn essio n e d i r et e . Quand o u n Clien t in via un S UBSCRIBE co n Qo S 2 , l’Hub IoT co nce d e il live llo Qo S 1 m assim o n e l p a cche t to SUBACK

- n on sup p ort a Re t ain e d M e ssage , se u n Clie n t p ub b lica u n m e ssaggio co n Re t a in Fla g u gu ale a 1 il Bro ke r no n re nd e p e r sist en te il m essaggio d i

m an t en imen t o (se si u t ilizz a l’ap p licaz io n e b a ck - e nd d isp on ib ile in Azu re allo ra il me ssa ggio le viene p a ssat o )

- e sist on o già d isp o nib ili pe r i d isp o sit ivi Clie n t , d e gli SD K (So f t ware D e ve lop m e nt Kit ) che su pp o rt ano il p r oto co llo M QTT . Qu e st i SD K p e r imp o st az ion e p red ef in it a si con n et to n o a un Hub con il f la g Cle a n Se ssio n u gu a le a 0 e u n a QoS 1 p e r lo s ca m b io di m e ssaggi co n il Bro ke r

(57)

57 AWS Io T [4 .b ] :

è la p ia tt afo rma p e r Io T d i Am az on Web S e r vice , t ra i su o i vari co m p on en t i t r o viamo il M e ssage Br o ke r co n le ca ratt e r ist ich e e le n cate d i se gu it o . Su pp o rt a l’u so d e l p rot o co llo M QT T p e r e se gu ire P UBLIS H e SUBSCRIB E , l’u so d e l HT T P S p e r il P UBLISH e il pro t o co llo M QTT su We b So cke t . Con ce nt ra nd o ci so lo su l p ro to co llo M QT T , ch e è qu e llo ch e ci int e r e ssa ma ggio rm ent e n o t iam o q u e st e sp e cif ich e:

- Qo S 0 sign if ica ch e il m e ssaggio sar à inviat o 0 o p iù vo lte (in ve ce d i al m assim o 1 ). Il me ssaggio p ot r eb b e e sser e in viat o p iù d i un a vo lt a , in q ue st o caso p ot r e bb e ave r e u n P a cke t ID d iff e re n t e e d i con se gue nz a il D UP ( D up lica t e D e live r y of a P UBLIS H ) n o n a tt ivo .

- n on sup p ort a P UBLISH e S UBS CRIBE co n Qo S 2 e d i con se gu e nz a n o n in via P UBACK o S UBACK qu an do richie st a

- q u an do si risp on d e ad u n a rich ie st a d i co n n e ssion e con u n CON N ACK, il f la g ch e ind ica di rip re nd e r e u n a se ssion e pr e ce d e nt e , p ot reb be ave re u n valo re sb a glia t o se d u e Clie n t si co nn et t on o co n lo st e sso ID co n te m p o ran e am en te

- d op o u n S UBSCRIBE p uò e sse rci r it ard o t r a il m o m en to in cu i il Bro ke r in via u n SUBACK e il mo me nto ch e il Clie nt in iz ia a rice ve re nu o vi messaggi

- n on sup p ort a Re t ain e d M e ssage , se ven go n o r ich ie s t i, la co n n e ssion e si ch iu de

- q u an do un Clien t si co n ne tt e al Br o ke r co n un ID già in u so d a un a lt ro Clie nt , vie n e in via t o un CON N ACK ad en t r am b i e d il Clie nt al m o m en t o co n ne sso ve rrà d isco n ne sso

- n on sup p ort a se ssio n i p e r siste nt i, se il Clie n t in via un m e ssa ggio co n Cle an Se ssio n u gu ale a 0 , il Clie n t ve rr à d isco nn e sso

- in ra re o cca sio n i il Br o ke r p ot r e bb e r inviar e lo st e sso P UBLISH co n un d ive r so ID p a cke t

(58)

58

7-Confronto tra MQTT e HTTP

V e rif ich ia m o se ve rame n te la sp e sa in Byt e è in f e rio re m o st ra nd o q u i so tt o l’in vio d e l me ssaggio He llo Wo rld con ent r am b i i P ro to co lli e co n sid era nd o p e r e n t r amb i i casi, an ch e d e ll’in vio d i alcun i se gm en t i n on re lat ivi a llo st rat o Ap p lica tivo ma n e ces sa ri p e r la Con n e ssio n e d i Ret e

HT T P , co n met o do Po st :

in qu e sta analisi ci h a aiu t at o l’u so d e ll’an a lizz ato re d i p roto co lli Wire Sh a rk e il se gu en t e d iagramma a lla p agin a[ 5 .b]

Figura 63-Three Ways Handshake

Qu e st i p rim i t re mes sa ggi so n o f on d ame n t a li p er ap rire u na co n ne ssio n e T CP e ve n go n o ch iamat i Th re e Ways Ha n d sh ake , o ccu p ano in to tale 2 18 Byt e

(59)

59

Figura 64-Invio del Messaggio HelloWorld con metodo di richiesta Post

Ad e sso vien e in viato i l me ssaggio He lloWo rld che vale 1 0 Byt e co m e si pu ò ve d e r e n e lla case lla Co n te n t – Le n gt h . A q ue st i b yt e aggiun giam o u n He ad e r h t tp p e r il me ssaggio P o st di 55 5 Byt e , p iù 6 6 Byt e d i He ade r d e gli st rat i in f e r io r i. In t ot ale ab b iamo qu ind i 63 1 Byt e

Figura 65-Conferma di avvenuta ricezione

D u e m e ssa ggi d i co nf e rm a, il prim o a live llo T CP d i 6 6 Byt e e d il se co nd o h tt p d i 77 6 Byt e (3 6 0 Hea d e r 4 1 6 Co nt e nt - Len gt h )

Figura 66-Conferma TCP del Client

(60)

60

Figura 67-Scambio di messaggi Client-Server per chiusura connessione TCP

E d in f in e la ch iu su ra d e lla co nn e ssio ne T CP d i 4 me ssa ggi da 6 6 = 26 4 Byt e

(61)

61 M QT T :

co m e p a rt en z a p e r lo svilu pp o d i q ue st o st ud io ci siam o in izialm e nt e ap p o ggiat i ad u n vide o tro vat o in r et e [6.b ]

P e r l’an a lisi se gu e nte co n side r iam o il caso in cu i il T op ic sia “ Sa m p le T op ic” , il Clie n t ID o ccup i 23 Byt e e Qo S = 0

Figura 68-Three Ways Handshake

T h r e e Wa ys Hand shake d i ap e rt u r a T CP 2 1 8 Byt e

MQTT CONNECT

(

105 Byte TCP (ACK)

(

66 Byte MQTT CONNACK

(

70 Byte TCP (ACK)

(

66 Byte MQTT SUBSCRIBE

(

84 Byte TCP (ACK)

(

66 Byte MQTT SUBACK

(

71 Byte TCP (ACK) ( 66 Byte MQTT PUBLISH

(

91 Byte TCP (ACK)

(

66 Byte

(62)

62 MQTT DISCONNECT

(

68 Byte

p o i u n a co mp let a com u n icaz io n e M QTT co n le r isp et t ive con f e rme n e llo st rat o T CP

Figura 69-Chiusura connessione TCP

E d in f in e la n e ce ssar ia ch iu su ra d i con ne ssio n e T CP d i 26 4 Byt e

Il P ro to co llo M QT T h a imp ie ga to qu ind i 1 3 01 Byt e

D IF FE RE N Z E RISCON T RAT E :

u san do il P rot o co llo M QT T , n on o st an te la q u an tit à d e i m e ssaggi t ra sm e ssi sia m aggio re , ab b iamo r isp ar miat o 72 0 Byte risp et to a l P rot o co llo HT TP Po st , ciò è d o vut o a lle rid o tt e d ime n sio n i d e l su o He ad e r. La n o st ra an a lisi po i, si lim it a all’in vio d i u n sin go lo m e ssaggio a p p licat ivo , q u ind i è f acile im m a gin a re il gu a d agno ch e si p u ò o tt e ne re con u n n um e r o m a ggio re d i Ap p licat io n M e ssa ge s.

(63)

63

8-Conclusioni

D o p o l’at t en t a an alisi e se gu it a in qu e sto scr it to , p o ssia m o a f f e rm a re con ce r t e zz a che , al mome n to , il p rot o co llo M QT T rapp re sen t a u n ’ot t im a sce lt a se u sat o p e r imp le ment are co mu n icaz io ni M 2 M . Co me n o t at o n e l cap it o lo

p re ce d en te il p rot oco llo M QT T è in grad o d i limit are il n um e ro d e i b yt e t r asm e ssi r isp e tt o al p r ot o co llo HT T P , usat o con m et od o P OST , in p iù

l’a rch it et tu ra p ub lish / sub scrib e e le varie t ip o lo gie d i T yp e M e ssage son o in gr ad o d i f o rnire alla co mu n icaz ion e u n a m o d u larit à ra ram ent e ot te n ib ile con u n ’a r ch it et tu ra richie st a/ r isp o st a . Lo stu d io , p o i, d i un a com u n icaz io n e t ra d isp o sit ivi Io T (Cap it o lo 4 ) h a f at to risalt a re , o lt re ai p re gi d e tt i p rim a, l’im p o rt a nz a d i po t er ge st ir e co n m o lt a se m p licit à l’in vio d i m e ssaggi o n e to -m an y. T ut t i risu lt at i ch e sp e r ava-m o d i ot t en e r e a l l’in iz io d ella T e si, so n o st at i co n f e rm at i e in se riti in u n co nt e st o r e a le gr az ie al la vo ro d i an a lisi e

(64)

64

Bibliografia

[ 1 .a ] An d ro id ian i. htt p :/ / www.an d r o id ian i.co m / n e ws/ st e ve -wo z n ia k - e - la - b u bb le -p ha se - de llint e rne t -o f- th in gs -2 43 1 9 5

[ 2 .a ] D igit a lic h tt p: // www.d igit alic.it / wp / te cn o lo gia/ int e rne t - of -t h in gs - en t r o- il- 2 0 18 - sa r a- p iu -d iffu sa - de gli - sm a rt ph on e / 97 6 02

[ 3 .a ] Syste ms Int e grat io n ht tp :/ / www.s yst e m sin te grat io n .it/ d o m ot ica -h o m e-au t o ma t ion - iot -b e llo - m a - co me - si-u sa - i l- t e rmo st at o /

[ 4 .a ] Sga rt h tt p s:/ /www .sgar t .it / IT / e let t ro/ ape rtu ra cen cello iot co nt ro llat o -via - wi - f i- e sp 8 26 6 /po st

[ 5 .a ] jif f yj o sep h ht tp : / / www.jif f yjo se ph.co m / h o m e/ h a ckin g a n o rd in a ry -wa sh in g - ma ch in e -t o- io t- d e vice

[ 6 .a ] Te cn o lo gia3 6 0 h t tp :/ / te cn o lo gia3 60 .it / tikim o - sca rp e- gp s/ [ 7 .a ] P e t P o in te r h ttp s: / / www.p e t po int er .ch / it /

[ 8 .a ] Th e High - Te ch S o cie t y ht tp s: // th e high t e ch so ciet y.co m /in ge st ib le me d ica l -se n so r /

[ 9 .a ] Th e D iss h tt p :// t he d issnb a .co m / 201 4 / 10 / 31 / e xch an ging b lo od f o r -p ro f it s/

[ 1 0 .a ] E n e llakt iko s ht t p: / / www.e n allakt iko s.gr / kg1 2 e l_ e n erge ia.h t m l [ 1 1 .a ] S ma r t Cit ie s Wo r ld h tt p s:/ / sm artcit ie swo rld .n et /n e ws/ n e ws/ sm a rt -t r aff ic - co u ld - save- 42 - b illio n -m a n -h ou r s- a n nu a lly - 65 3

[ 1 2 .a ] Lin ke d in h tt ps: / / www.lin ke d in .co m / p u lse / wo rld t omo rro w n avee n -n e llo r e

[ 1 3 .a ] In st ru ct ab le s h t tp :/ / www.in st r u ctab le s.co m / ta g/ t yp e -id / ?so r t= n on e &q = rem o t e + mo n it o rin g

[ 1 4 .a ] Lin ke d in h tt ps: / / www.lin ke d in .co m / p u lse / ho w m qt tb a se d ib m io tf -u n ive r se - ch a n ge - tomo r ro w - ad it ya - o m

[ 1 5 .a ] In sight s Samsu n g h tt p s:/ / in sigh t s.sam su n g.co m / 20 1 5/0 6 / 10 / se cu rin g t h e int e rne t o f th ings risks t o b e ne f it s/ t he r isks and ad van t age s o f th e -in t e rn et - of -t h -in gs - io t /

[ 1 6 .a ] J a xe nt e r h tt ps: / / jaxe nt e r.d e / sm art h o me in act io n m it op e nh ab un d -m q tt - 20 1 08

(65)

65

[ 1 7 .a ] P ro gramm in g wit h re aso n h tt p: / /p r o gr am m in gwit h reaso n .co m / a rt icle - m q tt - i n- de p th .ht ml

[ 1 8 .a ] M o sq u it t o htt p s: // mo sq u it t o .o rg / [ 1 9 .a ]Go o gle P la y

h t tp s: // p lay.go o gle .co m/ st o re/ app s/d e ta ils?id = a t .t rip wire .m q tt .clie n t [ 2 0 .a ] Wir e sh ark h ttp s: / / www.wire sh a rk.o rg/

[ 1 .b ] Ke y4 Biz h tt p s:/ / www.ke y4 b iz .it / iot 84 m ilia rd i d i o gge t t i co nn e ssi ne l -2 0 1 7- i n- a u men to - del - 3 1 /1 8 04 8 6/

[ 2 .b ] S t an d ard Oasis M QT T v3 . 1 .1 h tt p :// d o cs.o a sis

-o p e n .-or g/ mqt t/ mqtt / v3 .1 .1/ csp r d 02 / mq t t - v3 .1 .1 - csp rd 02 .h t m l [ 3 .b ] M icro sof t A zu re ht tp s: / / www.az u re io t su it e .co m /

[ 4 .b ] Ama zo n We b Se r vice

h t tp :/ / do cs.aws.am az o n .co m/ io t/ late st/ d e ve lop e rgu id e/ iot - d g.p df [ 5 .b ] E ve nt h elix

h t tp s: // www.e ve n t he lix.co m/ Re alt im eMa n t r a/ N et wo rkin g/ HT T P _ Po st .pd f [ 6 .b ] Y ou T ub e h tt p s: / / www.yo u t u b e .com / wat ch ?v= 7 9b MMT 7 RP q Y

Figura

Figura 4-Componenti di un Impianto per il Controllo di un Cancello Automatico [4.a]
Figura 13-Esempio di Internet of Things applicato al Settore dell'Agricoltura [13.a]
Figura 15-Prevenzione Attacchi Informatici [15.a]
Figura 22-Gestione dei Valori Remaining Length
+7

Riferimenti

Documenti correlati

La maggior parte delle volte il server proxy è usato per il web, si tratta allora di un proxy HTTP.. Tuttavia possono

Tuttavia, nslookup indica anche che questa risposta è “non-authoritative”, che vuol dire che è venuta dalla cache di qualche server piuttosto che dai server DNS del MIT.. Infine, la

(Un modo di farlo è di usare il comando nslookup, come abbiamo visto nel laboratorio Wireshark su DNS. Se non potete eseguire Wireshark su una connessione di rete dal vivo,

Notare che questo pacchetto di errore ICMP contiene molti più campi del pacchetto ICMP echo inviato da Ping7.

Nella vostra traccia dovreste essere in grado di vedere la serie di pacchetti ICMP Echo Request (nel caso di macchine Windows) o segmenti UDP (nel caso di Unix) inviati dal

Di seguito si trasmettono i numeri di repertorio degli Accordi Quadro inviati in data 12 febbraio u.s.:. *

• Solo disponendo di metodi adeguati di stima del Solo disponendo di metodi adeguati di stima del valore delle risorse ambientali (di natura monetaria valore delle risorse

Nel caso in cui il contenuto di memoria è uguale ai dati trasmessi, il tag imposterà il valore del contatore interno COUNT a 0, leggerà il valore UID, lo trasmetterà e passerà