>일반적인 문제 >mqtt 프로토콜과 tcp 프로토콜의 차이점은 무엇입니까

mqtt 프로토콜과 tcp 프로토콜의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2021-05-08 11:27:5321993검색

차이점: 1. MQTT는 1999년 인터넷 초기에 탄생했고, TCP 프로토콜은 냉전 시대인 1974년에 탄생했습니다. 2. TCP는 OSI의 네 번째 계층인 전송 계층 통신 프로토콜이고, MQTT는 TCP 기반의 애플리케이션 계층 프로토콜입니다. 3. TCP의 핵심 아이디어는 패킷 교환이고, MQTT의 핵심 아이디어는 단순성과 사물 인터넷 환경에 대한 적응성입니다.

mqtt 프로토콜과 tcp 프로토콜의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

MQTT와 TCP의 차이점

생년월일

TCP 프로토콜은 냉전 시대인 1974년에 탄생했습니다.

MQTT는 1999년 인터넷 초기에 탄생했으며, TCP 프로토콜은 MQTT 프로토콜보다 25년 먼저 탄생했습니다.

Ashton은 1999년에 IoT 개념을 제안했기 때문에 MQTT 프로토콜이 적절한 시기에 탄생했습니다. 당시 P&G 공급망의 RFID 태그를 인터넷에 연결하기 위해 1999년 MIT Auto-ID Labs의 Kevin Ashton이 처음으로 IoT 개념을 제안했습니다.

프로토콜 위치

TCP는 OSI 네 번째 계층의 전송 계층 프로토콜입니다.

MQTT는 TCP 기반의 7계층 애플리케이션 계층 프로토콜입니다.

mqtt 프로토콜과 tcp 프로토콜의 차이점은 무엇입니까

프로토콜 포지셔닝

TCP 설계는 연결 지향적이고 안정적인 바이트 스트림 기반 전송 계층 통신 프로토콜을 고려합니다.

MQTT는 낮은 대역폭, 높은 대기 시간 및 신뢰할 수 없는 네트워크에서 상대적으로 안정적인 데이터 전송을 위한 애플리케이션 계층 프로토콜입니다.

Design Idea

TCP의 핵심 아이디어는 패킷 교환입니다.

MQTT의 핵심 아이디어는 단순성과 IoT 환경에 대한 적응성입니다.

전송 단위

TCP의 전송 단위는 패킷입니다. 애플리케이션 계층에서 네트워크 간 전송을 위해 8비트 바이트로 표현되는 데이터 스트림을 TCP 계층으로 보내면 TCP는 해당 데이터 스트림을 적절한 길이의 패킷으로 나눕니다. 최대 전송 세그먼트 크기(MSS)는 일반적으로 컴퓨터가 연결된 네트워크의 데이터 링크 계층의 최대 전송 단위(MTU)에 의해 제한됩니다.

MQTT의 전송 단위는 메시지입니다. 각 메시지의 최대 바이트 수는 MQTT 브로커 프록시 서버에서 설정됩니다. 1M를 초과하는 메시지 크기의 상한을 설정할 수 있습니다. 이런 방식으로 수천 개의 수집된 데이터 또는 상대적으로 큰 장치 섀도우 파일을 하나의 메시지로 보낼 수 있습니다.

Technical Challenges

TCP가 해결해야 할 문제는 IP 패킷 전송 시 이기종 네트워크 환경에서 발생하는 네트워크 혼잡, 패킷 손실, 순서 이상, 중복 패킷 등의 문제를 처리하는 것입니다.

MQTT가 해결하는 문제는 낮은 대역폭, 높은 대기 시간, 신뢰할 수 없는 네트워크 및 제한된 리소스 하드웨어 환경에서 상대적으로 안정적인 데이터 전송입니다.

서비스 품질

TCP는 ACK 확인 및 재전송 메커니즘을 통해 전송된 모든 바이트가 수신 시 정확히 동일하고 바이트 순서도 올바른지 확인할 수 있는 안정적인 스트리밍 서비스입니다.

MQTT는 메시지 게시를 위한 세 가지 선택적 QoS 서비스 수준을 제공합니다. MQTT 클라이언트와 MQTT 프록시 서버는 세션 메커니즘을 통해 메시지 전송의 신뢰성을 보장합니다. 개발자는 비즈니스 요구에 따라 그 중 하나를 선택할 수 있습니다.

응용 사례

TCP는 WWW, 이메일, FTP, SSH, P2P, 스트리밍 미디어 등 다양한 인터넷 응용 프로그램에서 사용됩니다. MQTT도 TCP를 기반으로 합니다.

MQTT는 IoT 데이터 전송, IM 채팅 소프트웨어 등에 사용될 수 있습니다.

더 많은 관련 지식을 알고 싶다면 FAQ 칼럼을 방문해주세요!

위 내용은 mqtt 프로토콜과 tcp 프로토콜의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.