HTTP/ CoAP/ MQTT - part2에서는 이 3개와 차이점을 아는 것이 시험!
*Matter protocol도 있음
(HTTP/CoAP/MQTT는 IoT를 target하여 만들어지는 프로토콜은 아니고
범용적인 통신 프로토콜이고, matter는 smart home을 목적으로 한 프로토콜임
matter protocol은 Google, AWS, Apple가 만든 표준임
matter는 표준과 프로토콜 둘 다 가지고 있는 것임-http/coap/mqtt는 protocol only)
네트워크 통신 프로토콜2가지
3GPP/WiFi/Thread/ZigBee
표준
OCF/Matter
플랫폼
AWS
[HTTP]
HTTP의 위치
HTTP는 클라이언트-서버 프로토콜임 (IETF에서 만든 것임)
HTTP는 텍스트가 오고가는 것이며, 사이즈가 크다는 특징이 있음
(사이즈가 크다 = header 사이즈가 길다 = 데이터양이 많음)
TCP위에 HTTP가 올라감
[CoAP]
CoAP (IETF에서 만든 것임-유선인터넷 통신망 업계1위)
텍스트가 아닌 비트 level로 통신하는 것임 (중요! - 차이점)
compact하게 4byte(32bit) header를 사용함
각 숫자들의 의미를 부여하여 사용함
HTTP와 동일하게 request & response구조임 (중요!)
HTTP와 같이 계층에서의 위치도 동일함
** DTLS는 무시해도 되는 계층인데, 암호화 하는 계층이라고 생각하면 됨
CoAP특징
1. coap://와 같이 사용함
2. 기본적으로는 UDP방식을 사용함( TCP사용도 가능하긴 함)
HTTP vs. CoAP계층 비교
TCP는 20byte로 3-way handshake를 사용하므로 사이즈가 큼
UDP는 8byte로 사이즈가 작음(그러나 더이상 사용 안함 - 데이터사용비용이 저렴해졌기 때문)
단, CoAP도 TCP방식을 쓸수는 있음 (O/X 문제 시험!!)
[The Web and Rest]
REST & SOAP
REST: Request & response 구조임 (= Restful구조)!!! 시험!!!
* 자원을 이름으로 구분하기 때문에 unique한 이름을 부여해줘야함
SOAP: 카카오톡과 같이 대행사를 통해서 소통하는 구조임
URN & URL
자원의 이름을 URI라고하는데
web 주소는 URL이라고 하고, URN은 universal resource name의 약자임
CoAP messege header 구조
32bit = 4byte
CoAP의 Request 종류 : confirmable request vs. Non-confirmable request
(참고로 아래그림은 해석하기 좋게 텍스트로 표현되있으나, 숫자로 사용됨)
위의 방식에 UDP를 사용하기때문에 발생하는 문제가 있음
- 응답여부를 확인하지 않고 request를 요청함(Non-confirmable request)
- 그러므로 confirmable request(=separate response)를 사용함
(불필요한 경우 non-comfirmable request를 사용해도 됨)
Back-OFF detail
대답이 오지 않은 경우 얼마나 기다린 다음 다시 msg를 보낼지에 대한 정책임
처음에는 time-out setting을 짧게 가져갔다가 점점 길게 기다린 다음 msg를 보냄
(congestion 방지)
CoAP에서의 observation (시험!!)
client & server 방식을 사용하므로 client의 요청없이 server는 자료를 제공하지 않음
1. HTTP에서는 push방식을 사용하여 server가 client에게 알림을 줌
2. CoAP에서의 push방식을 observation이라고 함
Discovery
Discovery의 목적: Discovering the links hosted by CoAP (or HTTP) servers
아래와 같이(노란색)특정 약속한 구문이 들어오면 응답하기로 함
'IT > 사물인터넷' 카테고리의 다른 글
wireless evolution (0) | 2023.05.02 |
---|---|
Matter - Ambient Intelligence (0) | 2023.04.04 |
3가지 프로토콜: HTTP/CoAP/MQTT 2 (0) | 2023.04.04 |
TCP/IP Network Model (0) | 2023.03.21 |
사물인터넷 및 Network model (0) | 2023.03.14 |