Вы находитесь на странице: 1из 179

Software Defined Network

for Internet of Things

Sunyoung Han

Konkuk University
syhan@cclab.konkuk.ac.kr
14 July 2016
WUNCA33, Chulalongkorn University, Thailand
Contents
1. SDN
- OpenFlow, Open vSwitch, Controller, OpenStack, NFV

2. IoT
- IoTivity, CoAP, 6LoWPAN, Raspberry Pi & Arduino, Security

3. SDN for IoT


3
Introduction

(Software Defined Network)


4

SDN(Software Defined Network)


• What is SDN?
– Control and Data planes are decoupled.

SDN Architecture [ONF] SDN Open Interfaces [TTA]

Ref.[1][2] https://www.opennetworking.org/about/onf-overview, http://www.tta.or.kr/index.jsp


5

SDN(Software Defined Network)


• Need for SDN
– Layered architecture with standard Open interfaces
– Experiment and research using non-bulky, non-expensive
equipment
– More accessibility since software can be easily developed
by more vendors
– More flexibility with programmability
– Ease of customization and integration with other software
applications

Ref.[1][2] https://www.opennetworking.org/about/onf-overview, http://www.tta.or.kr/index.jsp


6

SDN(Software Defined Network)


• SDN Controller
7

OpenFlow
8

What is OpenFlow?
• “OpenFlow is based on an Ethernet switch, with an internal flow-
table, and a standardized interface to add and remove flow entries.”
– Nick Nckeown, et al., “OpenFlow: enabling innovation in campus networks,”
ACM SIGCOMM Computer Communication Review, Vol. 38, Issue 2, pp.69-74,
April 2008.

Control Function

ForwardingEngine
Forwarding Engine

Flow table
9

Basic idea of OpenFlow


• Separate Control function and Forwarding engine
– OpenFlow Controller
– OpenFlow Switch
• Provide standard interface to control forwarding engine
10

OpenFlow
• OpenFlow allows direct access to and manipulation of the
forwarding plane of network devices such as switches and
routers, both physical and virtual (hypervisor-based).
Control plane

OpenFlow Controller

Forward to Controller OpenFlow Protocol

Flow Table
Packet OpenFlow Switch Packet

Data plane
Drop
OpenFlow
Ref.[3] http://www.slideshare.net/ireri339/sdndstw-ryu-developing
11

OpenFlow Switching
Controller
Software
Layer
OpenFlow Switch
OpenFlow
Protocol
OpenFlow Table
MAC MAC IP IP TCP TCP
Action
src dst Src Dst sport dport
Hardware
* * * 5.6.7.8 * * port 1
Layer

port 1 port 2 port 3 port 4

5.6.7.8 1.2.3.4
Ref.[37] http://cleanslate.Stanford.edu, The Stanford Clean Slate Program
12

OpenFlow Table Entry

Ref.[37] http://cleanslate.Stanford.edu, The Stanford Clean Slate Program


13

OpenFlow Protocol
• Controller with Switches
• Maintains flow tables in OFS
– Create
– Delete
– Modify
• Notify unknown packet to OFC
• Gather information and statistics
14

OpenFlow Specification
• Current OpenFlow specification is v1.4
• Components
– Secure Channel
– Controller
– Switch
• Flow table
15

Components
• Switch
– Forwarding received packets according to flow tables
– If unmatched packets are received, send packet-in message to
controller
• Controller
– Handles packet-in event from switches
– Communicates via TCP port 6633
– Create flow table
– Modify flow table
– Delete flow table
16

Flow Table

• Match fields: to match against packets.


– Ingress port, packet headers and optionally metadata specified by
a previous table.
• Priority: matching precedence of the flow entry.
• Counters: updated when packets are matched.
• Instructions: to modify the action set or pipeline processing.
• Timeouts: flow expiration time by the switch.
• Cookie: opaque data value chosen by the controller.
– May be used by the controller to filter flow statistics, flow modification
and flow deletion.
– Not used when processing packets.
Ref.[36] OpenFlow Speciifcation 1.4, ONF
17

Packet Flow Processing

Ref.[36] OpenFlow Speciifcation 1.4, ONF


18

Matching
• Forwarding the packet to the controller when the packet
came in unknown

Matching Process
Ref.[4] OpenFlow Specification 1.3, ONF
19

Open vSwitch
20

Open vSwitch
• OpenvSwitch is Open Source Software for OpenFlow Switch
• Network interface devices connect to Open vSwitch bridge’s
ports, and the ports can be configured like a physical switch’s
port
VM VM VM
vNIC vNIC vNIC

Virtual vSwitch
Network
Hypervisor

SERVER
vNIC

Physical Network

Open vSwitch Architecture


Ref.[5] https://www.openvswitch.org/
21

Open vSwitch
• Features
– Multicast snooping
– IETF Auto-Attach SPBM and rudimentary required LLDP support
– Fine-grained QoS control
– OpenFlow protocol support (including many extensions for
virtualization)
– IPv6 support
– Multiple tunneling protocols (GRE, VXLAN, STT, and Geneve, with IPsec
support)
– Remote configuration protocol with C and Python bindings
• Download Link
– http://openvswitch.org/download/
22

The Main Components

Controller

ovsdb-server ovs-vswitchd

User
Kernel
Management Protocol (6632/TCP)
OpenFlow (6633/TCP) OVS Kernel Module
Netlink
23

Controller
(OpenDaylight / ONOS)
24

Controller
C / C++

C++ / Python
Python

JAVA

Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
25

Opendaylight

Beryllium Release (March 2016)


26

