P2P Library in Golang (SA)

Dietler, Dominik (2021) P2P Library in Golang (SA). Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of FS 2021-BA-EP-LOHANATHAN-König-P2P Library in Golang.pdf] Text
FS 2021-BA-EP-LOHANATHAN-König-P2P Library in Golang.pdf - Supplemental Material

Download (1MB)

Abstract

TomP2P ist eine Peer to Peer (P2P) Library, die eine Distributed Hash Table (DHT) für verteilte Anwen-dungen bereitstellt. Die Realisierung der Library in der Programmiersprache Java und die Verwendung des Internetprotokolls TCP verlangsamen die Applikation. Im Gegensatz dazu, bietet das neue QUIC-Protokoll mit seinem intelligenten Congestion Control Algorithmus eine performantere und auf die heu-tigen Anforderungen zugeschnittene Alternative. Sie ist allerdings wegen ihres breiten Anwendungs-spektrums sehr komplex. Entwickelt werden soll deshalb ein auf UDP aufbauendes Protokoll, das die Zuverlässigkeit von TCP sicherstellt und zur Congestion Control den «Bottleneck Bandwidth and Round-trip propagation time» (BBR) Algorithmus von QUIC verwendet. Für die sichere Übertragung der Daten von P2P soll das Noise-Framework zum Einsatz kommen.

Zu Beginn wurde basierend auf dem UDP-Protokoll ein Automatic Repeat reQuest (ARQ) Protokoll in der Entwicklungsumgebung Goland realisiert. Parallel dazu wurde eine Testumgebung aufgebaut, welche die Implementation integral auf die Standard- und Spezialfälle hin testet. Die Continuous Integration (CI) erfolgte auf einer virtuellen Maschine der OST mit Gitlab CI. Im späteren Verlauf wurde die für die BBR unverzichtbare Delivery Rate Estimation entwickelt. Die Korrekheit wurde anschliessend auf dem Internet mithilfe von GCloud getestet und interaktiv verbessert. Gegen Ende wurde die Security mit dem Noise-Framework realisiert.

Die entwickelte Lösung erlaubt eine sichere, performante und zuverlässige Kommunikation zwischen mehreren Peers.

Item Type: Thesis (Other)
Subjects: Topics > Internet Technologies and Applications > P2P (Peer to Peer)
Topics > Security
Technologies > Communication
Technologies > Protocols
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Bocek, Thomas
UNSPECIFIED
Date Deposited: 13 Dec 2021 10:24
Last Modified: 13 Dec 2021 10:24
URI: https://eprints.ost.ch/id/eprint/980

Actions (login required)

View Item
View Item