
💡 MQTT 브로커 Mosquitto 설명 및 쉬운 예시
1. MQTT란 무엇일까요?
MQTT (Message Queuing Telemetry Transport)는 인터넷에 연결된 기기들이 '메시지'를 주고받을 때 쓰는 아주 가볍고 빠른 통신 규칙입니다. 마치 '우체국'처럼 메시지를 안전하고 효율적으로 전달해 주는 역할을 해요.
- 가벼운 이유: 인터넷 속도가 느리거나 배터리를 적게 쓰는 작은 기기(센서, 스마트 워치 등)에서도 잘 작동하도록 만들어졌기 때문입니다.
2. Mosquitto는 무엇일까요?
Mosquitto는 이 MQTT 통신 규칙을 실제로 사용할 수 있게 해주는 'MQTT 브로커 (Broker)' 프로그램 중 하나입니다.
MQTT 브로커의 역할: 메시지를 보내는 사람(발행자, Publisher)과 메시지를 받는 사람(구독자, Subscriber) 사이에서 메시지를 받아 정확한 받는 사람에게 전달해 주는 중앙 서버 역할을 합니다.
3. 쉬운 예시: '스마트 알림판 우체국'
Mosquitto를 우리 반에서 사용하는 '스마트 알림판 우체국'이라고 생각해 보세요.
| 역할 | MQTT 전문 용어 | 예시 설명 |
| 우체국 (중앙 서버) | Mosquitto (브로커) | 메시지를 받아서 정확하게 전달해주는 중앙 관리 컴퓨터입니다. |
| 메시지 보내는 기기 (센서) | 발행자 (Publisher) | 교실의 '온도 센서'가 현재 온도를 측정해서 Mosquitto(우체국)에 메시지를 보냅니다. |
| 메시지 받는 기기 (앱) | 구독자 (Subscriber) | 선생님의 '스마트폰 앱'이 Mosquitto(우체국)에 "온도 메시지가 오면 저에게 주세요!"라고 신청해 둡니다. |
| 메시지 내용 (온도 값) | 메시지 (Message) | "지금 교실 온도는 25도야" |
| 메시지 받는 곳 이름 | 토픽 (Topic) | "교실/온도" (메시지를 보낼 주소, 받는 사람이 신청할 이름) |
- 센서 값을 전달하는 과정:
- 교실 온도 센서(발행자)가 온도를 25도로 측정합니다.
- 센서는 Mosquitto(브로커)에게 "토픽: 교실/온도, 메시지: 25도"를 전달합니다.
- Mosquitto는 이 메시지를 받고, 미리 "토픽: 교실/온도"를 받고 싶다고 신청한 선생님의 스마트폰 앱(구독자)에 25도 메시지를 전달해 줍니다.
- 선생님은 앱에서 즉시 교실 온도를 확인할 수 있습니다.
이렇게 Mosquitto는 수많은 센서와 앱들이 효율적으로 정보를 주고받을 수 있도록 도와주는 아주 중요한 중앙 통신소 역할을 합니다.
4. 설치환경 & 프로그램 설명
1) 설치 환경
- Windows 10 x64
- 프로세서 Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz 2.90 GHz
- 설치된 RAM 32.0GB
🦟 Mosquitto란 무엇인가요? (모스키토)
Mosquitto는 MQTT(Message Queuing Telemetry Transport) 프로토콜을 구현한 오픈 소스 메시지 브로커(Message Broker) 소프트웨어입니다.
간단히 말해, Mosquitto는 발행자(Publisher)와 구독자(Subscriber) 사이에서 메시지를 중개하고 전달하는 중앙 서버 역할을 합니다.
- Mosquitto는 MQTT(Message Queuing Telemetry Transport) 프로토콜을 구현한 오픈 소스 메시지 브로커(Message Broker) 소프트웨어입니다.
- 간단히 말해, Mosquitto는 발행자(Publisher)와 구독자(Subscriber) 사이에서 메시지를 중개하고 전달하는 중앙 서버 역할을 합니다.
- 다운로드 * https://mosquitto.org/download/
🔐 OpenSSL이란 무엇인가요?
OpenSSL은 TLS/SSL(Transport Layer Security / Secure Sockets Layer) 프로토콜을 구현한 강력한 오픈 소스 소프트웨어 라이브러리입니다.
이 라이브러리는 웹 통신을 포함한 다양한 데이터 전송에서 암호화, 인증, 무결성을 보장하는 데 사용됩니다.
다운로드 * https://slproweb.com/products/Win32OpenSSL.html
5. 다운로드
- Mosquitto ( https://mosquitto.org/download/)
다운로드 : mosquitto-2.0.22-install-windows-x64.exe




-OpenSSL 설치 ( https://slproweb.com/products/Win32OpenSSL.html )

다운로드 : 버전에 맞는 최근자료를 받는다. Win64OpenSSL_Light-3_6_0.exe

mostquitto 설치위치를 선택한다. 중요



- 파일 복사: C:\Program Files\mosquitto\OpenSSL-Win64\bin
- libcrypto-3-x64.dll
- libssl-3-x64.dll
- ossltest.dll
- padlock.dll

- 붙여넣기: C:\Program Files\mosquitto

3. 포트 확인
💻 netstat -an 명령은 무엇인가요?
netstat -an 명령어는 현재 컴퓨터의 네트워크 연결 상태(Network Status)와 라우팅 테이블을 보여주는 데 사용됩니다.
이 명령어는 특히 시스템 관리자가 네트워크 문제 진단, 서비스 포트 확인, 비정상적인 연결 탐지 등을 할 때 매우 유용합니다.
명령어 구성 요소 분석
| 명령어 부분 | 의미 | 역할 |
| netstat | Network Statistics의 약자 | 현재 시스템의 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 출력하는 주 명령입니다. |
| -a | All의 약자 | 모든 연결(Established, Time Wait 등)뿐만 아니라 현재 리스닝(Listening) 상태에 있는 모든 포트를 표시합니다. |
| -n | Numeric의 약자 | 주소와 포트 번호를 숫자 형식으로 표시합니다. (도메인 이름이나 서비스 이름으로 변환하지 않음) |
📡 1883 포트 정보
1883 포트는 주로 MQTT(Message Queuing Telemetry Transport) 프로토콜에서 사용하는
기본 포트(Default Port)입니다.
이 포트는 암호화되지 않은(unencrypted) MQTT 통신을 위해 할당되어 있습니다.

4. 프로그램 설치가 끝났습니다. 테스트를 진행하겠습니다.
🔍 mosquitto -v 명령의 의미와 출력 (버전확인)
mosquitto -v 명령어는 Mosquitto MQTT 브로커를 Verbose(상세) 모드로 실행하라는 요청입니다.
이 명령을 실행하면 Mosquitto 브로커가 시작되며, 터미널에 상세한 상태 메시지를 출력하기 시작합니다.
명령어의 역할
- mosquitto: Mosquitto 브로커 실행 파일을 호출합니다.
- -v (Verbose): 브로커가 동작하는 동안 모든 상태, 이벤트, 연결, 메시지 처리 과정에 대한 상세한 로그를 콘솔에 출력하도록 지시하는 옵션입니다.
C:\Program Files\mosquitto>mosquitto -v

mosquitto -v 실행후 에러가 나거나 1883포트가 사용중일때 조치하기
에러가 나거나 1883 포트가 사용중이다면 찾아보기
1) netstat -ano | findstr :1883
관리자모드에서 입력
2) taskkill /pid 2848 /f
-/pid 2848: 프로세스 ID가 2848인 프로세스를 지정합니다.
-/f: 강제로 (Force) 종료합니다.
3) 프로세스 종료에 성공했다는 메시지가 나오면, 다시 mosquitto -v 명령을 실행하여
Mosquitto 브로커가 정상적으로 시작되는지 확인해 보세요.
서버 시작 과 종료
시작
C:\Program Files\mosquitto>net start mosquitto
종료
C:\Program Files\mosquitto>net stop mosquitto