OpenDaylight
• OpenDaylight is Open Source Software for SDN/NFV
• OSGi framework support
• REST support for Northbound API
• Supported protocols (Southbound Interface)
– OpenFlow, NETCONF, OVSDB, CoAP, etc…

• Download Link
– https://www.opendaylight.org/software/release-archives
27

OpenDaylight
• Membership
28

OpenDaylight
• Release
Name Date
Hydrogen (Service Provider) February 4, 2014
Hydrogen (Virtualization) February 4, 2014
Hydrogen (Base) February 4, 2014
Helium September 29, 2014
Helium-SR1 November 10, 2014
Helium-SR1.1 December 18, 2014
Lithium June 29, 2015
Helium-SR4 August 11, 2015
Helium-SR2 January 27, 2015
Helium-SR3 March 17, 2015
Lithium-SR1 August 18, 2015
Lithium-SR2 October 8, 2015
Lithium-SR3 December 3, 2015
Beryllium February 22, 2016
Lithium-SR4 March 4, 2016
Beryllium-SR1 March 22, 2016
29

OpenDaylight
• ‘PUT’ operation cycle
– 'POST' request in XML or JSON format is to use the ‘Config’ datastore.

• ‘GET’ operation cycle


– To receive information from the datastore for controller, XML or JSON

Ref.[7] https://wiki.opendaylight.org/view/Main_Page
30

OpenDaylight
• AD(API-Driven)-SAL
– Plugins can be data providers or data consumers or both
– SAL APIs request routing between consumers and providers, and data adaptations are all statically
defined at compile/build time
– Translation between SB plugin API and abstract NB API is done in the abstraction module in AD-SAL
– AD-SAL has both NB and SB APIs
• MD(Model-Driven)-SAL
– SAL APIs request routing between consumers and providers are defined from models, and data
adaptation are provided by internal adaptation plugins
– API code is generated from models when a plugin is compile
• API code is loaded into the controller along with the rest of the plugin containing the model
when the plugin OSGi bundle is loaded into the controller
– Service adaptation is provided by plugin
• An adaptation plugin is a regular plugin
• Model to model translation between two APIs
– Provider and consumer plugins can exchange data through the MD-SAL storage
– MD-SAL allows both NB plugins and SB plugins to use the same API generated form a model

Ref.[9] https://github.com/opendaylight/docs/blob/master/manuals/developer-guide/src/main/asciidoc/controller/md-
sal-faq.adoc
31

ONOS

SDN Network Operating System & SDN Control Platform

Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
32

ONOS

Their mission is to enable Service Providers


To build real SDN/NFV solutions.

Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
33

ONOS

ONOS community

Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
34

ONOS
• OSGi based OSS Karaf
• Deploy, Config • Multiple Instance Clustering
• Distributed Clustering
• Sync, Share • Fault tolerance using Distributed Core
• Dynamic Clustering

High Availability High Performance Scalability White Box (Open)

• High Throughput
• ~500K - 1M path setups/second
• High Volume
• ~500GB – 1TB state data
• Low Latency
• 10 ~ 100ms
Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
35

ONOS
• Architectural Tenets
– High availability, scalability and performance

– Strong abstractions and simplicity

– Protocol and device behavior independence

– Separation of concerns and modularity

Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
36

ONOS
ONOS Overall Architecture
Application layer for
specific services
Transfer network
information to the
application layer,
The key role of
provides interface
ONOS, distributed
for the control sub-
Provideclustering
an interface for
components
capabilities
network for HA
infrastructure
andcontrol,
Scalability
Network
Element abstraction
Protocol for the
Network Element Set
OpenFlow : SDN
NetConf : Legacy

Ref.[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
37

OpenStack
38

What is OpenSource?(1/8)
• The Open Source Definition
1. Free Redistribution
2. Source Code
• The program must include source code
3. Derived Works
• The license must allow modifications and derived works
4. Integrity of The Author’s Source Code
5. No Discrimination Against Persons or Groups
6. No Discrimination Against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10. License Must Be Technology-Neutral

Ref.[34] http://opensource.org , Open Source Initiative


39

What is OpenSource?(2/8)

Ref.[10] HyeonJeong Jang, “Openstack_in_OpenSource”, OpenStack Korea Community


40

What is OpenSource?(3/8)

“OCF is a standard & open source project that


delivers “just-works” interconnectivity for
developers, manufacturers and end users.”

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
41

What is OpenSource?(4/8)
• OCF Memberships

+180 Members
Members of Board of Directors

• Join as a OCF member


• Certify spec compliant apps and devices
• Use OCF branding
• Benefit from patent cross-licensing protection
• Go to www.openconnectivity.org for membership
Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
42

What is OpenSource?(5/8)
• OCF Architecture

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
43

What is OpenSource?(6/8)
• OCF Protocols
– OCF Protocol
• Supporting CoAP (Constrained Application Protocol)
• Supporting Wi-Fi, BT, BLE (ZigBee, Z-Wave – TBD)

– CoAP
• UDP based (TCP for Remote/Cloud Connection)
• Multicast (for Discovery)
• IETF CoRE Working Group Standards (RFC7252)

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
44

What is OpenSource?(7/8)
• OCF - IETF Collaboration

OCF

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
45

What is OpenSource?(8/8)
• IoTivity Resource

• Resource registration (server) • Property attributes (get/ set/ observe) (client/ server)
• Resource discovery (client) • Resource tree (resources with sub-resources)

• Device discovery with filtering (client)


– e.g. GET /oc/core?rt=light

What’s your Status?


Get
I’m Off.
OCF Client OCF Server
R
Set your Status to On
Set
OK.

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
46

OpenStack: Logical Architecture(1/4)

Ref.[10] HyeonJeong Jang, “Openstack_in_OpenSource”, OpenStack Korea Community


47

OpenStack (Recent Release Version)


Year Version

2016 2016.04.07 Mitaka Release

2015
2015.10.15 Liberty Release
2015.04.30 Kilo Release

2014
2014.10.16 Juno Release
2014.04.17 IceHouse Release

2013
2013.10.17 Havana Release
2013.04.04 Grizzly Release

2012
2012.09.27 Folsom Release
2012.04.05 Essex Rlease
2011.09.21 Diablo Release
2011 2011.04.15 Cactus Release
2011.02.03 Bexar Release
2010 2010.10.21 Austin Release
Ref.[10] HyeonJeong Jang, “Openstack_in_OpenSource”, OpenStack Korea Community
48

OpenStack(3/4)

Ref.[27] JaeSeok An, “OpenStack”, KRnet, 2016


49

OpenStack: Logical Architecture(4/4)

OpenStack
• Compute Service – Nova • Authentication Service – Keystone
• Object Storage Service – Swift • Network Service – Neutron
• Image Service – Glance • Block Storage Service – Cinder
• Dashboard Service – Horizon

• Database Service – Trove


• Telemetry Service – Ceilometer • Elastic Map Reduce – Sahara
• Orchestration Service – Heat • Bare-Metal Provisioning – Ironic
• Containers Service - Magnum

Ref.[10] HyeonJeong Jang, “Openstack_in_OpenSource”, OpenStack Korea Community


50

NFV
(Network Function Virtualization)
51

Network Function
• 4G Network… EPC(MME, S/P-GW,..), Middle Boxes at SGi-LAN)

