Vis enkel innførsel

dc.contributor.advisorJohnsen, Frank T.
dc.contributor.advisorEngel, Michael
dc.contributor.authorAndersen, Emil Paulin
dc.date.accessioned2022-07-16T17:21:29Z
dc.date.available2022-07-16T17:21:29Z
dc.date.issued2022
dc.identifierno.ntnu:inspera:112296943:30837908
dc.identifier.urihttps://hdl.handle.net/11250/3006200
dc.description.abstractI dag eksisterer det mange enheter og sensorer som produserer store mengder data som må behandles for å hente ut nyttig informasjon. Antallet enheter vokser etterhvert som ny teknologi raskt utvikles, som igjen produserer mer data som må behandles på en eller annen måte. Mange av disse enhetene er enkle i sitt design og har derfor ikke beregningskraften som trengs til å utføre dette arbeidet selv. Dette er spesielt tilfellet i felt som maskinlæring, hvor det er behov for store datasett som må behandles for å identifisere mønstre og ta avgjørelser. Siden enhetene ikke har evnen til å utføre dette arbeidet selv, er det et behov for en måte å transportere disse dataene til en annen enhet eller system som er i stand til å håndtere oppgaven. Det finnes i dag mange løsninger som er spesielt utviklet for dette formålet, og denne oppgaven vil undersøke flere protokoller med dette ansvaret. Protokollene bruker alle publiser/abonner mønsteret, som er et arkitektonisk mønster som brukes for å utveksle meldinger mellom systemer. De to første protokollene vi har undersøkt er MQTT og MQTT for Sensor Nettverk (MQTT-SN), som dekkes av OASIS spesifikasjoner. MQTT-SN er en forenklet UDP-basert alternativ til MQTT. Den tredje og siste protokollen vi har undersøkt er ZeroMQ. For at systemer skal kunne utveksle meldinger, må vi ha på plass et nettverk som de kan kommunisere over. Disse nettverkene er ikke alltid pålitelige og det er ikke alltid de opererer i miljøer som tillater effektiv kommunikasjon. Dette er spesielt tilfellet i forsvarssektoren, hvor det blir tatt i bruk radionett med begrenset båndbredde som er utsatt for feil under overføring. Det er også mange scenarier i den sivile sektoren som har krav til effektiv kommunikasjon over begrensede nettverk. Gjennom eksperimentering har vi i denne oppgaven evaluert ytelsen til MQTT-, MQTT-SN- og ZeroMQ- protokollene i nettverk med ulik grad av begrensninger. For å gjennomføre disse eksperimentene har vi utviklet et analyseverktøy som er spesielt laget for denne oppgaven. Verktøyet var i stand til å kjøre tester for å evaluere protokollene, i tillegg til å emulere nettverkene vi ønsket å teste protokollene i. Hver test ga data om protokollens ytelse, som vi senere analyserte, slik at vi kunne direkte sammenligne protokollene mot hverandre. Basert på analysen av hver protokoll har vi konkludert med at de er egnet for bruk i mindre begrensede nettverk, men har problemer med effektiv kommunikasjon i de mer utfordrende. MQTT-SN skiller seg ut blandt protokollene som vi har evaluert ved at den gir den mest effektive og pålitelige meldingstransporten i de fleste nettverk.
dc.description.abstractToday, many devices and sensors produce large quantities of data that need to be processed to retrieve valuable information. The number of devices grows as new technology rapidly emerges, which in turn produces even more data that must be handled in one way or another. Many of these devices are simple in design and do not possess the computational power to perform this work themselves. This is especially the case in fields like machine learning, where there is a need for large data sets to be processed in order to identify patterns and provide predictions. Since these devices cannot do this work themselves, there is a significant need for some way to transport this data to another device or system that is capable of handling this task. There are many solutions out there today that are specifically designed to perform this task, and this thesis will investigate several protocols that have this responsibility. The protocols all use the publish/subscribe pattern, an architectural pattern used to exchange messages between systems. The first two protocols we have investigated in this study include MQTT and MQTT for Sensor Networks (MQTT-SN), which are covered by OASIS specifications. MQTT-SN is a simplified UDP-based alternative to MQTT. The third and final protocol we have looked at is ZeroMQ. To allow systems to exchange messages, there is a need for a network that they can communicate over. These networks are not always reliable and do not always operate in suitable environments that allow for efficient communication. This is especially the case in the defense sector, where they use radio networks with limited bandwidth that is prone to errors in transmission. There are also many scenarios in the civilian sector that requires efficient communications over constrained networks. Through experimentation, this thesis has evaluated how the MQTT, MQTT-SN, and ZeroMQ protocols have performed in different network environments with different sets of limitations. To conduct these experiments, we have created an analysis tool that is specifically made for this task. The tool was able to run tests with the protocols we wanted to evaluate, and it was also able to emulate the networks we wanted to test the protocols in. Each test provided data on the protocol's performance, which we later analyzed, enabling us to compare the protocols against each other directly. Based on the analysis of each protocol, we have concluded that they are suitable for use in less constrained networks but struggle with efficient communication in the more challenging ones. MQTT-SN stands out among the protocols we have evaluated in that it provides the most efficient and reliable message transportation in most networks.
dc.languageeng
dc.publisherNTNU
dc.titleEvaluating Publish/Subscribe Protocols for use in Constrained Networks
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel