임베디드 프로그래밍 Lecture #09 2017. 11. 27.

Slides:



Advertisements
Similar presentations
Beginning 자바 웹 서비스 웹 서비스 기술 강미란 Cyber-Infrastructure Research Lab Konkuk University.
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
Python Socket/HTTP overmania. 목표  소켓을 이용하여 기본적인 서버 - 클라이언트 모델을 구현할 수 있다.  간단한 웹서버를 소켓을 이용하여 작성할 수 있다.
Chapter 02. 웹에 대한 이해. Chapter 02. 웹에 대한 이해 웹의 역사 HTTP 웹 애플리케이션 기술.
조준희 (Cho, Junhee) TCP/IP 조준희 (Cho, Junhee)
Oozie Web API 기능 테스트 이승엽.
제 22 장 HTTP 22.1 HTTP 트랜잭션 22.2 요청 메시지 22.3 응답 메시지 22.4 헤더 22.5 예제
OpenAPI의 응용 인공지능 연구실.
Web Service XML Security
Network Lab. Yong bae, Kim
Mobile IPV 양현태 김영진.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
IPsec 석진선.
Network Lab. Young-Chul Hwang
이번 시간에는... 지난 시간에는 모바일 응용 프로토콜의 첫번째 시간으로, 모바일에 사용되는 다양한 응용 프로토콜과 모바일 웹 서비스 응용 프로토콜로써 XML 및 SMIL 동기화 멀티미디어 통합 언어에 대해 알아보았습니다. 이번 시간에는 모바일 응용 프로토콜, 그 두번째.
10장. 웹 서비스 공격 (Attacking Web Service)
20 장 네트워크층 프로토콜 : ARP, IPv4, ICMP, IPv6, ICMPv6
웹 서비스 (Web Services).
Internet Control Message Protocol (ICMP)
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
Load Balancing L4와 L7은 어떻게 동작할까?.
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
Web Servers (IIS & Apache)
IPv 문은영 김은혜 류현미.
웹 프로토콜과 로그의 이해 ★ 웹 프로토콜 ★ 통신 절차 ★ HTTP Request ★ HTTP Response.
Domain Name System (DNS)
Chapter 02 네트워크에 대한 이해.
NTAS 소개 (Network Transaction Application Server)
Chapter 11 Unicast Routing Protocols.
Chapter 3 3 모바일인터넷 구성 기술.
임베디드 프로그래밍 Lecture #
7장 목차 7.1 멀티미디어 네트워킹 응용 7.5 다양한 서비스 클래스 제공 7.2 스트리밍 저장 오디오 및 비디오
Network Socket Programming
PPP (Point-to-Point Protocol)
S N M P (Simple Network Management System).
Embeded 기초 다지기 2015년 10월 26일 intern Sally
(Network Transaction Application Server)
Access Control Lists Access Control List
Chapter 21 Network Layer: ARP, ICMP (IGMP).
임베디드 프로그래밍 Lecture #
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
ARP Project 조 충 호 교수님 김 세 진 조교님 조 진 형 변 익 수
웹 서비스 (Web Services).
04장 웹 보안: 웹, 그 무한한 가능성과 함께 성장한 해킹
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
17장 X.25 패킷 교환망 17.1 X.25 계층 17.2 X.25와 관련된 기타 프로토콜 17.3 요약.
Wireless Java Programming
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
Network Security WireShark를 활용한 프로토콜 분석 II.
Method & library.
Trivial File Transfer Protocol (TFTP)
REST (REpresentational State Transfer)
22 장 전송층(Transport Layer)
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
21 장 전송층(Transport Layer)
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
Internet Computing KUT Youn-Hee Han
Internet & WWW Protocols
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
Chapter 26 IP over ATM.
Session Initiation Protocol
웹(WWW).
이번 시간에는... 지난 시간까지 제 1장을 통해 모바일의 정의와 개념, 시작과 발전, 기술과 서비스 및 그 전략을 살펴봄으로써 모바일 산업에 대한 전반적인 이해를 쌓았습니다. 이번시간 부터는 제 2장 모바일 기술을 통해, 무선 인터넷을 위한 컨텐츠 제작 기술, 네트워크.
Ping Test.
Chapter 27 Mobile IP.
~27 윤형기 Python 프로그래밍 (보충) ~27 윤형기
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
제 9 장 ICMP 9.1 메시지 유형 9.2 메시지 형식 9.3 오류 보고 9.4 질의 9.5 검사합 9.6 ICMP 설계
8주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
ARP.
Presentation transcript:

임베디드 프로그래밍 Lecture #09 2017. 11. 27

목 차 COAP Protocol 개요 COAP Protocol 테스트 COAP 기반 IoT Service 구현

COAP Protocol (1) COAP Protocol 개요 The Constrained Application Protocol 제한된 네트워크 환경에서 M2M 애플리케이션의 요구사항을 만족하는 통신 프로토콜 IP 기반, HTTP RESTful 개념을 적용 작은 메모리를 위하여 최대한 단순화 및 낮은 전송 대역을 위한 데이타 최소화 인터넷 표준 프로토콜 IETF RFC7252 http://coap.technology/ https://www.cse.wustl.edu/~jain/cse574-14/ftp/coap/index.html

