무엇입니까 IoT 통신 프로토콜?
IoT 프로토콜은 표준이거나 “언어” 기계가 서로 통신하는 데 사용됩니다., 또는 플랫폼과 함께. 특징과 기능을 바탕으로, 이 프로토콜은 주로 다음과 같이 나뉩니다. 3 종류: 전송 프로토콜, 통신 프로토콜, 및 산업별 프로토콜.
전송 프로토콜: 장치에서 사용합니다 IoT 네트워크 서브넷 내에서 연결, Wi-Fi를 포함하여, 블루투스, 지그비, 이더넷, NFC, 3G/ 4G/ 5G 등.
커뮤니케이션 프로토콜: 장치 간의 데이터 전송에 사용됩니다, 네트워크 계층 위에서 작동하고 사용자에게 애플리케이션 계층 서비스를 제공합니다.. 통신 프로토콜 중 일부: MQTT, Coap, HTTP/HTTPS, WebSocket, AMQP.
산업 별 프로토콜: 장치 간 호환성을 보장하기 위해 특정 산업 내 표준 프로토콜, 시스템, 다른 제조업체와 브랜드의 플랫폼, JT/T와 같은 808 중국의 차량 터미널 통신 프로토콜.
이해의 이해 7 IoT 통신 프로토콜:
여기에는 IoT 산업에 사용되는 커뮤니케이션 프로토콜이 있습니다., 포함:
1. 휴식/http
휴식은 무엇입니까
나머지 (표현 상태 이전)네트워크 응용 프로그램 설계를위한 표준보다는 건축 스타일입니다., 일반적으로 HTTP를 전송 프로토콜로 사용하여 건축 원칙을 구현합니다..
특징:
- 무국적: 각 요청에는 필요한 모든 정보가 포함됩니다, 서버는 클라이언트의 상태를 유지하지 않습니다.
- 자원 식별: 서버 측에서, 응용 프로그램 상태 및 기능은 다양한 리소스로 나눌 수 있습니다., 고객에게 노출됩니다. 자원의 예로는 응용 프로그램 개체가 포함됩니다, 데이터베이스 레코드, 알고리즘, 등. 각 리소스는 URI를 사용하여 고유 주소가 할당됩니다. (범용 리소스 식별자).
- 균일 한 인터페이스: 표준 HTTP 방법을 사용하여 리소스를 조작하십시오, get와 같은, 우편, 놓다, 삭제
애플리케이션:
REST/HTTP는 주로 인터넷의 시스템 아키텍처를 단순화하는 것을 목표로합니다., 클라이언트와 서버 상호 작용 사이의 느슨한 커플 링을 빠르게 달성합니다, 따라서 상호 작용 대기 시간을 줄입니다. 그러므로, 그것은 적합합니다 IoT 응용 프로그램, 휴식을 통해 IoT 리소스의 노출을 가능하게합니다, 다른 응용 프로그램에서 서비스를 호출 할 수 있습니다.
2. Coap
Coap이란 무엇입니까?
Coap (제한된 응용 프로그램 프로토콜) 제한된 장치에 쉽고 효율적인 통신을 제공합니다, 저전력으로 작동에 이상적입니다, 대역폭, 그리고 고도의 환경.
특징:
- 헤더 압축: Coap 4 바이트, 확장 된 옵션이 이어집니다, 일반적으로 요청 헤더가 발생합니다 10-20 바이트.
- 방법과 uris: 지원을 지원합니다, 놓다, 우편, 방법을 삭제하십시오, 서버 리소스에 액세스하기위한 URI.
- 전송 계층: 오버 헤드를 최소화하고 멀티 캐스트를 지원하기 위해 UDP를 구축했습니다, 간단한 정지 및 대담 신뢰성 메커니즘으로.
- 비동기 통신: HTTP와 달리, COAP는 비동기 통신을 지원합니다, M2M 응용 프로그램에 이상적입니다.
- 자원 발견: 자원 검색을위한 내장 형식이 포함되어 있습니다, RFC를 준수합니다 5785, 리소스 설명에는 /.well-nown/core 사용.
- 캐싱: 성능을 향상시키기 위해 리소스 설명의 캐싱을 지원합니다.
애플리케이션:
COAP는 단순화 된 HTTP 기반 RESTFUL API입니다. COAP는 응용 프로그램 계층 프로토콜입니다 6 로우 팬 프로토콜 스택, 자원 제약 통신 IP 네트워크에 적합합니다, 저전력 센서 및 임베디드 시스템과 같은.
3. MQTT
mqtt는 무엇입니까?
MQTT 프로토콜은 게시/구독 패턴을 사용합니다, IoT 터미널이 일반적으로 TCP를 통해 MQTT 브로커에 연결하는 경우. 브로커는 주제를 통해 커뮤니케이션 컨텐츠를 관리하고 장치간에 메시지를 전달할 책임이 있습니다..
특징:
- Pubish/Subscribe 모델: 클라이언트는 주제에 메시지를 게시하고 특정 주제에서 메시지를 받도록 구독 할 수 있습니다.. 이 모델은 유연한 메시지 배포를 가능하게합니다.
- 낮은 대역폭: 메시지 헤더가 최소화됩니다, 일반적으로 만 2 바이트, 효율적인 대역폭 사용을 지원하고 저 대역폭에 적합합니다., 고도의, 불안정한 네트워크.
- 신뢰할 수 있음: MQTT는 메시지 전달을 위해 세 가지 QOS 레벨을 제공합니다: “최대 한 번,” “적어도 한 번,” 그리고 “정확히 한 번.”
애플리케이션:
MQTT는 일반적으로 장치 데이터 수집에 대한 엔드 포인트에 적합합니다. (예를 들어, 장치 -> 섬기는 사람) 스타 네트워크 아키텍처에서 중앙 집중식 커뮤니케이션, 중개인이 허브 역할을합니다. IoT 시나리오에서 널리 사용되며 일부 모바일 애플리케이션에서도 채택되었습니다., Facebook Messenger와 같은 (역사적으로).
4. DDS
DDS는 무엇입니까?
DDS (데이터 배포 서비스) 작성된 미들웨어 표준입니다 실시간 시스템. 낮은 대기 시간을 제공하여 분산 응용 프로그램의 엄격한 요구를 충족합니다., 높은 처리량, 그리고 결정 론적 성능.
특징:
- 데이터 중심
- Brokerless 게시/가입 메시징 모델: 포인트 간 포인트를 지원합니다, 포인트-다중 모티 포인트, 및 다중 지점에서의 통신.
- 제공하십시오 21 서비스 품질 (QOS) 정책
애플리케이션:
배포, 매우 신뢰할 수 있습니다, 장치의 실시간 데이터 통신. 현재, DDS는 민간 항공 및 산업 통제와 같은 분야에서 널리 사용됩니다..
5. AMQP
AMQP는 무엇입니까?
AMQP.
특징:
- 와이어 레벨 프로토콜: 바이트 스트림으로 네트워크를 통해 데이터를 전송합니다..
- 개방 표준으로 인한 높은 호환성
- 유연한 & 안전한: 다양한 메시징 패턴을 지원합니다, 게시/구독 및 지점 간 포인트 포함. 또한 여러 보안 메커니즘을 통합합니다, 암호화 및 인증과 같은.
애플리케이션:
처음에 금융 시스템의 거래 메시징에 사용되었습니다, AMQP는 현재 모바일 장치와 백엔드 데이터 센터 간의 통신 및 데이터 분석을 위해 IoT 애플리케이션에 주로 사용됩니다..
6. XMPP
XMPP는 무엇입니까?
개방형 통신 프로토콜로서, XMPP (확장 가능한 메시징 및 존재 프로토콜) 실시간 커뮤니케이션을 위해 설계되었습니다, 인스턴트 메시징 및 존재 정보와 같은.
특징:
- 클라이언트/서버 통신 모델: 클라이언트는 서버에 요청을 보냅니다, 요청을 처리하고 클라이언트에게 적절한 응답 또는 리소스를 다시 보냅니다..
- 분산 네트워크: 여러 독립 노드가 네트워크를 형성합니다, 단일 실패 지점을 제거합니다.
- 간단한 고객: 클라이언트는 더 적은 작업을 처리합니다, 서버 측에서 대부분의 계산이 수행됩니다.
- XML은 데이터를 설명하는 데 사용됩니다, 크로스 플랫폼 호환성 보장, JSON은 현대 응용 분야에서 더 인기를 얻었습니다.
애플리케이션:
XMPP는 인스턴트 메시징에 사용됩니다, 네트워크 관리, 콘텐츠 전달, 협업 도구, 파일 공유, 노름, 원격 시스템 모니터링, 그리고 더.
7. JMS
JMS는 무엇입니까?
JMS (Java 메시지 서비스) 분산 애플리케이션에서 메시징을위한 Java 플랫폼의 표준 API입니다.. 응용 프로그램이 메시지 대기열을 통해 통신 할 수 있습니다, 따라서 비동기식을 달성합니다, 유연한, 신뢰할 수있는 메시지 교환.
특징:
- 비동기 통신: 다른 시간에 메시지를 보내고 수신 할 수 있습니다, 시스템 유연성 및 응답 성 향상.
- 메시지 내구성: 메시지 지속성을 제공합니다, 시스템 고장의 경우 메시지가 손실되지 않도록, 신뢰성 향상
- 거래 지원: JMS는 거래 지원을 제공합니다, 메시지 작업 그룹의 원자력 보장, 모든 운영이 완전히 성공하거나 완전히 실패한다는 것을 의미합니다, 따라서 데이터 일관성을 보장합니다.
애플리케이션:
JMS는 비동기 메시징이 필요한 분산 응용 프로그램에 이상적입니다, 시스템 디커플링, 높은 신뢰성, 엔터프라이즈 애플리케이션 통합과 같은, 이벤트 중심의 아키텍처, 실시간 데이터 처리.
IoT 통신 프로토콜의 비교
특징 | DDS | MQTT | AMQP | XMPP | JMS | 휴식/http | Coap |
---|---|---|---|---|---|---|---|
추출 | 펍/서브 | 펍/서브 | 펍/서브 | 저것 | 펍/서브 | 요청/답장 | 요청/답장 |
건축학 | 글로벌 데이터 공간 | 대리 | P2P 또는 프록시 | 저것 | 대리 | TCP 보증을 통해 | P2P |
QOS | 22 종류 | 3 종류 | 3 종류 | 저것 | 3 종류 | TCP 또는 확인 된 메시지를 통해 확인하십시오 | 예 |
상호 운용성 | 예 | 부분적으로 | 예 | 저것 | 아니요 | 예 | 예 |
성능 | 100,000 msg/s/sub | 1,000 msg/s/sub | 1,000 msg/s/sub | 저것 | 1,000 msg/s/sub | 100 req/s | 100 req/s |
실시간 | 예 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 예 |
전송 계층 | UDP 및 TCP를 지원합니다 | TCP | TCP | 지정되지 않았습니다, 일반적으로 TCP | TCP | UDP | UDP |
구독 필터링 | 메시지 내용 기반 및 주제 기반 필터링 | 주제 및 메시지 컨텐츠를 기반으로 한 계층 구독 | 대기열 및 메시지 필터링 | 저것 | 메시지 내용 및 주제 필터링 | 지원되지 않음 | 주제와 멀티 캐스트를 지원합니다 |
부호화 | 이진 | 이진 | 이진 | XML 형식 | 이진 | 일반 텍스트 | 일반 텍스트 |
역동적 인 발견 | 예 | 아니요 | 아니요 | 저것 | 아니요 | 아니요 | 아니요 |
보안 | FSS를 제공합니다, TLS, 및 기타 보안 옵션 | 간단한 사용자 이름/비밀번호, SSL 데이터 암호화 | SASL 및 TLS 데이터 암호화 | 저것 | FSS를 제공합니다, TLS, JAAS API 지원 | SSL 및 TLS에 대한 일반적인 지원 | SSL 및 TLS에 대한 일반적인 지원 |
결론
MQTT, DDS, AMQP, XMPP, JMS, 나머지, COAP는 널리 사용되는 프로토콜입니다, 각각 여러 구현이 있습니다, 이는 실시간 게시/IoT 커뮤니케이션에 대한 지원을 주장합니다. 하지만, 특정 IoT 시스템 아키텍처를 설계 할 때, 대역폭 제한과 같은 시나리오의 실제 커뮤니케이션 요구를 고려해야합니다., 대기 시간 요구 사항, 그리고 보안 - 가장 적합한 프로토콜을 선택하기 전에.