• Middle Boxes at Cloud Center ( Portal, Enterprise, University,…)

Ref.[31] Younghan Kim, “NFV”, Soongsil University


52

Network Function & Service Function Chain


• 4G Network… EPC(MME, S/P-GW,..), Middle Boxes at SGi-LAN)

Ref.[31] Younghan Kim, “NFV”, Soongsil University


53

NFV and SDN


• NFV SDN

Creates
competitive Creates network
Software
supply of Open abstractions to
Defined
innovative Innovation Networks
enable faster
applications by innovation.
third parties.

Network
Functions Reduces CAPEX, OPEX,
Virtualization Space & Power
Consumption.

Comparison of NFV and SDN

Ref.[13] Sungwon Lee, “SDN/NFV foundation, technology evolution and development”, Kyunghee University
54

NFV Functional Architecture

VNF Instances Examples of VNFs


SW Instances VNF VNF VNF VNF - Home routers and set
top boxes.
- Security functions :
NFV Infrastructure(NFVI)
Firewalls, intrusion
Virtual Virtual Virtual
Virtual Resources detection systems.
Compute Storage Network
- Mobile network nodes :
Virtualization SW Virtualization Layer HLR/HSS, MME, SGSN,
HW Resources Compute Storage Network GGSN/PDN-GW, RNC.

NFV Functional Architecture

Ref.[12] Insun Jang and Sangheon Pack, "NFVRG" Technology Trends Updates”, IETF mirror forum technology
workshop
55

OPNFV
• OPNFV(Open Platform for NFV)
– Open source project
– To accelerate the introduction of new NFV products and services
– Releases : Arno(June 4, 2015), Brahmaputra(February 25, 2016)
– Goals
• Develop an integrated and tested open source platform that can be used
to build NFV functionality, accelerating the introduction of new products
and services
• Include participation of leading end users to validate OPNFV meets the
needs of user community
• Contribute to and participate in relevant open source projects that will be
leveraged in the OPNFV platform; ensure consistency, performance and
interoperability among open source components
• Establish and ecosystem for NFV solutions based on open standards and
software to meet the needs of end users

Ref.[32] https://www.opnfv.org/about
56

Brahmaputra
• Brings rich platform-level testing of NFV functionality and use cases to the industry
• Enhanced stability, system and unit testing and integration, infrastructure and
documentation

Ref.[33] https://www.opnfv.org/software
57
Introduction

(Internet of Things)
58

4 Key elements for IoT service


• Device + Network + Platform + Application = IoT service

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


59

Key Features of IoT Data


• Key performance measure are “connections”, “Transactions”
and “Accumulation”

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


60

Technical requests for Openstack as a IoT-Cloud Platform

• QoS, I/O guaranteed


• Feature of Message Broking
• Management Integration
• Application performance monitoring
• Easy to manage data stores and ETL(Extract, Transform, Load)

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


61

QoS, I/O guaranteed

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


62

Feature of Message Broking


• Message Broker :
– Pub/Sub model (Distributed processing)
– Asynchronous I/O
– Retrying tasks if workers fail
• Support multiple protocol for IoT :
– MQTT
– Kafka : A high-throughput, distributed, publish-subscribe messaging system
– CoAP
– HTTP/2
• QoS Control:
– Bandwidth
– Priority

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


63

Management integration
• Management integration includes:

Deploy Automation Authentication Monitoring

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


64

Application performance monitoring


• Data Gathering and Visualizing for AP monitoring :

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


65

Easy to manage data stores and ETL


• Easy to manage various data stores
– RDB : mysql, PostgreSQL
– NoSQL : mongoDB, CouchDB,…
– KVS(cache) : Redis, Couchbase, Cassandra, …

• Easy to manage various data extract, transform and load


– (ex.1) KVS to NoSQL
– (ex.2) NoSQL to Object storage

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


66

IoT architecture in NTT DATA

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


67

IoT architecture on Openstack

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


68

Some other Requirements in Platform


• Scalability

• Lifecycle Management

• Peer to Peer

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


69

