In this study a comparison of the publish-subscribe communication protocols OPS, MQTT and DDS were conducted. The implementation used for DDS was fastDDS and the client library Paho Eclipse MQTT C++ was used for MQTT with the broker implementation Eclipse Mosquitto. The goal was to see which out of these protocols performs best in a peer-to-peer communication scenario when it comes to latency and throughput with varying payload size. Two experiments were carried out. The first experiment measures the round-trip-time of a message and is realized by a ping-pong application. The latency was then calculated by taking half of the round-trip-time. The second experiment was publishing messages from one client and being retrieved by another and counting the amount of messages being retrieved in one second. To get bytes per second the payload size was multiplied by the amount of messages retrieved by the subscriber. The result of the first experiment showed that OPS with the underlying transport protocol TCP had the most favorable result. For the second experiment OPS with UDP as the transport protocol had the highest throughput in most cases however for the highest payload used in the experiment fastDDS with UDP had the highest throughput. However, the results gave substantial differences between the protocols in regards to throughput which indicate that the configuration might not be optimal for a fair comparison. Further research of this is recommended before making a final conclusion in regards to the overall results. / I denna studie genomfördes en jämförelse av kommunikationsprotokollen OPS, MQTT och DDS. Implementeringen som användes för DDS var fastDDS och klientbiblioteket Paho Eclipse MQTT C++ användes för MQTT med Eclipse Mosquitto som broker. Målet var att se vilket av dessa protokoll som fungerar bäst i ett peer-to-peer-kommunikationsscenario när det gäller fördröjningstid och throughput med varierande payloadstorlek. Två experiment utfördes. Det första experimentet mäter round-trip-time för ett meddelande och realiseras av en ping-pong-applikation. Fördröjningstiden beräknades sedan genom att ta hälften av round-trip-time. Det andra experimentet var att publicera meddelanden från en klient och mottas av en annan och räkna mängden meddelanden som mottas på en sekund. För att få byte per sekund multiplicerades payload storleken med mängden meddelanden som togs emot av prenumeranten. Resultatet av det första experimentet visade att OPS med det underliggande transportprotokollet TCP hade det mest gynnsamma resultatet. För det andra experimentet hade OPS med UDP som transportprotokoll den högsta throughput i de flesta fall, men för den största payloadstorleken som användes i experimentet hade fastDDS med UDP den högsta. Resultaten gav dock betydande skillnader mellan protokollen när det gäller throughput som indikerar att konfigurationen kanske inte är optimal för en rättvis jämförelse. Ytterligare forskning om detta rekommenderas för att utreda orsaken till dessa skillnader och därefter kunna skapa konfigurationer som ger rättvisa förutsättningar för en optimal jämförelse.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-194874 |
Date | January 2023 |
Creators | Nilsson, Kasper, Bergman, Alicia |
Publisher | Linköpings universitet, Institutionen för datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0035 seconds