iotivity: ocf open source projectc1%a4%c0... · 2016-06-13 · coap) - ietf standard in core...
TRANSCRIPT
![Page 1: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/1.jpg)
마스터 제목 스타일 편집
Internet of
ThingsDSRC
Jaehoon (Paul) Jeong [email protected]
(OCF: Open Connectivity Foundation)
IoTivity: OCF Open Source Project
KRnet 2016
IoTLab
![Page 2: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/2.jpg)
마스터 제목 스타일 편집
IoTivity OCF Project Participation
Installation & Demo of IoTivity
I
II
III
V
IV
DNSNA: DNS Name Autoconfiguration
for IoT Devices in IoTivity
VI
Conclusion VII
2
![Page 3: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/3.jpg)
마스터 제목 스타일 편집
Introduction to IoTivity
![Page 4: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/4.jpg)
마스터 제목 스타일 편집
Introduction to IoTivity (1/2) AllSeen Alliance vs. OIC (Open Interconnect Consortium)
4
![Page 5: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/5.jpg)
마스터 제목 스타일 편집
Introduction to IoTivity (2/2) OCF (Open Connectivity Foundation)
5
![Page 6: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/6.jpg)
마스터 제목 스타일 편집
Conceptual Architecture of IoTivity
6
DiscoveryDevice
Management
Data
Management
Data
Transmission
Resource Model Security, Privacy, and Management
Framework
Layer
Transports
Layer
Profiles
Layer
Industry Health Business Education Automotive
![Page 7: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/7.jpg)
마스터 제목 스타일 편집
IoTivity Framework
7
Transport
Protocol
IoTivity Base 1
(C API Stack/
Internal)
IoTivity Base 2
(C++ SDK)
Basic
Service
Additional
Service
UDP/IPTCP/IP
(Future)
Future PAN
(Future)
Logger
OCSocket Connectivity libcoap-4.1.1 ocrandom ocmalloc
JSON
Encoder/Decoder OCCoAP (Transport)
OCStack
Resource Manager
(Registration, Discovery, Attribute GET/SET/OBSERVE)
Protocol
Plugin
Manager
Software
Sensor
Manager
Things
Manager
Notification
Manager
REST
Framework
Control/Controllee
Manager
![Page 8: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/8.jpg)
마스터 제목 스타일 편집
IoTivity Stack
RESTful
Using CoAP protocol
Manage through resource
Point to multiple/point topologyUDP / IP
CoAP
IoTivity Base(C SDK)
IoTivity Base(C++ SDK)
Application
UDP / IP
CoAP
IoTivity Base(C SDK)
Application
Resource API
For Unconstrained DevicesResource API
For Constrained Devices
8
![Page 9: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/9.jpg)
마스터 제목 스타일 편집
AllJoyn Stack
Mesh of stars
Manage through BusObject
Using D-Bus protocol
RMI
AllJoyn Router
AllJoyn Core Frameworks
Base Service Frameworks
Application
AllJoyn Software
Frameworks
9
![Page 10: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/10.jpg)
마스터 제목 스타일 편집
IoTivity vs. AllJoyn
Comparison between IoTivity and AllJoyn
IoTivity AllJoyn
Feature RESTful RMI
Protocol CoAP D-Bus
Management Resource BusObject
Topology Point to Point Mesh of Stars
10
![Page 11: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/11.jpg)
마스터 제목 스타일 편집
Protocols for IoTivity
![Page 12: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/12.jpg)
마스터 제목 스타일 편집
CoAP (1/4) Constrained Application Protocol (CoAP)
- IETF Standard in CoRE Working Group: RFC 7252
- CoAP is a specialized web
transfer protocol for use with
constrained nodes/networks.
- URI and content-type support
- Asynchronous message exchanges
- UDP and DTLS for Secure
Transport Layer Protocol.
- CoAP defines 4-type Messages
using a 4-byte, binary, and base
header format with binary options.
12
Application
UDP/DTLS
CoAPMessage
Request / Responses
![Page 13: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/13.jpg)
마스터 제목 스타일 편집
CoAP (2/4) CoAP Message Format
13
Ver (Version): CoAP version number (01) T (Message Type): Confirmable (0), Non-confirmable (1), Acknowledgement
(2), or Reset (3) TKL (Token Length): The length of the variable-length Token field (0-8 bytes) Code: 3-bit class (e.g., request and success response) and 5-bit details Message ID: To detect message duplication and to match messages of type
Acknowledgement/Reset to messages of type Confirmable/Nonconfirmable. Token: The Token value is used to correlate requests and responses.
![Page 14: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/14.jpg)
마스터 제목 스타일 편집
CoAP (3/4) 2 Types of Transmission
- Confirmable: The recipient sends the sender an ACK message
with the same Message ID for the confirmable message.
- Non-Confirmable: A message that does not require reliable
transmission can be sent as a Non-confirmable message.
ServerClient
CON [0x7d34]
Reliable Message Transmission
ACK [0x7d34]
ServerClient
NON [0x01a0]
Unreliable Message Transmission
14
![Page 15: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/15.jpg)
마스터 제목 스타일 편집
CoAP (4/4)
15
CC
C
C
C
Server
Server
Server
Proxy
Internet Constrained Environments
![Page 16: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/16.jpg)
마스터 제목 스타일 편집
6LoWPAN (1/2) IPv6 over Low-Power Wireless Personal Area Networks
- N/W Adaptation Layer between IPv6 Protocol & IEEE 802.15.4
- Encapsulation (RFC 4944) and Header Compression (RFC 6282)
- Neighbor Discovery Optimizations (RFC 6775)
HTTP RTP
TCP UDP ICMP
IP
Ethernet MAC
Ethernet PHY
Application
UDP ICMP
IPv6
6LoWPAN
IEEE 802.15.4 MAC
IEEE 802.15.4 PHY
Application
Transport
Network
Data Link
Physical
16
![Page 17: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/17.jpg)
마스터 제목 스타일 편집
6LoWPAN (2/2) IPv6 over Low-Power Wireless Personal Area Networks
- Sensor nodes use 6LoWPAN over 802.15.4 to create a mesh
network that is connected to an Ethernet-equipped gateway node.
Internet
6LoWPAN Network
Gateway
17
Communications range: 10 meter Transfer rate: 250 kbit/s Frequency bands: 868/915/2450 MHz MAC Protocol: CSMA/CA
![Page 18: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/18.jpg)
마스터 제목 스타일 편집
Procedures of IoTivity
![Page 19: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/19.jpg)
마스터 제목 스타일 편집
Interaction between OIC Client & Server
19
OIC Client
(User)
OIC Server
(Resource)
1. Resource
Registration
2. Light Bulb Resource Discovery (GET)
3. Status Query for Light Bulb (GET)
4. Config Query for Light Bulb (PUT)
5. Status Observation Query (GET)
![Page 20: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/20.jpg)
마스터 제목 스타일 편집
Registering a Resource
ISVServer
AppSDK
ServerWrapper(internal)
OCStack(internal)
[1]Platform.registerResource( )
[2]InProcServer.registerResource( )
[3]OCCreateResource( )
OCStackResult
Failure / Success
Failure / Success
20
![Page 21: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/21.jpg)
마스터 제목 스타일 편집
Discovering a Device/Resource
21
Application
C++ API(SDK)
C API (Stack/Internal)
IoTivityDevice
IoTivityDevice
IoTivityDevice
IoTivityDevice
OIC Client
(Smartphone)
OIC Server
(IoT Devices)
(2) Reply from the
Corresponding IoT
Devices in Unicast
(1) Query in Multicast
(e.g., GET/oc/core?rt=light)
![Page 22: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/22.jpg)
마스터 제목 스타일 편집
ISVClientApp
ClientSDK
ClientWrapper(Internal)
ClientOCStack
(Internal)
[1]resource.get(callback)
[2]InProcClient.get(callback)
[3]OCDoResource()
[12] invoke wrapperAsyncCallbackFunc
ServerOCStack
(Internal)
ServerWrapper(Internal)
ServerSDK
ISVServer
App
[5]call entity handler[6] call OCResource
[7] InProcClient.get()
[8] Return code[9] Return code[10] Return code
[4] GET /light/1
[11] ACK, CONENT
[13] asyncResultHandler
ResourceGet
GetRequest
Call Entity Handler
ReturnResult code
Failure / pending
Querying a Resource State (GET)
22
Client Server
![Page 23: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/23.jpg)
마스터 제목 스타일 편집
Setting a Resource State (PUT) ISV
ClientApp
ClientSDK
ClientWrapper(Internal)
ClientOCStack
(Internal)
[1]resource.put(attributeMap, callback)
[2]InProcClient.setResourceAttributes(attributeMap, callback)
[3]OCDoResource()
[12] invoke wrapperAsyncCallbackFunc
ServerOCStack
(Internal)
ServerWrapper(Internal)
ServerSDK
ISVServer
App
[5]call entity handler
[6] call OCResource
[7] InProcClient.put(attributeMap)
[8] Return code[9] Return code[10] Return code
[4] PUT /light/1
[11] ACK, CHANGED
[13] asyncResultHandler
ResourcePut
PutRequest
Call Entity Handler
ReturnResult code
Failure / pending
23
Client Server
![Page 24: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/24.jpg)
마스터 제목 스타일 편집
ISVClientApp
ClientSDK
ClientWrapper(Internal)
ClientOCStack
(Internal)
[1]resource.observe()
[2]InProcClient.observe()
[3]OCDoResource()
[12] invoke wrapperAsyncCallbackFunc
ServerOCStack
(Internal)
ServerWrapper(Internal)
ServerSDK
ISVServer
App
[5]call entity handler
[6] call OCResource
[7] InProcClient.observe()
[8] Return code[9] Return code[10] Return code
[4] GET /light/1
[11] ACK, CONTENT
[13] asyncResultHandler
ResourceObserve
ObserveRequest
Call Entity Handler
ReturnResult code
Failure / pending
Observing a Resource State (1/2)
24
Client Server
![Page 25: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/25.jpg)
마스터 제목 스타일 편집
Observing a Resource State (2/2) ISV
ClientApp
ClientSDK
ClientWrapper(Internal)
ClientOCStack
(Internal)
[18] invoke wrapperAsyncCallbackFunc
ServerOCStack
(Internal)
ServerWrapper(Internal)
ServerSDK
ISVServer
App
[15] OCNtifyObserves()[16] OCNotifyObservers()
[17] CON, CONTENT
[19] asyncResultHandler
Result Trans Notify Event
[14] Change EventNotification
Cancellation
[20] [21][22] OCCancel()
[23] GET /light/1
25
Client Server
![Page 26: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/26.jpg)
마스터 제목 스타일 편집
Installation & Demo of IoTivity
![Page 27: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/27.jpg)
마스터 제목 스타일 편집
Installation (1/4) Install
- https://www.iotivity.org/documentation/linux/getting-started
$ sudo apt-get install git-core
$ sudo apt-get install scons
$ sudo apt-get install ssh
$ sudo apt-get install build-essential g++
$ sudo apt-get install libglib2.0, scons, unzip, uuid-dev, python-
dev, autotools-dev, libicu-dev, libbz2-dev
27
![Page 28: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/28.jpg)
마스터 제목 스타일 편집
Installation (2/4) Download Libraries
$ tar xzvf boost_1_55_0.tar.gz
$ cd boost_1_55_0/
$ ./bootstrap.sh --with-
libraries=system,filesystem,date_time,thread,regex,log,iostreams,
program_options --prefix=/usr/local
$ sudo apt-get update
$ sudo apt-get install python-dev autotools-dev libicu-dev build-
essential libbz2-dev
28
![Page 29: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/29.jpg)
마스터 제목 스타일 편집
Installation (3/4) $ sudo ./b2 install
$ sudo sh –c ‘echo ‘/usr/local/lib’ >> /etc/ld.so.conf.d/local.conf’
$ sudo ldconfig
29
![Page 30: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/30.jpg)
마스터 제목 스타일 편집
Installation (4/4)
Download IoTivity source code.
Build the IoTivity project for linux.
$ <..iotivity directory..> scons
After build, sample code had made in <iotivity>/out/ directory.
30
![Page 31: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/31.jpg)
마스터 제목 스타일 편집
Demonstration
31
![Page 32: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/32.jpg)
마스터 제목 스타일 편집
IoTivity OCF Project Participation
![Page 33: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/33.jpg)
마스터 제목 스타일 편집
Access the IoTivity Website
33
![Page 34: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/34.jpg)
마스터 제목 스타일 편집
Access Get-Involved Webpage
34
![Page 35: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/35.jpg)
마스터 제목 스타일 편집
DNSNA: DNS Name Autoconfiguration for IoT Devices in IoTivity
![Page 36: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/36.jpg)
마스터 제목 스타일 편집
DNSNA 제안 배경 IoT 디바이스에 대한 네이밍 서비스
- 수많은 IoT 디바이스의 DNS Name 자동설정 및 DNS Naming 서비스
※ 차세대 인터넷 프로토콜인 IPv6를 통한 IoT 디바이스 관리
36
![Page 37: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/37.jpg)
마스터 제목 스타일 편집
IoT 디바이스의 텍스트 리스트 IoT 디바이스의 비주얼 디스플레이
같은 종류의 디바이스 구별의 어려움 같은 종류의 디바이스를 장소로 구분
이동 디바이스의 위치 파악이 불편함 이동 디바이스의 위치 파악이 용이함
기존의 방식(예, AllJoyn) DNSNA: DNS Name Autoconf
Indoor 환경에서의 IoT 디바이스 관리
적용 분야: 아파트, 사무실, 쇼핑몰(이마트), 공장(현대자동차)
Source: Sejun Lee, Jaehoon (Paul) Jeong, and Jung-Soo Park, “DNSNA: DNS Name
Autoconfiguration for Internet of Things Devices”, ICACT 2016, January 2016. 37
![Page 38: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/38.jpg)
마스터 제목 스타일 편집
Comparison between mDNS [RFC 6762] & DNSNA in terms of
DNS Traffic for DNS Name Resolution in a Multi-link Network
DNS Name Resolution at mDNS DNS Name Resolution at DNSNA
DNSNA (based on unicast) has the less number of messages (i.e., less energy
consumption) than mDNS (based on multicast) - Initialization Cost for DNS Name Uniqueness Test
- Service Cost for DNS Name Resolution into IPv6 Addresses.
m : #messages from client node (𝑛𝑐) to designated node (𝑛𝑡)
|E|: #total links
O(|E| + m) O(2ⅹm)
38
![Page 39: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/39.jpg)
마스터 제목 스타일 편집
DNSNA vs. mDNS (RFC6762) Approaches DNSNA[11] mDNS[13,14,15]
Packet Forwarding Unicasting Multicasting
Authoritative
DNS Server Yes
No
(host itself is server)
Naming Scope Global, Local Local
Target Networks Small, Large Small
Socket RAW/IPv6 UDP/IPv6
Host Implementation A little extension of ND mDNS implementation
required
Code Size Hundreds lines Thousands lines
Target Devices IoT Devices Apple Equipment
Message Number
2ⅹ#hops of the path
from client to DNS
server
#links in the network +
#hops from target to
client 39
![Page 40: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/40.jpg)
마스터 제목 스타일 편집
IoT 디바이스 DNS 네이밍 시스템 (1/5) DNS Name Format 1:
unique_id: Unique identifier to guarantee the uniqueness
device_model: Product model of manufacturer name
device_category: Device category name
location: Physical location of the device (e.g., kitchen)
domain_name: Representation and use of domain name (e.g., home, skke.edu)
DNS Name Format 2 (OID):
unique_id: Unique identifier to guarantee the uniqueness
object_identifier: Object Identifier (OID) standardized by ITU-T and ISO/IEC Node Indication ID + Manufacturer ID + Model ID + Serial Number ID
location: Physical location of the device (e.g., kitchen)
domain_name: Representation and use of domain name (e.g., home, skke.edu)
unique_id.object_identifier.location.domain_name
40
![Page 41: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/41.jpg)
마스터 제목 스타일 편집
IoT 디바이스 DNS 네이밍 시스템 (2/5) Time Sequence Diagram of DNSNA
RA
(DNSSL Option)
DAD
Remote Control
by Device Icon
DNS Name
Generation
NI Query (DNS Name?)
NI Reply(DNS Name &
IPv6 Address)
IoT Device Router DNS Server
DNS Dynamic Update(DNS Name & IPv6 Address)
User Device
Get Device List
Put Device List
DNS Query(DNS Name?)
DNS Response
(No Such DNS Name)
1. DNS Name Generation
2. DNS Name Collection
3. DNS Name Registration
4. IoT Device List
Retrieval
41
![Page 42: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/42.jpg)
마스터 제목 스타일 편집
IoT 디바이스 DNS 네이밍 시스템 (3/5)
IoT 디바이스 DNS 네임 자동 생성
DNS Server
Router
Tablet PC Access Point
IPv6 Host
Firesensor
DAD for DNS Name
RA Option (DNS Search List)
DHCP Option (DNS Search List)
DNS Search List:
.home
1
2
3
Firesensor generates its DNS name as
firesensor1.raspberry.firesensor.livingroom.home
42
![Page 43: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/43.jpg)
마스터 제목 스타일 편집
IoT 디바이스 DNS 네이밍 시스템 (4/5)
IoT 디바이스 DNS 네임 등록
DNS Server
Router
Tablet PC Access Point
IPv6 Host
NI Reply (DNS Name & IPv6 Address)
NI Query (DNS Name Collection)
What is your DNS Name?
1
2
3 Dynamic Update
(DNS Name &
IPv6 Address)
My DNS name is
firesensor1.raspberry.firesensor.livingroom.home
Firesensor
43
![Page 44: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/44.jpg)
마스터 제목 스타일 편집
IoT 디바이스 DNS 네이밍 시스템 (5/5)
IoT 디바이스 DNS 네임 관리
1
Get DNS Name
List for Devices
DNS Server
Router
Tablet PC Access Point
IPv6 Host
2Remote Control
by Device Icon
Device List
Firesensor
Firesensor
44
![Page 45: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/45.jpg)
마스터 제목 스타일 편집
(sx, sy)
(rx, ry)
Living Room
Bedroom-1
Bedroom-2
Study Room
Bathroom
Kitchen
Storage
Entrance
Area
위치기반 IoT 디바이스 네이밍 서비스
1
2
3 4
(x0, y0)
(x1, y1)
(x2, y2)
(x3, y3)
Firesensor is known to be located
at Living Room by Localization.
Localization(위치측정기법):
(𝒔𝒙, 𝒔𝒚) = 𝐜𝐢𝐫𝐜𝐮𝐦𝐜𝐞𝐧𝐭𝐞𝐫(𝒙𝟏, 𝒚𝟏,
𝒙𝟐, 𝒚𝟐, 𝒙𝟑, 𝒚𝟑);
(𝒔𝒙, 𝒔𝒚) belongs to Living Room.
Firesensor DNS name becomes
firesensor1.raspberry.firesensor.livingroom.home
Source: Jaehoon (Paul) Jeong et al., “SALA: Smartphone-Assisted Localization
Algorithm for Positioning Indoor IoT Devices”, Springer Wireless Networks, June 2016. 45
![Page 46: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/46.jpg)
마스터 제목 스타일 편집
Conclusion Internet of Things (IoT) will become part of the Internet in
near future.
Open Connectivity Foundation (OCF) will play a role of
the Standardization Hub for IoT Ecosystem.
IoTivity will lead an Open Source Project for IoT.
DNS Name Autoconfiguration (DNSNA) is expected as a
DNS Naming System for IoT devices in IoTivity.
Korea need to lead R&D on Key Components of IoT
Ecosystem through the Collaboration among Industry and
Academia.
46
![Page 47: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/47.jpg)
마스터 제목 스타일 편집
[1] IoTivity, https://www.iotivity.org
[2] OCF, http://openconnectivity.org/
[3] AllSeenAlliance, https://allseenalliance.org/
[4] IoTivity Wiki, https://wiki.iotivity.org/start
[5] 이원석, 차홍기, 전종홍, “사물인터넷 오픈소스 기술 –
IoTivity”, KICS 정보와 통신 열린강좌, 2015년 11월.
[6] RFC 7252: The Constrained Application Protocol (CoAP)
[7] RFC 4944: Transmission of IPv6 Packets over IEEE
802.15.4 Networks
[8] Jaehoon Paul Jeong, Sejun Lee and Jung-Soo Park, “DNS
Name Autoconfiguration for Internet of Things Devices”,
draft-jeong-its-iot-dns-autoconf-00, March 2016.
References
47
![Page 48: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained](https://reader035.vdocuments.mx/reader035/viewer/2022070810/5f093fad7e708231d425eebc/html5/thumbnails/48.jpg)
마스터 제목 스타일 편집
IoTLab