CoAP
태그 :
- 개념
- M2M 노드들 사이 통신을 지원하기 위한 REST 기반 프로토콜
1. CoAP(Constrained Application Protocol) 개념
- 6LoWPAN 기반의 전송계층을 포함한 상위 애플리케이션 계층에서 M2M노드들 사이의 통신을 지원하기 위한 REST 기반의 프로토콜
- 사물 통신(M2M: Machine to Machine), 사물 인터넷(IoT: Internet of Things)과 같은 대역폭이 제한된 통신 환경에 최적화하여 개발된 레스트(REST: REpresentational State Transfer) 기반의 경량 메시지 전송 프로토콜
2. 시스템 구성도 및 프로토콜
가. 시스템 구성도
|
- 인터넷에서 사물인터넷 디바이스처럼 제한된 컴퓨팅 성능을 갖는 디바이스들의 통신을 위한 프로토콜 (Request, Response) |
나. 프로토콜
|
||
계층 |
프로토콜 |
설명 |
어플리케이션 계층 |
CoAP Transaction |
- 트랜잭션을 비동기나 동기적으로 처리하는 계층 |
CoAP REST |
- REST 데이터 처리 위한 계층, HTTP방식인 GET, POST, PUT, DELETE의 기본 방식 사용 |
|
트랜스포트 계층 |
DTLS |
- DTLS(Dtatgram TLS) 기반 경량화 보안 |
UDP |
- 빠른 전송 가능한 프로토콜 |
|
네트워크 계층 |
6LowPAN |
- 센서 네트워크와 IPv6 네트워크 직접 연동 |
3. CoAP 프록시
|
- 기존 통신망(HTTP) 노드와 CoAP 영역의 노드들 간의 통신 프로토콜 변환 - 프로토콜 변환 및 캐시 응답 역할 수행 |
4. CoAP와 MQTT 비교
항목 |
MQTT |
CoAP |
발전 |
- MQ à MQTT - 리소스 점유 최소화 |
- 6LowPAN à CoAP - 제한적 프로토콜 |
의도 |
- 프로토콜 리소스 점유 최소화 - 한정된 자원 시스템 지원 - Topic 기반 MQ 매커니즘 수용 |
- HTTP보다 가벼운 프로토콜 지향 - 제한된 사물의 특성 고려 - RESTFul 기반 서비스 |
특징 |
- 오버헤드 최소화 - Pub/Sub 기반 3가지 QoS 지원 |
- RESTFul 프로토콜 - 동기, 비동기 메시지 교환 지원 |
단체 |
- OASIS (IBM 개발) |
- IETF 내 CoRE 워킹그룹 |
공통 |
- Footprint 기반의 전자기기 인터넷 통신 지원 - 저전력 센서, 스위치, 밸브 등의 기기에 대한 표준적 인터넷환경 지원 - 저대역폭, 불안정한 네트워크 환경에서 사용 |
[참고] – CoAP
- 무선센서네트워크 노드들처럼 제한된 자원의 인터넷 연결 지원, - MQTT와 같이 RAM, ROM 메모리가 적은 마이컴에 적합 - 사물통신 시나리오에 요구 충족하면서 REST에 적합하게 설계 - HTTP와 비슷한 메시지 구조를 가지고 있어 HTTP와 효과적 연결 - UDP 멀티캐스트를 지원, 사물인터넷과 M2M 디바이스와 같은 환경에서 오버헤드 감소 - 웹을 이용해서 클라이언트와 기기를 연결한다는 관점에서 WoT(Web of Things) 프로토콜이라고도 함 |