시스템구조

사물인터넷프로토콜(IOT)_CoAP, XMPP, MQTT, Tiny OS, 초소형 운영체제

스윙스윙 2021. 9. 29. 15:07

▣ 사물인터넷프로토콜(IOT)_CoAP, XMPP, MQTT, Tiny OS, 초소형 운영체제

 

구분 MQTT CoAP XMPP
표준화 IETF OASIS IETF
목적 원격메시지 전송 제한된 환경 Instance Message
아키텍처 Publish/Subscribe
브로커 존재
RESTful
NAT 환경에서 작동 보장 못함
REST기반으로 CRUD 기능 수행
XML기반
분산 Client/Server
기반
프로토콜
TCP UDP TCP
보안 SSL DTLS SASL*, TLS
특징 통신노드 M:N
전력소모 비교적 높음
QoS(Quality of Service) 자체지원
대역폭이 적고 불안정한 네트워크에서도 사용 가능
메시지 크기를 최소 2byte로 만들 수 있음
통신노드 1:1
전력소모 비교적 낮음
QoS 별도 구현 필요
HTTP와 프록시를 사용하여 CoAP기기와 쉽게 연결 가능
멀티캐스트 지원
4바이트 고정 헤더
메시지 지향 미들웨어용 통신프로토콜임
교환 방식으로 발행 Publish/Subscribe 방식 및 Request / Response 방식 모두 가능
인스턴드 메시지 전달을 위해 Push방식을 지원하여 메시지를 거의 실시간으로 전송할 수 있음
암호화가 어려움
메시지 전달 보장 못함
적용 페이스북 메신저 IoT센서 구글 토크

 

■ Tiny OS

UC버클리에서 개발된 센서 네트워크를 위한 완전 무료 운영 체제이며, 현재 세계에서 가장 큰 센서 네트워크 커뮤니티를 형성하고 있음. 빠른 기능 구현 및 업그레이드가 커뮤니티를 통해 진행되고 있는 소프트웨어 플랫폼임

 

매우 작은 용량의 크기(대부분 30Kbyte 이하)

무선 센터 노드의 일반적인 특징인 최소한의 HW지원(작은 메모리, 낮은 CPU 성능, 낮은 배터리 자원 등)을 고려한 최적화된 운영체제

한 개 어플리케이션을 아주 작은 단위로 세분화한 Task 단위로 실행시킴

FIFO(First In First Out)형태의 스케쥴러를 사용하며 전원이 꺼질 때까지 무한루프에서 동작

NestC(network embedded system C)를 사용해 프로그래밍. NestC는 C언어의 일종으로 여러 컴포넌트들을 연결하여 하나의 애플리케이션으로 조합할 수 있음

 

app 기본적인 TinyOS application
contrib 관련 회사들이 제공한 application
doc tutorial 및 여러 가지 문서
tools 유틸리티 및 java application
tos interfaces TinyOS의 공통 interface
lib 다양한 라이브러리
platform 하드웨어 플랫폼에 관련된 컴포넌트(component)
sensorboards 센싱과 관련된 컴포넌트
system 일반적인 커널 컴포넌트
types 타입 header 파일

 

 


2018년 92번

정답 : 4번

CoAP는 UDP 프로토콜을 기반으로 암호화를 위해 DTLS(Datagram Transport Layer Security)을 사용

(TCP 기반이 아니므로 SSL/TLS 는 사용 불가)

 


2017년 84번

정답 : 4번

MQTT는 모바일 기기에 최적화된 라이트 메시징 프로토콜임

페이스북 메신저가 MQTT 사용함

브로커(Broker)서버가 '토픽'이라고 부르는 이벤트 발생자와 구독자를 N:M로

중개하는 메시지 버스 역할 수행

 


2019년 80번

정답 : 1번

TinyOS는 아주 작은 OS이기 때문에 리눅스 기반이 될 수 없음. 리눅스가 운영되기 위해서는 많은 자원(CPU, 메모리, 디스크)이 필요한데 TinyOS는 작은 사물기기(센서보다 조금 더 나은)를 위한 전용 OS이기 때문임

예를 들어 라즈베이 파이에는 리눅스를 설치할 수 있지만 아두이노는 어려움

 

■ Tiny OS

매우 작은 용량의 크기(대부분 30Kbyte 이하)

무선 센터 노드의 일반적인 특징인 최소한의 HW지원(작은 메모리, 낮은 CPU 성능, 낮은 배터리 자원 등)을 고려한 최적화된 운영체제

한 개 어플리케이션을 아주 작은 단위로 세분화한 Task 단위로 실행시킴

FIFO(First In First Out)형태의 스케쥴러를 사용하며 전원이 꺼질 때까지 무한루프에서 동작

NestC(network embedded system C)를 사용해 프로그래밍. NestC는 C언어의 일종으로 여러 컴포넌트들을 연결하여 하나의 애플리케이션으로 조합할 수 있음

 


2019년 99번

정답 : 2번

구분 MQTT CoAP XMPP
표준화 IETF OASIS IETF
목적 원격메시지 전송 제한된 환경 Instance Message
아키텍처 Publish/Subscribe
브로커 존재
RESTful
NAT 환경에서 작동 보장 못함
REST기반으로 CRUD 기능 수행
XML기반
분산 Client/Server
기반
프로토콜
TCP UDP TCP
보안 SSL DTLS SASL*, TLS
특징 통신노드 M:N
전력소모 비교적 높음
QoS(Quality of Service) 자체지원
대역폭이 적고 불안정한 네트워크에서도 사용 가능
메시지 크기를 최소 2byte로 만들 수 있음
통신노드 1:1
전력소모 비교적 낮음
QoS 별도 구현 필요
HTTP와 프록시를 사용하여 CoAP기기와 쉽게 연결 가능
멀티캐스트 지원
4바이트 고정 헤더
메시지 지향 미들웨어용 통신프로토콜임
교환 방식으로 발행 Publish/Subscribe 방식 및 Request / Response 방식 모두 가능
인스턴드 메시지 전달을 위해 Push방식을 지원하여 메시지를 거의 실시간으로 전송할 수 있음
암호화가 어려움
메시지 전달 보장 못함
적용 페이스북 메신저 IoT센서 구글 토크