Network Side
New Considerations

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


70

Endpoint-Aware Service Function Chaining

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


71

Service function chaining for the IoT data plane


• Protect IoT assets, gather network telemetry data, prescribe
high value network services

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


72

Mobile Network Slicing for IoT

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


73

Mobile Edge Computing and vCPE network services


• Virtual network services are now available at the network
edge

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


74

DevOps(CI,CD)

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


75

Recall IoT Building Blocks


• Connectivity

• Device Management

• Information Management

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


76

What’s Continuous Integration?


• In software engineering, continuous integration (CI)
implements continuous processes of applying quality
control – smart pieces of effort, applied frequently.

• Continuous integration aims to improve the quality


of software, and to reduce the time taken to deliver
it, by replacing the traditional practice of applying
quality control after completing all development.

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


77

Continuous Integration
• Continuous Integration is a software development
practice where members of a team integrate their
work frequently, usually each person integrates at
least daily – leading to multiple integrations per day.

• Each integration is verified by an automated build


(including test) to detect integration errors as quickly
as possible.

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


78

Continuous Integration Benefit


• Project Management
 Detect system development problems earlier
 Reduce risks of cost, schedule, and budget

• Code Quality
 Measureable and visible code quality
 Continuous automatic regression unit test

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


79

Ingredients of DevOps
• Tools
– Source Code Management, e.g. Git
– Artifact repository, e.g. maven
– Review Management System, e.g. Gerrit
– Integration Engine, e.g. Jenkins
– Configuration management system, e.g. Ansible, Chef
– Test Harness, e.g rally, tempest, yardstick
– Flexible System Deployment, e.g Vagrant

• Principles and Practices


– Infrastructure as code
– Declarative Topologies
– Test driven development
– Agile development

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


80

Jenkins – Fitting in

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


81

Jenkins Features
• Trigger a build
• Get source code from repository
• Automatically build and test
• Generate report & notify
• Deploy
• Distributed build

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


82

Case Study : Verizon PoC : Problems


• Take 2~3 months to release new features

• With DevOps  change IT development lifecycle


– Spin environment in minutes

– Run thousand of test cases in a single click

– Make releases in week

• Network Function Upgrades


– Upgrade a firewall or a packet gateway  setup environment, take a
week  not end-to-end automation

– How to make upgades agile ?

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


83

NFV CI/CD Automation Use cases


• Use cases
– Ericsson Virtual Router Onboard and Instantiate

– Virtual Router Seamless Upgrade

• NFV CI/CD benefits


– Enable DevOps for VNF deployments

– Shorten TTM for product features updates

– Increase quality by streaming deployments

– Minimize recurring costs and efforts for deployments and upgrades

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


84

NFV DevOps Life cycle Automation PoC


• Integrate two development life cycle

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


85

Infrastructure as code
• Configuration management on steroid
• Core tenet of DevOps
• Bring tried and tested practices from software engineering
into infrastructure operations
• Revision control
– Use git tools
– Track both what was changed and why
– Audit all changes to the cluster
– See precisely what has changed between two points in time

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


86

Other Case :OPNFV Octopus CI/CD approach

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


87

Discussion
• Standards vs OpenSource Project ?

• Protocol vs API ?

• KR Position in IoT ?

Ref.[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University


88

IoTivity
89

Reasons for Standard

• Interoperability
• Collaborative deployment
• Cost efficiency

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
90

Reasons for Standard


• Interoperable devices and features are tremendously growing up

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
91

Introduction to IoTivity (1/2)


• AllSeen Alliance vs. OIC (Open Interconnect Consortium)

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


92

Introduction to IoTivity (1/2)


• OCF (Open Connectivity Foundation)

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


93

Conceptual Architecture of IoTivity

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


94

IoTivity Framework
Additional REST Control/Controllee
Service Framework Manager

Basic Protocol Software


Things Notification
Service Plugin Sensor
Manager Manager
Manager Manager

IoTivity Base 2
Resource Manager
(C++ SDK)
(Registration, Discovery, Attribute GET/SET/OBSERVE)

IoTivity Base 1
JSON OCStack
(C API Stack/
Encoder/Decoder OCCoAP (Transport)
Internal)
OCSocket Connectivity libcoap-4.1.1 ocrandom ocmalloc
Logger

Transport
TCP/IP Future PAN
Protocol UDP/IP
(Future) (Future)

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


95

IoTivity Stack

Application

IoTivity Base(C++ SDK) Application

IoTivity Base(C SDK) IoTivity Base(C SDK)

CoAP CoAP

UDP / IP UDP / IP

Resource API Resource API


For Unconstrained Devices For Constrained Devices

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


96

AllJoyn Stack

Application

Base Service Frameworks

AllJoyn Core Frameworks

AllJoyn Router

AllJoyn Software
Frameworks

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


97

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

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


98

Interaction between OIC Client & Server

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)

OIC Client OIC Server


(User) (Resource)

1. Resource
Registration

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


99

Registering a Resource
ISV Server
OCStack
Server SDK Wrapper
(internal)
App (internal)

[1]Platform.registerResource(…)

[2]InProcServer.registerResource(…)

[3]OCCreateResource(…)

OCStackResult

Failure / Success

Failure / Success

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


100

Discovering a Device/Resource
OIC Client
(Smartphone)

Application

C++ API
(SDK)
OIC Server
(IoT Devices)
IoTivity IoTivity IoTivity IoTivity
C API Device Device Device Device
(Stack/Internal)

(2) Reply from the


Corresponding IoT
Devices in Unicast

(1) Query in Multicast


(e.g., GET/oc/core?rt=light)
Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016
101

Querying a Resource State (GET)