서버도 잘 작동되는 것을 확인했다
1. 새로운 명령 포롬프트 창을 연다.
| 서버실행 C:\Program Files\mosquitto>net stop mosquitto 구독실행 C:\Program Files\mosquitto>mosquitto_sub -h localhost -t /testTopic |

2. 새로운 명령 포롬프트 창을 연다.
C:\Program Files\mosquitto>mosquitto_pub -h localhost -t /testTopic -m "Hello World"
C:\Program Files\mosquitto>mosquitto_pub -h localhost -t /testTopic -m "Hello World123"

위 쪽이 pub 메시지 전송(발행)
아래쪽이 sub 메시지 수신확인(구독)
자료가 원활하게 전달되고 있는 것을 확인할 수 있습니다. 기타 옵션은 인터넷에서 찾아보도록 합시다.
참조
- https://jolog.tistory.com/12
- https://jolog.tistory.com/12https://dalkomit.tistory.com/119
- https://dalkomit.tistory.com/119
'IT writer' 카테고리의 다른 글
| 스마트 팩토리, DX, AX (0) | 2026.01.09 |
|---|---|
| 클라우드형 서비스 모델 (0) | 2025.12.11 |
| 좋은 개발자가 되기 위한 5가지 필수 습관 (0) | 2025.11.25 |
| 개발분야 PM 과 PL 역활 (0) | 2025.11.25 |
| 데이터베이스 정규화 (기초) (2) | 2025.05.28 |