IoT rendszerek kommunikációs megoldásai vitmav22

Hasonló dokumentumok
Hálózati réteg. WSN topológia. Útvonalválasztás.

Internet of Things az új mobil forradalom

Kommunikáció. 3. előadás

Jövő Internet Az innováció motorja a XXI. században

Osztott alkalmazások fejlesztési technológiái Áttekintés

SzIP kompatibilis sávszélesség mérések

Gigabit/s sebess«gű internetkapcsolatok m«r«se b ng«szőben

Fábián Zoltán Hálózatok elmélet

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Hálózati Technológiák és Alkalmazások. Vida Rolland, BME TMIT november 5. HSNLab SINCE 1992

Számítógépes Hálózatok. 5. gyakorlat

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

4. Hivatkozási modellek

IoT rendszerek kommunikációs megoldásai vitmav22

Üzenet a Pluto-ra. Delay- and Disruption- Tolerant Networking. Költl Péter. szenior műszaki tanácsadó CCIE #

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

A jövő Internetje. HTE Közgyűlés május 20. Dr. Szabó Róbert, e. docens.

Bevezetés a párhuzamos programozási koncepciókba

applikációs protokollok

API tervezése mobil környezetbe. gyakorlat

Hálózati alapismeretek

Az Internet. avagy a hálózatok hálózata

Hálózati Technológiák és Alkalmazások

E Q U I C O M M é r é s t e c h n i k a i K f t. H B u d a p e s t, M á t y á s k i r á l y u T. : F.

Webszolgáltatások (WS)

Kommunikáció Androidon Mobilinternet Wifi

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Alacsony fogyasztású IoT rádiós technológiák

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

SIP. Jelzés a telefóniában. Session Initiation Protocol

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Kiszolgálók üzemeltetése. Iványi Péter

Gyakorlatok. VITMMA09 Okos város MSc mellékspecializáció

Az M2M szabványosítási helyzete

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

S04-2 Elosztott alkalmazások készítése

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Hálózatok Rétegei. Számítógépes Hálózatok és Internet Eszközök. TCP/IP-Rétegmodell. Az Internet rétegei - TCP/IP-rétegek

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Autóipari beágyazott rendszerek. A kommunikáció alapjai

GOOSE üzenetküldés korszerű alállomásokban. Előadás: Rózsa Gábor

Hálózati ismeretek. Az együttműködés szükségessége:

Számítógépes Hálózatok GY 7.hét

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Bevezető Intelligens közlekedési rendszerek

IoT rendszerek kommunikációs megoldásai vitmav22

Transzport Réteg. Transzport réteg protokollok

Építsünk IP telefont!

Hálózatok építése, konfigurálása és működtetése EAP - RADIUS

Tartalom. Hálózati kapcsolatok felépítése és tesztelése. Rétegek használata az adatok továbbításának leírására. OSI modell. Az OSI modell rétegei

ColourSMS Protokol definíció. Version 1.2

Hálózati architektúrák és Protokollok GI Kocsis Gergely

20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei

Számítógépes Hálózatok GY 6.hét

Hálózati Technológiák és Alkalmazások. Vida Rolland, BME TMIT október 29. HSNLab SINCE 1992

Everything Over Ethernet

Fábián Zoltán Hálózatok elmélet

Információ és kommunikáció

IPv6 A jövő Internet alaptechnológiája

