Dietler, Dominik (2021) P2P Library in Golang (SA). Other thesis, OST Ostschweizer Fachhochschule.
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 |