COAP Protocol (2) COAP Protocol 개요 다음과 같은 기기를 위하여 만들어진 프로토콜 다음과 같은 기기를 위하여 만들어진 프로토콜  8bit 프로세서와 같은 저사양 센서 모듈에서도 구현 가능한 사양 802.15.4 기반의 무선 프로토콜(thread, zigbee) 대응 (손실, 작은 패킷 크기) IPv6 기반 (6LoWPAN) 쉽게 web(HTTP)에 연동하기 위한 경량화된 RESTful CoAP-HTTP gateway에서도 stateless 로도 쉽게 HTTP로 변환하여 전달 가능

COAP Protocol (3) COAP Protocol 개요 Sure, CoAP is But, CoAP is not A very efficient RESTful protocol Ideal for constrained devices and networks Specialized for M2M applications Easy to proxy to/from HTTP But, CoAP is not A general replacement for HTTP HTTP compression Restricted to isolated “automation” networks

COAP Protocol (4) COAP Protocol 특징 Embedded web transfer protocol (coap://) Asynchronous transaction model UDP binding with reliability and multicast support GET, POST, PUT, DELETE methods URI support Small, simple 4 byte header DTLS based PSK, RPK and Certificate security Subset of MIME types and HTTP response codes Built-in discovery Optional observation and block transfer

COAP Protocol (5) COAP Protocol 구조

COAP Protocol (6) COAP Protocol vs. HTTP

COAP Protocol (7) COAP Protocol vs. HTTP Protocol layout

COAP Protocol (8) COAP Protocol : Transaction Model Transport CoAP currently defines: UDP binding with DTLS security CoAP over SMS or TCP possible Base Messaging Simple message exchange between endpoints Confirmable or Non-Confirmable Message answered by Acknowledgement or Reset Message REST Semantics REST Request/Response piggybacked on CoAP Messages Method, Response Code and Options (URI, content-type etc.)

COAP Protocol (9) COAP Protocol : 메시지 구조 Message Header(4 bytes)

COAP Protocol (10) COAP Protocol : 메시지 구조 Option Format

COAP Protocol (11) COAP Protocol : 메시지 구조 Basic Specification Options

COAP Protocol (12) COAP Protocol : 메시지 종류 CON(Confirmable) 수신자의 응답을 요청하는 메시지 NON(Non-confirmable) 수신자의 응답 요청없이 전송하는 메시지 ACK(Acknowledgement) 수신자의 응답 메시지 RST(Reset) 수신자가 메시지 수신 동안에 오류가 발생하였거나 전송자에게 메시지 발생 중지 를 요청하는 메시지

COAP Protocol (13) COAP Protocol : CON/ACK Message 신뢰성이 보장된 트랜잭션을 처리할 때에 사용 Piggy-backed Response

COAP Protocol (14) COAP Protocol : CON/ACK Message 패킷 손실 처리

COAP Protocol (15) COAP Protocol : CON/ACK Message Separated Response

COAP Protocol (16) COAP Protocol : CON/ACK Message Caching CoAP includes a simple caching model Cacheability determined by response code An option number mask determines if it is a cache key Freshness model Max-Age option indicates cache lifetime Validation model Validity checked using the Etag Option A proxy often supports caching § Usually on behalf of a constrained node, § a sleeping node, § or to reduce network load

COAP Protocol (17) COAP Protocol : CON/ACK Message Proxing & Caching

COAP Protocol (18) COAP Protocol : URI Web Naming

COAP Protocol (19) COAP Protocol : URI Web ReSTful 스타일에 따라 URI로 리소스 구분 COAP Scheme : coap:// - UDP port 5683 coaps:// - UDP port 5684, DTLS 보안층을 사용한 연결

COAP Protocol (20) COAP Protocol : Request Method GET – 리소스의 현재 콘텐츠 요청 POST – 리소스 생성, 수정 , 삭제 PUT – 리소스 생성, 수정 DELETE – 리소스 삭제 멱등성(Idempotent) 동일한 요청을 여러 번 호출하여도 동일한 결과를 반환한다 POST를 제외한 모든 메소드는 멱등성을 지원하여야 한다.

COAP Protocol (21) COAP Protocol : Observation

COAP Protocol (22) COAP Protocol : Block Transfer

COAP Protocol (23) COAP Protocol : Resource Discovery Service Discovery What services are available in the first place? Goal of finding the IP address, port and protocol Usually performed by e.g. DNS-SD when DNS is available Resource Discovery What are the Web resources I am interested in? Goal of finding URIs Performed using Web Linking or some REST interface CoRE Link Format is designed to enable resource discovery

COAP Protocol (24) COAP Protocol : Resource Discovery RFC6690 is aimed at Resource Discovery for M2M Defines a link serialization suitable for M2M Defines a well-known resource where links are stored Enables query string parameters for filtered GETs Can be used with unicast or multicast (CoAP) Resource Discovery with RFC6690 Discovering the links hosted by CoAP (or HTTP) servers GET /.well-known/core?optional_query_string Returns a link-header style format URL, relation, type, interface, content-type etc.

COAP Protocol (25) COAP Protocol : Resource Discovery

COAP Protocol 테스트 (1) COAP Protocol 라이브러리 Californium Java-based COAP protocol library 이클립스 재단 Californium-core, element-connector

COAP Protocol 테스트 (2) COAP Protocol 라이브러리 Californium – 주요 클래스 및 관계