Osztott rendszerek (Distributed

Introduction. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

Mobile network offloading. Ratkóczy Péter Konvergens hálózatok és szolgáltatások (VITMM156) 2014 tavasz

Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen

VoIP Megoldások. Készítette: Lipcsei János

Kommunikációs middleware megoldások

Gyakorlatok. VITMMA09 Okos város MSc mellékspecializáció

vitmma09 Szenzorhálózatok és alkalmazásaik

Internet-hozzáférések teljesítményvizsgálata webböngészőben

Kiszolgálók üzemeltetése. Iványi Péter

MVC. Model View Controller

ARM Cortex magú mikrovezérlők. mbed

OEP Betegéletút lekérdezés háziorvosok és vénytörténet lekérdezés patikák számára. API dokumentáció. verzió: 2.01

INTERNET. internetwork röviden Internet /hálózatok hálózata/ 2010/2011. őszi félév

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Hálózati architektúrák laborgyakorlat

A Skype architektúrája. P2P hálózat Supernode ok, peer-ek, login server

webalkalmazások fejlesztése elosztott alapon

Az intézményi hálózathoz való hozzáférés szabályozása

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Alapfogalmak, WWW, HTTP

Autóipari beágyazott rendszerek. Local Interconnection Network

ELEKTRONIKUS ADATCSERE SZEREPE A GLOBÁLIS LOGISZTIKÁBAN

V2V - Mobilitás és MANET

Mobil Peer-to-peer rendszerek

IP alapú kommunikáció. 5. Előadás Routing 2 Kovács Ákos

VoIP biztonság. BME - TMIT Médiabiztonság feher.gabor@tmit.bme.hu

Felhő alapú hálózatok (VITMMA02) Hálózati megoldások a felhőben

Ethernet/IP címzés - gyakorlat

Alap protokollok. NetBT: NetBIOS over TCP/IP: Name, Datagram és Session szolgáltatás.

Elektronikus levelek. Az informatikai biztonság alapjai II.

KÉPZETT VILLANYSZERELŐ SZAKEMBER

I. Az internet alapjai

Átírás:

IoT rendszerek kommunikációs megoldásai vitmav22 Mérési adatok szállítása az interneten

MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. MQTT http://mqtt.org/ 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 2

MQTT MQTT = Message Queueing Telemetry Transport Nyílt, ingyenes publish/subscribe (one-to-many) modell A küldő félnek semmit sem kell tudnia a vevő(k)ről Ideális kényszerekkel terhelt hálózatoknál Pl. kis sávszélesség, nagy késleltetés, csomagvesztés, instabil kapcsolatok... Szűkös erőforrásokkal rendelkező eszközök számára Kevés memória, kis teljesítményű processzor Cél: Megbízható üzenetküldés a lehető legegyszerűbb üzenet-formátumban 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 3

MQTT példa 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 4

MQTT Publish-subscribe A kliensek (client) feliratkoznak (subscribe) ún. topic-okra. Felratkozás után a topic-ra publikált (publish) összes üzenetet megkapják. Szolgáltatási szintek 3 QoS szint definiált. Magasabb szolgáltatásminőség nagyobb megbízhatóságú üzenet célba juttatást valósít meg ennek ára a nagyobb sávszélesség és/vagy késleltetés. Megőrzött üzenetek A szerver meg is tartja az utoljára elküldött üzenetet. Egy új feliratkozó esetén egyből elküldi az utolsó üzenetet is a kliensek. 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 5

MQTT Clean session flag Amikor egy MQTT kliens csatlakozik a szerverhez, beállíthat egy ún. clean-session flag-et. Ha ez a beállítás 1 -es, a kliens összes feliratkozása törlődik, ha az eszköz lekapcsolódik a szerverről. Ellenkező esetben a kliens előfizetése továbbra is élő marad mindaddig, amíg az vissza nem kapcsolódik. Eközben a magas QoS beállítás esetén érkezett összes üzenet eltárolódik, majd újracsatlakozás után elküldésre kerül. Végrendelet (Will) Kérésre a szerver egy üzenetet küld a kliens által előre meghatározott topic-ba, ha a kliens váratlanul lecsatlakozik. (Pl. riasztaás, ha egy érzékelő lecsatlakozik a hálózatról) 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 6

MQTT és HTTP összehasonlítás 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 7

MQTT kliens Egy MQTT kliens (aka kliens alkalmazás)... adatokat gyűjt egy telemetriai eszközről, csatlakozik egy MQTT szerverhez, majd egy topic string segítségével publikálja az információt, ÉS/VAGY feliratkozik egy topic-ra, ahol fogadja a publikált adatokat, ÉS/VAGY parancsok segítségével vezérli a telemetriai eszköz(öke)t. Pl: Eclipe Paho MQTT kliens: http://www.eclipse.org/paho/ C és Java alapú implementáció 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 8

MQTT bróker MQTT bróker = Egy szerver, amely implementálja az MQTT protokollt. Feladata: Közvetít az MQTT kliensek közötti kommunikációban. Pl: Mosquitto Egyszerű, nyílt, ingyenes implementáció (MQTT v3.1): http://mosquitto.org 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 9

mosquitto.org 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 10

MQTT üzenetküldés 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 11

MQTT üzenetküldés 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 12

MQTT topikok, fák, sztringek topic Az üzenetek osztályozását szolgálja, definiálja az üzenet tartalmát. Pl: truck topic-tree Tipikusan a topic-ok hierarchikusan szervezettek. A / karakter használatával hozhatók létre al-topikok. Pl: truck/contents, truck/contents/rfid topic-string Egy karakterlánc, amely meghatározza az üzenet topikját. (wildcard használható!) Pl: truck/contents/#, truck/+ 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 13

MQTT programozás Client ID 23 bájtos egyedi(!) sztring a kliens azonosítására. Megőrzött üzenet(ek) retention attribute = true/false Megőrzött üzenetek elküldése: legalább egyszer (QoS=1), pontosan egyszer (QoS=2), vagy legfeljebb egyszer (QoS=0). 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 14

Példa: mosquitto használata Publikálás Pl: mosquitto_pub -t samples/topic01 l Pl: mosquitto_pub -h fake.mqtt.server -t samples/topic01 -i localghost l Feliratkozás Pl: mosquitto_sub -t samples/topic01 Pl: mosquitto_sub -h fake.mqtt.server -t samples/topic01 További info: http://www.redbooks.ibm.com/redbooks/pdfs/sg248054.pdf 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 15

The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. The protocol is designed for machineto-machine (M2M) applications such as smart energy and building automation. http://coap.technology/ CoAP 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 16

M2M kommunikációtól az IoT felé 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 17

CoAP CoAP = RFC 7252 Constrained Application Protocol IETF ajánlás (CoRE Workgroup Constrained RESTfil Environment) Aka: CoAP: The Web of Things Protocol Alkalmazás réteg-beli protokoll: web (dokumentum) átviteli protokoll kis erőforrású (alacsony erőforrású) eszközök részére, veszteséges átvitelű ( lossy ) hálózatok felett. REST modell: A szerverek erőforrásokat tesznek elérhetővé URL-ek használatával. A kliensek elérhetik az erőforrásokat metódusok hívásával: GET, PUT, POST, és DELETE. 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 18

REST, URI/URN/URL 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 19

REST, URI/URN/URL 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 20

CoAP kontra HTTP Az alkalmazási rétegben tipikusan HTTP-t használunk web szolgáltatások eléréséhez. A HTTP... komplex megoldás, nagy energiafogyasztású, kis adatsebességű. A CoAP... HTTP-hez hasonlóan hálózat központú, UDP-t használ (a komplex TCP helyett), optimalizált datagram mérettel. REST architektúrán alapul, lehetővé teszi az IP multicast-ot (IoT csoportos kommunikáció) 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 21

CoAP Beágyazott web transzport protokoll (coap://) Kompakt fejléc (4 byte) UDP, SMS támogatás (TCP is) Erős DTLS biztonság Aszinkron működés Multicast támogatás 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 22

CoAP 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 23

CoAP felépítése A HTTP kliens-szerver modelljéhez hasonlóan a CoAP is interaktív. 2 rétegű modell: (1) Message layer + (2) Request/response layer Message layer 4 féle üzenet: CON (confirmable), NON (non-confirmable), ACK (acknowledge), RST (reset) 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 24

CoAP Message réteg Megbízható átvitel Folyamatos újraküldés pozitív ACK-ig Ha a vevő nem tudja feldolgozni az üzenetet, RST-t küld vissza Nem megbízható átvitel Nincs nyugtázás Ha a vevő nem tudja feldolgozni az üzenetet, RST-t küld vissza 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 25

The most secure messaging standard Battle-tested. Independent. Privacy-focused. XMPP is the open standard for messaging and presence https://xmpp.org/ XMPP Extensible Messaging and Presence Protocol 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 26

XMPP (aka Jabber) XMPP = Extensible Messaging and Presence Protocol Eredetileg a zárt IM (Instant Messaging) szolgáltatások alternatívájaként jött létre, egy nyílt, decentralizált megoldásként (~2002-ben). Probléma volt, hogy a számos IM szolgáltatás nem tudott együttműködni egymással. Lassan átalakult publish/subscribe megoldássá IETF ajánlás (RFC3920, RFC3921) XML alapú Gyors (közel valósidejű) üzenetküldés több eszköz között Decentralizált Az email-hez hasonlóan bárki üzemeltethet XMPP szervert Pl a Google Talk is ezt használja 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 27

XMPP Kommunikáció Request/response Aszinkron üzenetküldés Publish/Subscribe Skálázhatóság, címzés Global Identity egyedi, globális XMPP címek Kliens-szerver modell: Egy kliens a szerver segítségével kommunikálhat a többi klienssel. Federation = peer-szerverek összekapcsolódhatnak (doménen belüli kommunikáció elősegítésére). 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 28

XMPP kontra MQTT XMPP Üzenetformátum definiálható, strukturált adatok nyerhetőek ki az eszközökből. Nincsenek QoS szintek. Jól skálázódik az eszközök számával. Egyedi eszköz azonosítók. MQTT Nem definiál üzenetformátumot. 3 QoS szint. Nem skálázódik olyan jól. Egyedi azonosítók elkülönülten, a bróker implementációkban. 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 29

XMPP kontra MQTT XMPP a jó megoldás, ha... strukturált adatokat kezelünk, az eszközeink nem memória limitáltak. MQTT a jó megoldás, ha.. M2M kommunikációban. 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 30

XMPP IoT XMPP-IoT = lightweight XMPP A probléma hasonló: Számtalan felhő-alapú IoT szolgáltatás ígéri, hogy az IoT eszközeink adatait kezeli. Az XMPP-IoT egy lehetőség ezen rendszerek együttműködésére. (~2014) 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 31

XEP-0323: Internet of Things - Sensor Data XEP = XMPP Extension Protocol (több mint 370 ilyen van!) This specification provides the common framework for sensor data interchange over XMPP networks. Use case: egy okos mérő (szenzor) adatának kiolvasása request/response 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 32

Request to another peer 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 33

The response confirming the readout 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 34

The next response with the data contained 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 35

AMQP is the Internet Protocol for Busines Messaging To become the standard protocol for interoperability between all messaging middleware AMQP Advanced Message Queueing Protocol https://www.amqp.org/ 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 36

AMQP AMQP = Advanced Message Queueing Protocol Az egész megoldás sorkezelésre (queueing) épül. Szerverek közötti tranzakciós üzenetek küldése, nagyon figyelve arra, hogy ne vesszenek el üzenetek. (strictly reliable p2p comm) Pl: banki alkalmazások esetében >>> ezért business messaging binary wire protokoll alacsony szinten, különböző gyártók termékeinek összekapcsolására. 5 féle üzenetküldés: direct, fanout, topic, headers, system 2017. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város MSc mellékspecializáció, BME-TMIT 37