Client Server
ISV Client Client Server Server ISV
Client Server
Client Wrapper OCStack OCStack Wrapper Server
SDK SDK
App (Internal) (Internal) (Internal) (Internal) App

[1]resource.get(callback)

[2]InProcClient.get(callback)

[3]OCDoResource()

Failure / pending
[4] GET /light/1

[5]call entity handler


[6] call OCResource

[7] InProcClient.get()

[10] Return code [9] Return code [8] Return code


[11] ACK, CONENT
[12] invoke
[13] asyncResultHandler wrapperAsyncCallbackFunc

Resource Get Call Entity Return


Get Request Handler Result code

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


102

Setting a Resource State (PUT)


Client Server
ISV Client Client Server Server ISV
Client Server
Client Wrapper OCStack OCStack Wrapper Server
SDK SDK
App (Internal) (Internal) (Internal) (Internal) App
[1]resource.put(attributeMap,
callback)
[2]InProcClient.setResourceAttributes
(attributeMap, callback)
[3]OCDoResource()

Failure / pending
[4] PUT /light/1

[5]call entity handler


[6] call OCResource
[7] InProcClient.put(attributeMap)

[10] Return code [9] Return code [8] Return code


[11] ACK, CHANGED
[12] invoke
[13] asyncResultHandler wrapperAsyncCallbackFunc

Resource Put Call Entity Return


Put Request Handler Result code

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


103

Observing a Resource State (1/2)


Client Server
ISV Client Client Server Server ISV
Client Server
Client Wrapper OCStack OCStack Wrapper Server
SDK SDK
App (Internal) (Internal) (Internal) (Internal) App

[1]resource.observe()

[2]InProcClient.observe()
[3]OCDoResource()

Failure / pending
[4] GET /light/1

[5]call entity handler


[6] call OCResource
[7] InProcClient.observe()

[10] Return code [9] Return code [8] Return code


[11] ACK, CONTENT
[12] invoke
[13] asyncResultHandler wrapperAsyncCallbackFunc

Resource Observe Call Entity Return


Observe Request Handler Result code

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


104

Observing a Resource State (2/2)


Client Server
ISV Client Client Server Server ISV
Client Server
Client Wrapper OCStack OCStack Wrapper Server
SDK SDK
App (Internal) (Internal) (Internal) (Internal) App

Notification [14] Change Event

[16] OCNotifyObservers() [15] OCNtifyObserves()

[17] CON, CONTENT


[18] invoke
wrapperAsyncCallbackFunc
[19] asyncResultHandler

Cancellation
[20] [21]
[22] OCCancel()
[23] GET /light/1

Result Trans Notify Event

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


105

Installation (1/5)
• How You Can Use
– Use the code from IoTivity.org
• Open to any individual or company
• Code is available at IoTivity.org under the Apache v2.0 license

