Mosquitto
Eclipse Mosquitto is een open-source MQTT broker die wordt gebruikt voor publish/subscribe-communicatie tussen systemen, applicaties, sensoren en industriële apparatuur. Het platform is ontworpen voor lichtgewicht, schaalbare en efficiënte datacommunicatie, vooral binnen Industrial Internet of Things, Edge Computing en Industriële Automatisering.
Mosquitto speelt een belangrijke rol binnen moderne IT OT Convergentie-architecturen doordat het OT-data betrouwbaar kan distribueren tussen veldapparatuur, edge-platformen, cloudomgevingen en analytics-systemen.
Veelgebruikte toepassingen:
- IIoT-platformen
- Sensorcommunicatie
- Machine monitoring
- SCADA-integratie
- Edge gateways
- Unified Namespace-architecturen
- Realtime event streaming
Mosquitto wordt vaak gecombineerd met:
⚙️ Werking van Mosquitto
Mosquitto functioneert als centrale message broker binnen een MQTT-Architectuur.
De basiswerking:
- Een publisher verstuurt data naar een topic
- Mosquitto ontvangt het bericht
- Subscribers ontvangen berichten waarop zij geabonneerd zijn
Hierdoor ontstaat een ontkoppelde communicatiearchitectuur.
Voorbeeld:
Factory/Line1/Temperature
Een temperatuursensor publiceert data naar dit topic, waarna meerdere systemen de data kunnen consumeren:
Mosquitto verzorgt:
- Berichtroutering
- Sessiebeheer
- Authenticatie
- QoS-afhandeling
- Persistentie
🏭 Toepassingen binnen industriële automatisering
Binnen Industriële Automatisering wordt Mosquitto gebruikt voor efficiënte distributie van OT-data.
Machine monitoring
- Temperatuurmetingen
- Vibraties
- Statusinformatie
- Energieverbruik
Edge computing
- Lokale data buffering
- Protocolconversie
- Event streaming
Unified Namespace
Mosquitto wordt veel toegepast als centrale broker binnen een Unified Namespace.
Hierbij publiceren alle OT-Assets hun data naar een centrale namespace.
SCADA-integratie
- Alarmdistributie
- Proceswaarden
- Historische data
- Realtime events
Smart manufacturing
- Productietracking
- MES-integratie
- Asset intelligence
🧠 MQTT publish/subscribe model
Mosquitto gebruikt het publish/subscribe-model van MQTT.
Belangrijke componenten:
| Component | Functie |
|---|---|
| Publisher | Verstuurt data |
| Broker | Verwerkt berichten |
| Subscriber | Ontvangt data |
| Topic | Communicatiekanaal |
Voordelen:
- Lage netwerkbelasting
- Asynchrone communicatie
- Schaalbaarheid
- Losse koppeling
- Lage Latency
Dit maakt MQTT bijzonder geschikt voor industriële netwerken met beperkte Bandbreedte.
📡 MQTT Quality of Service
Mosquitto ondersteunt MQTT QoS-niveaus.
| QoS | Beschrijving |
|---|---|
| QoS 0 | At most once |
| QoS 1 | At least once |
| QoS 2 | Exactly once |
Binnen OT-systemen wordt QoS gekozen op basis van:
- Betrouwbaarheid
- Latency
- Netwerkcapaciteit
- Kritikaliteit
Voor kritieke alarmen wordt vaak QoS 1 of QoS 2 gebruikt.
🌐 Architectuur binnen OT-omgevingen
Mosquitto wordt meestal gepositioneerd tussen OT-assets en hogere IT-systemen.
Typische architectuur:
| Laag | Component |
|---|---|
| Veldlaag | Sensor, PLC |
| Edge laag | MQTT gateways |
| Brokerlaag | Mosquitto |
| Analytics | Grafana, InfluxDB |
| Enterprise | MES, ERP, cloud |
Veelgebruikte integraties:
- PLC → MQTT Gateway → Mosquitto
- OPC UA → MQTT bridge
- Edge Device → Mosquitto → Cloud
Mosquitto functioneert hierbij als centrale eventbus.
🔄 Retained messages en persistentie
Mosquitto ondersteunt retained messages.
Een retained message blijft beschikbaar voor nieuwe subscribers.
Toepassingen:
- Laatste machine-status
- Configuratiewaarden
- Alarmstatus
- Productieparameters
Daarnaast ondersteunt Mosquitto:
- Persistente sessies
- Offline buffering
- Message queues
Dit verhoogt betrouwbaarheid binnen instabiele netwerken.
⚡ Performance en Schaalbaarheid
Mosquitto is ontworpen als lichtgewicht broker met lage resourceconsumptie.
Belangrijke eigenschappen:
- Lage CPU-belasting
- Lage geheugenconsumptie
- Hoge message throughput
- Lage latency
Hierdoor is Mosquitto geschikt voor:
Prestatieproblemen ontstaan vaak door:
- Grote retained datasets
- Hoge QoS-niveaus
- Overmatige topicstructuren
- Veel gelijktijdige clients
🧩 Topicstructuren binnen OT
Goede topicstructuren zijn essentieel.
Veelgebruikte hiërarchieën:
Factory/Line/Machine/Sensor
Voorbeeld:
Plant1/Line2/Robot5/Temperature
Best practices:
- Consistente naamgeving
- Logische hiërarchie
- Beperkte topicdiepte
- Scheiding tussen OT- en IT-data
Binnen Unified Namespace-architecturen vormt topicstructuur een belangrijk Governance-onderdeel.
🔐 Cybersecurity van Mosquitto
Omdat Mosquitto vaak kritieke OT-data verwerkt, is beveiliging essentieel.
Belangrijke risico’s:
| Risico | Gevolg |
|---|---|
| Ongeautoriseerde publish | Procesmanipulatie |
| Topic spoofing | Verkeerde data |
| Zwakke authenticatie | Ongeautoriseerde toegang |
| Onversleutelde verbindingen | Datadiefstal |
Belangrijke beveiligingsmaatregelen:
Mosquitto ondersteunt:
Binnen OT-omgevingen wordt Mosquitto meestal geplaatst binnen een gesegmenteerde IDMZ of edge-zone.
🚨 Beschikbaarheid en betrouwbaarheid
In industriële omgevingen moet berichtdistributie betrouwbaar blijven.
Belangrijke ontwerpkeuzes:
- Broker Redundantie
- High Availability
- Persistente opslag
- Edge buffering
- Monitoring
Uitval van een broker kan leiden tot:
- Verlies van Telemetrie
- Onvolledige dashboards
- Gemiste alarmen
- Stilstaande analytics
Daarom wordt monitoring van Mosquitto zelf vaak geïntegreerd in Monitoring-platformen.
📈 Monitoring van Mosquitto
Belangrijke metrics:
| Metric | Betekenis |
|---|---|
| Connected clients | Actieve verbindingen |
| Message throughput | Berichten per seconde |
| Queue depth | Wachtrijlengte |
| Dropped messages | Verliesdetectie |
| CPU usage | Brokerbelasting |
Integraties bestaan met:
Hierdoor ontstaat realtime observability van MQTT-infrastructuur.
☁️ Cloud, edge en hybride architecturen
Mosquitto ondersteunt meerdere deploymentmodellen.
Edge deployment
Veelgebruikt voor:
- Lage latency
- Lokale buffering
- Protocolconversie
- Offline werking
Centrale OT-broker
Toegepast voor:
- Fabrieksbrede datadistributie
- Unified Namespace
- SCADA-integratie
Cloud-integratie
Mosquitto kan data distribueren naar:
- Azure IoT
- AWS IoT
- Cloud analytics-platformen
Binnen kritieke infrastructuren wordt cloudintegratie vaak beperkt vanwege Security- en Compliance-eisen.
🔄 Mosquitto versus traditionele OT-communicatie
| Eigenschap | Mosquitto/MQTT | Klassieke veldbus |
|---|---|---|
| Architectuur | Publish/subscribe | Point-to-point |
| Schaalbaarheid | Hoog | Beperkt |
| Bandbreedtegebruik | Efficiënt | Variabel |
| Cloud-integratie | Sterk | Beperkt |
| Realtime determinisme | Beperkt | Sterk |
| OT-native | Gedeeltelijk | Ja |
Mosquitto vervangt doorgaans geen realtime Veldbussen, maar fungeert als aanvullende datadistributielaag.
🏗️ Mosquitto binnen IT/OT-convergentie
Binnen IT OT Convergentie speelt Mosquitto een centrale rol als event-driven communicatielaag tussen OT-Assets en IT-platformen.
Toepassingen:
- Realtime data streaming
- Asset intelligence
- Unified Namespace
- Predictive Maintenance
- Digital twins
- Cloud analytics
Mosquitto ondersteunt moderne OT-initiatieven zoals:
Daarmee vormt Mosquitto een belangrijk fundament voor schaalbare industriële data-architecturen.
