▣ 사물인터넷프로토콜(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센서 | 구글 토크 |
'시스템구조' 카테고리의 다른 글
컴퓨터 구조_메모리_플래시메모리_낸드 NAND, NOR, SLC, MLC (0) | 2021.09.30 |
---|---|
컴퓨터 구조_가상메모리_스레싱(thrashing), 페이지 기반 가상메모리, TLB, FIFO, LRU, MRU, 교체, 적중률 (0) | 2021.09.29 |
HTTP_REST_CRUD_멱등(idempotence), Creat POST, Read GET, Update PUT, Delete DELETE (0) | 2021.09.29 |
블록체인_합의 알고리즘_PoW, Pos, DPoS, BFT, 비트코인 (0) | 2021.09.28 |
컴퓨터 구조_CPU_프로그램 실행시간, 명령어수, 클럭 사이클 CPI, 입출력 시간, 속도 CPS, RAM, 암달의 법칙, 스케쥴링, 라운드로빈 (0) | 2021.09.28 |