Ref.[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop
106

Installation (2/5)
• 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

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


107

Installation (3/5)
• 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

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


108

Installation (4/5)
$ sudo ./b2 install

$ sudo sh –c ‘echo ‘/usr/local/lib’ >> /etc/ld.so.conf.d/local.conf’

$ sudo ldconfig

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


109

Installation (5/5)
• Download IoTivity source code.

• Build the IoTivity project for linux.


– $ <..iotivity directory..> scons

• After build, sample code had made in


<iotivity>/out/ directory.

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


110

Demonstration

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


111

Access the IoTivity Website

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


112

Access Get-Involved Webpage

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


11
3

CoAP
114

CoAP
• Constrained Application Protocol (CoAP)
– IETF Standard in CoRE Working Group: RFC 7252
– CoAP is one of the open standards communication protocols for IoT
– CoAP use a Web-based model, HTTP-like but based on UDP
– URI and content-type support
Application
– Asynchronous message exchanges
– DTLS for Secure Request /
Responses
– CoAP defines 4-type Messages CoAP
Message
using a 4-byte, binary, and base
header format with binary options. UDP / DTLS

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


115

CoAP
• CoAP Message Format
0 8 16 24 32
Ver T TKL Code Message ID
Token (if any, TKL bytes) …
Options (if any) …
0xff Payload (if any) …

• 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/Non-confirmable.
• Token : The token value is used to correlate requests and responses.

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


116

CoAP
• 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.
Client Server Client Server

CON [0x7d34]
NON [0x01a0]
ACK [0x7d34]

Reliable Message Transmission Unreliable Message Transmission


Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016
117

CoAP Architecture
Rest

C
Server
C
HTTP
CoAP
Proxy
Server

C
C C

Internet Constrained Environments


Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016
11
8

6LoWPAN
119

6LoWPAN
• 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 Application Application

TCP UDP ICMP Transport UDP ICMP

IPv6
IP Network
6LoWPAN

Ethernet MAC Data Link IEEE 802.15.4 MAC

Ethernet PHY Physical IEEE 802.15.4 PHY

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


120

6LoWPAN
• 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.

6LoWPAN Network

Gateway
Internet

• Communications range : 10 meter


• Transfer rate : 250 kbit/s
• Frequency bands : 868/915/2450 MHz
• MAC Protocol : CSMA/CA

Ref.[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016


121

Raspberry Pi
& Arduino
122

Raspberry Pi & Arduino (1/4)


• Raspberry Pi
– A series of credit card-sized single-board
computers developed in the United
Kingdom by the Raspberry Pi Foundation

– The Foundation provides Debian and Arch


Linux ARM distributions for download, and
promotes Python as the main programming
language, C, C++, PHP, Java, Perl, Ruby, Squ
eak Smalltalk and more also available.
Raspberry Pi 3 model B

Ref.[28] https://en.wikipedia.org/wiki/Raspberry_Pi
123

Raspberry Pi & Arduino (2/4)


Type Model A Model B Zero
Generati
1 1+ 1 1+ 2 3 N/A
on
Broadco
Broadcom Broadcom m
SoC Broadcom BCM2835
BCM2836 BCM2837 BCM283
5
1 GHzAR
900 MHz 32- 1.2 GHz 64-bit
M1176JZ
700 MHz single-core ARM bit quad-core quad-core
CPU F-S
1176JZF-S ARM Cortex- ARM Cortex-
single-
A7 A53
core
Broadcom VideoCoreIV @ 250 MHz (BCM2837: 3D part of GPU @ 300 MHz,
video part of GPU @400 MHz)
GPU OpenGL ES 2.0 (BCM2835, BCM2836: 24 GFLOPS / BCM2837: 28.8 GFLOPS)
MPEG-2 and VC-1 (with license), 1080p30 H.264/MPEG-4 AVC high-profile
decoder and encoder(BCM2837: 1080p60)
Ref.[28] https://en.wikipedia.org/wiki/Raspberry_Pi
124

Raspberry Pi & Arduino (3/4)


Type Model A Model B Zero
Generati
1 1+ 1 1+ 2 3 N/A
on

Memory 256 MB 512 MB 1 GB 512 MB

10/100
Mbit/s
On- Ethernet,
10/100 Mbit/s Ethernet (8P8C)
board None 802.11n None
USB adapter on the USB hub
network wireless,
Bluetoot
h 4.1
Target
25 US$ 20 US$ 35 US$ 25 US$ 35 US$ 35 US$ 5 US$
price

Ref.[28] https://en.wikipedia.org/wiki/Raspberry_Pi
125

Raspberry Pi & Arduino (4/4)

• Arduino
– A hardware and software company, project, and
user community that designs and manufactures
computer open-source hardware, open-source
software, and microcontroller-based kits for building
digital devices and interactive objects that can sense
and control physical devices.

– For programming the microcontrollers, the Arduino


project provides an integrated development
environment (IDE) based on a programming
language named Processing, which also supports the
languages C and C++. "Arduino Uno" SMD Revision 3

Ref.[29] https://en.wikipedia.org/wiki/Arduino
126

Security
127

Security Vulnerabilities in IoT


• IoT means that everything can be exploited
• security attack issues (so many)
– Remotely hack a 2014 Jeep Cherokee (www.wired.com)
– A suite of Vulnerabilities in the Tesla Model S
(DefCon hacker conference)
– Disable pacemaker WiFi capability
– Droug infusion pumps
• Stopped selling in 2013(FDA)

Ref.[18] NamHui Kang, “Internet of Things Security-IETF Standard trends”, IETF mirror forum technology workshop
128

Security services in IoT


• Supporting CIA services for communications in IoT
– Standard trends
• IETF : CoAP/DTLS/UDP
– DICE WG : CoAP over DTLS Profile
• OMA LWM2M - CoAP/DTLS/UDP, CoAP/DTLS/SMS
• OASIS : MQTT/TLS/TCP

Ref.[19] NamHui Kang, “Internet of Things Security-IETF standard technology”, Duksung University
129

CoAP over DTLS (1/2)


• DTLS(Datagram Transport Layer Security)
– A tweak to TLS
– Runs over UDP, using UDP to provide end-to-end transport
– Becoming more widely used, e.g. Cisco VPN products
– Allow for retransmission of handshake messages
– Allow out-of-order arrival of messages

Application(CoAP, XML)
Security(DTLS)
Transport(UDP)
Network(IPv6)
PHY/MAC(IEEE 802.15.4)

DTLS in protocol stack

Ref.[20] Kenny Paterson, “TLS and DTLS : A Tale of Two Protocols”, Royal Holloway University, London
Ref.[21] Raj Jain, “Constrained Application Protocol for Internet of Things”
130
Introduction

International
Research Network
131

KOREN & KREONET


118

TEIN4
• Trans-Eurasia Information Network
– Increase direct Internet connectivity for research and education between
Europe and Asia
– Improve intra-regional connectivity within Asia
– Act as a catalyst for the development of national research networking in
the developing countries in the Asia-Pacific region

• Two key elements in networking between Europe and Asia:


– Asian regional infrastructure connecting TEIN4’s Asian partners
– Connectivity between the TEIN4 regional backbone and GÉANT2

Ref.[26] www.tein4.net
119

APAN/TEIN4

Ref.[25] http://www.koren.kr/koren/eng/net/natworkmap.html?cate=3&menu=1
121

KOREN
• KOREN : KOREA Advanced REsearch Network
– A non-profit testbed network infrastructure established for facilitating
research and development and international joint research cooperation.
– provide quality broadband network testbed for domestic and international
research activities to the industry, academia, and research institutions,
enabling testing of future network technologies and supporting R&D on
advanced applications..
– Cooperate with many international research network such as APII, TEIN.
• Advantages of KOREN
– Establishment of high-capacity and high-quality research testbed and
internetworking with international research networks
– Test and verify next generation network application technologies
– Provide infrastructure for validation test(sensors, future networks)
122

KOREN Topology

Ref.[25] http://www.koren.kr/koren/eng/net/natworkmap.html?cate=3&menu=1
123

KREONET
- KREONET (Korea Research Environment
Open Network) is a R&D network of Korea
supported by Korean government.

- KREONET member are Currently over 200


organizations (research institutes, universities,
industrial, research laboratories)

- KREONET has 12 regional network centers &


NOC in Daejeon, KISTI

- Major Network Services are IPv4/IPv6 Unicast


Routing, Multicast routing, Lambda networking,
QoS Service, TE..

- Major S&T resource service with KREONET are


National Supercomputing Center
TeraCluster(512CPU)
S&T DB Service
Advanced Experimental Facilities
137
138

Research on IoT/ Cloud


host management
in SDN
139

Introduction
• Centralized IoT host management is needed
– IoT hosts are connected through autonomous network
– Hart to control one by one because of the diversity and huge number
of the IoT hosts

• SDN based IoT can have:


– Centralized control : enables controller keep global view of network
topology
– Programmability : Easy to combined with other Open source software
and easy to deliver application requirements to network layer just by
SDN control application
140

IoT Host Management System Architecture


• IoT host address management (collection, blocking and translation) using
controller application
141

Experiment Environment
• Network Topology

Switch

Controller

Switch Switch

Host Host Host


142

Experiment Environment
• The real testbed equipment
– install Opendaylight controller in PC

– 3 Open vSwitches and 2 hosts are using raspberry pi 3

– Host1 send web streaming to Host2 using webcam

– using webcam

Switch

Web
Switch Camera
Switch

Host Host Host


143

Test Scenario (1/4)


• Host Address collection
144

Test Scenario (2/4)


• Host bloking
145

Test Scenario (3/4)


• Host address translation
- Achieve Host2 request video to Host1, but the requested video will be
sent by Host3 by adding flow entry to corresponding OVSs

OVS
OpenDaylight

OVS OVS

I hope Host 1!

I sent Host 3…
Host1 Host3 Host2
146

Test Scenario (4/4)


• Host address translation
147

Dynamic QoS Routing


Algorithm in SDN
148

Introduction
• Rising popularity of multimedia applications with high
requirements , so high and new requirements on QoS routing
other than best effort approach.
• QoS routing requires an awareness of dynamic network status
and application QoS requirement as well.
• Classification flows according to the application QoS
requirements and find the best satisfied path.
149

SDN based Dynamic QoS Routing Framework


150

SDN based QoS Routing Algorithm


• Routing algorithm based on two cases
• Feasible path exists
• None feasible path (In traditional QoS routing algorithm, the flow will
be dropped)
• Find the path with best-effort on QoS satisfaction
• In case different flows selects the same path, QoS for data from
higher priority applications will be considered firstly.
• Priority:

- For example: priority VoIP > Video > FTP.


- FTP will be suppressed if other higher priority applications
on the same unfeasible path
907 New Millennium Hall, KU, Seoul, Korea 150
151

Flow Chart of Routing Algorithm


Initially apply yes filtering
existing routing
Bandwidth-sensitive Bandwidth satisfied?
yes no
Flow statsitic
collection Find the path with Find the path with
minimum delay minimum
Flow classification no cost bandwidth cost
ranking
(bandwidth, delay,
delay/bandwidth sensitive)
yes filtering
no Delay-sensitive Delay satisfied?
filtering yes
Both bandwidth no
and delay satisfied? no
Find the path with Find the path with
minimum minimum delay
yes bandwidth cost cost
ranking
ranking Calculate the bandwidth
cost, send the path with OSPF If none feasible path, find best-
least bandwidth cost
effort QoS performance path
Finding feasible paths
152

Dynamic QoS Routing Algorithm Implementation


• Dynamic QoS Routing algorithm implementation as controller
application
– Will find paths with best QoS performance by flow monitoring
– Different flows have different routing path depending on Application
QoS requirement

- Implementation Environments
- Dynamic QoS Routing Controller Application
95

Experiment Result
• Dynamic QoS routing algorithm application test
– Streaming video from H1 to H2, if current path are lack of available bandwidth
because of network condition changes, then it will automatically send video to
another path which is satisfy the video transmission requirement.
95

Experiment Result
155

Mobility Support
in SDN IoT networks
156

Drawbacks of Existing Mobility Solutions


• Tunneling for each MN
– Between MN/FA and HA (MIPv4) or MAG and LMA (PMIP)
– Result in suboptimal routing
• Signaling overhead
– IP Header encapsulation during tunneling
– Messages: HA discovery, MN registration, Binding Update, etc.
• Scalability issues
– HA traffic congestion if MN too many
– Network entity limitation, FA, HA, MAG, LMA, etc.
• Only support MN with public IP address
157

SDN based mobility


• OpenFlow protocol has not natively support mobility yet

• SDN based mobility


– Centralized control enables controller keep global view of whole network topology
– Reduce overhead for supporting mobility to IoT device
• Propose SDN based mobility mechanism
– SDN based mobility support to IoT device without IP address change

• From basic OpenFlow functions, we can :


– Configure forwarding plane
• according to the requirements of applications and services
– Manipulate Per-flow forwarding through:
• Managing flow tables at OpneFlow Switches(OFS)
• Modifying packet header
• Build GRE tunnel among OFSs
158

SDN-based IP Mobility Support Architecture


• After handover, the first packet from MN is sent to Controller
Process:
①: Packet from MN to CN
②: packet_in message to Controller
③: Authentication between Controller
and MN
④: flow_mod message to distribute
specific flow entries to S1, S2, and S3
S3: Map MN’s IP/Port to S3’s IP/Port
S1: Map S3’s IP/Port back to MN’s
IP/Port S2: Delete MN’s flow entries
⑤: Packets are redirected from S3 to
S1
⑥: S1 translates packet to the original
as from MN
Controller
159

SDN-based IP Mobility Support Architecture


• CN sends packet to MN before Flow Table of S1 updated

Process:
①: Packet from CN to MN
②: S1 sends the packet to MN’s home
network
③: S2 sends packet_in to controller.
Because MN’s flow entries on S2 were
deleted when controller detected new
attach point of MN.
④: Controller sends flow_mod to S1, S2,
and S3 S1: Map MN’s IP/Port to S3’s IP/Port
S3: Map S3’s IP/Port back to MN’s IP/Port S2:
Map MN’s IP/Port to S3’s IP/Port
⑤: Packet is redirected from S2 to S3 ⑥: S3
translates to the original packet as from CN
⑦: Subsequent packets exchange directly
between S1 and S3.
160

Testbed Environment
• Implement the OVS using Raspberry Pi
– Main OVS : Connect to Controller and APs
– OVS AP : Also implement the AP using Raspberry Pi
– IoT Devices : Raspberry Pi
161

Real testbed
• Simulation using Mininet-WiFi
16
2

SDN and Cloud based


Forest Fire Detection
System using IoT devices
163

Introduction
• Collecting Temperature, Illumination and Humidity sensor
data to detect forest fire.
• Once forest fire is detected, turn on the camera
• All sensor data and web streaming will be sent to the DB
server and Web server which is located in OpenStack
• We can see the real-time video streaming and sensor data
online
164

System Design
165

System Implementation Plan


166

System Implementation Plan


167

System Implementation Plan


Routing Changes

• Once OVS is burnt out , then reroute. Controller

OVS

OVS
Camera
OVS OVS
OVS
OVS
OVS
• Classification
• Calculation
OVS OVS

OVS
168

System Implementation Plan

Server Layer
OpenStack
( Data for Service )

Wired data
Communications

Network Layer
- Wired
( Data Analyses )

Wireless data
Communications

Sensing Layer
- Wireless
( Data Collection )
169

System Implementation Plan


• Sensors

Temperature-humidity sensor

Arduino Uno
Illumination sensor
170

Sensors using Arduino

Illumination sensor

LED sensor

Temperature-humidity sensor
171

Sensors using Arduino


172

Sensors using Arduino


• Sensor data
173

Run OVS & AP in Raspberry Pi 3


• Raspberry Pi 3
174

System Implementation Plan


• Network Topology in OpenStack
175

System Implementation Plan


• Web streaming and sensor data
176

Demo
177

Reference
[1] https://www.opennetworking.org/about/onf-overview
[2] http://www.tta.or.kr/index.jsp
[3] http://www.slideshare.net/ireri339/sdndstw-ryu-developing
[4] OpenFlow Specification 1.3, ONF
[5] https://www.openvswitch.org/
[6] http://www.frank-durr.de/?p=75
[7] https://wiki.opendaylight.org/view/Main_Page
[8] http://docs.inocybe.com/dev-guide/content/_opendaylight_controller_md_sal_faqs.html
[9] https://github.com/opendaylight/docs/blob/master/manuals/developer-guide/src/main/asciidoc/controller/md-sal-faq.adoc
[10] HyeonJeong Jang, “Openstack_in_OpenSource”, OpenStack Korea Community, 2015
[11] HyeonJeong Jang, “Billing_for_OpenStack_Solution”, OpenStack Korea Community
[12] Insun Jang and Sangheon Pack, "NFVRG" Technology Trends Updates”, IETF mirror forum technology workshop, 2016
[13] Sungwon Lee, “SDN/NFV foundation, technology evolution and development”, Kyunghee University, 2016
[14] Bhavna Singh, “How Internet of Things(IoT) Are Going To Impact Your Business?”
[15] Younghan Kim, “IoT, Openstack, DevOps”, Soongsil University, 2016
[16] Jaehoon Jeong, “IoTivity:OFC_Open_Source_Project”, KRnet, 2016
[17] John Wiley & Sons, “6LoWPAN: The Wireless Embedded Internet Companion Lecture Slides”
[18] NamHui Kang, “Internet of Things Security-IETF Standard trends”, IETF mirror forum technology workshop, 2015
[19] NamHui Kang, “Internet of Things Security-IETF standard technology”, Duksung University
[20] Kenny Paterson, “TLS and DTLS : A Tale of Two Protocols”, Royal Holloway University, London
178

Reference
[21] Raj Jain, “Constrained Application Protocol for Internet of Things”
[22] Zach Shelby, “Lightweight Device Management for IoT”, http://community.arm.com/groups/internet-of-things/blog/2014/02/24
[23] Suhas Rao et al., “Implementing LWM2M in constrained IoT devices”, ICWiSe, 2015
[24] “CoAP, OMA LWM2M, and IPSO Smart Objects”, ARM, 2014
[25]http://www.koren.kr/koren/eng/net/natworkmap.html?cate=3&menu=1
[26] www.tein4.net
[27] JaeSeok An, “OpenStack”, KRnet, 2016
[28] https://en.wikipedia.org/wiki/Raspberry_Pi
[29] https://en.wikipedia.org/wiki/Arduino
[30] Soohong Daniel Park, Ph.D., “Samsung OpenSource & IETF”, IETF mirror forum technology workshop, 2016
[31] Younghan Kim, “NFV”, Soongsil University, 2016
[32] https://www.opnfv.org/about
[33] https://www.opnfv.org/software
[34] http://opensource.org , Open Source Initiative
[35] SangYun Han, “ONOS SDN Controller”, Kyunghee Univ. MOBILE CONVERGENCE LAB.
[36] OpenFlow Switch Speciifcation version 1.4.0
[37] http://cleanslate.Stanford.edu, The Stanford Clean Slate Program
[38] Srini Seetharaman et al., “OpenFlow/SDN tutorial”, Deutsche Telekom, Silicon Valley Innovation Center
179

Thank You!

Вам также может понравиться