Bachelor's Thesis

Dynamic Mesh Networking with the WireGuard Protocol

Final Thesis 1.77 MB Appendix 4.94 MB

Author of thesis: Patrik Mokruša

Acad. year: 2025/2026

Supervisor: RNDr. Marek Rychlý, Ph.D.

Reviewer: Ing. Daniel Dolejška

Abstract:

This bachelor's thesis deals with the development of a decentralized system for creating and synchronizing dynamic networks using the WireGuard protocol. The system allows the user to create a network or connect to an already created network. Various technologies and methods are used to synchronize the state and connection to the network. These technologies and methods are organized into individual modules that can work separately or all at the same time.

Keywords:

WireGuard, Virtual private network, Peer-to-peer, Distributed hash table, Gossip protocol, Message queue, Full mesh network

Date of defence

17.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaDznamka

Grading

D

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D.

Topics for thesis defence

  1. Jakým způsobem jste při řešení využil generativní umělou inteligenci? Proč není žádná informace o využití AI/LLM ve vašem čestném prohlášení v úvodu práce?
  2. Jaké aspekty zabezpečení jsou pro reálné nasazení a použití navrženého systému zcela nezbytné a proč?
  3. Jak probíhá oznamování o změnách, dostupných uzlech a propagace klíčů v existujících řešeních (jako je např. NetMaker, Tailscale či ZeroTier)? Jak se vámi implementované řešení liší a proč?
  4. Jaké možnosti řízení přístupu by bylo do vašeho řešení možné dodatečně přidat nejsnáze a proč? Porovnejte několik možností.

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Ing. Martin Čadík, Ph.D. (předseda)
doc. Ing. Ondřej Ryšavý, Ph.D. (místopředseda)
Ing. Marcela Zachariášová, Ph.D. (člen)
Ing. Tomáš Goldmann, Ph.D. (člen)
Ing. Vojtěch Havlena, Ph.D. (člen)

Supervisor’s report
RNDr. Marek Rychlý, Ph.D.

K řešení student přistupoval svědomitě a aktivně. Navrhuji hodnotit práci stupněm velmi dobře (B).

Evaluation criteria Verbal classification
Informace k zadání

Cílem bakalářské práce bylo vytvořit nástroj pro dynamickou konfiguraci zařízení v mesh síti protokolu WireGuard. Náročnou fází práce byl zejména průzkum a aplikace různý způsobů sdílení informací v mesh sítích. Zadání považuji za splněné.

Práce s literaturou

Student samostatně získal a zpracoval zdroje pro přehled současných technologií pro mesh sítě. Aktivně hledal nové zdroje.

Aktivita během řešení, konzultace, komunikace

Během řešení student pravidelně konzultoval, na konzultacích byl připraven a dohodnuté postupy i termíny dodržel.

Aktivita při dokončování

Technická zpráva i výsledné programové řešení byly dokončeny včas, dostatečně konzultovány a připomínky byly zapracovány.

Publikační činnost, ocenění

Bez publikací či ocenění. Výsledek zveřejněn jako open source.

Points proposed by supervisor: 82

Grade proposed by supervisor: B

Reviewer’s report
Ing. Daniel Dolejška

Práce sumárně splňuje zadání i formální požadavky kladené na tento typ práce. Na vzdory nižší kvalitě technické zprávy jsou výsledky funkční a v limitovaném rozsahu i použitelné. Navrhuji hodnocení stupněm D.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Úspěšné řešení tohoto zadání se dotýká několika různých síťových protokolů, vyžaduje funkční modulární návrh, interaktivitu se systémy třetích stran, porozumění problematice distribuovaných systémů i prostředkům zabezpečení na různých úrovních.

Nicméně autentizace, autorizace ani šifrování nebyly v této práci implementovány, proto hodnotím jako průměrně obtížné.

Prezentační úroveň technické zprávy

Teoretický úvod a rešerše existujících řešení jsou relativně mělké a soustředí se primárně na protokol WireGuard jako takový. Existující řešení jsou zmíněná pouze okrajově.

Autorem uvedený návrh řešení je v textu práce jen velmi strohý a klíčové informace k internímu chování navrhovaného řešení v něm chybí, jako například způsob komunikace mezi jednotlivými uzly (jako třeba stavový diagram navrženého synchronizačního protokolu či formát jeho zpráv/jejich obsah). Dále obsahuje diagramy popisující chování programu, z nichž některé jsou zavádějící, typově nevhodně zvolené či se autorovi zkrátka nepodařilo zachytit jeho myšlenku správně. Také obsahuje některé konkrétní knihovny použité k řešení a obsah mnohem vhodnější do sekce implementace.

Obsah implementace obsahuje mnoho relativně rozsáhlých ukázek částí kódu, které jsou nicméně bez širšího kontextu relativně nicneříkající a působí tak jako umělé zvětšení obsahu této kapitoly práce. Celá sekce implementace se čte více jako programová dokumentace než jako technická zpráva ke konkrétním implementačním rozhodnutím na základě původního návrhu.

V kontextu testování autor postupoval relativně vhodně. Navrhl vhodnou a reprodukovatelnou síťovou topologii s automatizovanými testy. Nicméně i zde je prostor pro možná rozšíření testovací sady.

57
Formální úprava technické zprávy

Části textu technické zprávy jsou často psány v ich-formě a autor se nevyhýbá sdílení subjektivních pocitů a názorů. Práce obsahuje vyšší množství překlepů, typografických i gramatických chyb a nekonzistentně užitých zkratek.

54
Realizační výstup

Výsledné řešení je v rámci mezí funkční a splňuje požadavky zadání. Součástí odevzdání je smysluplná generovaná programová dokumentace. Nicméně grafičtější přístup k prezentaci těchto informací by byl vhodný (např. diagram tříd apod.)

Odevzdání obsahuje konfiguraci prostředí pro replikaci navržené testovací topologie sítě i s automatizovanými testy pro konfiguraci uzlů a ověření vzájemné komunikace.

Součástí realizační výstupu nicméně není žádná forma zabezpečení či řízení přístupu.

74
Využitelnost výsledků

Výsledky práce lze v omezeném rozsahu využít. Hlavním problémem bránícím využití tohoto řešení v podmínkách reálného nasazení jsou nedostatky v oblastech zabezpečení a řízení přístupu.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno s drobnými výhradami

Požadavky zadání jsou splněny, nicméně mám výhrady ke splnění bodu 2 zadání: text práce neuvádí téměř žádný či nedostatečně detailní rozbor problematiky/návrh související s řízením přístupu, oznamováním změn, propagací klíčů či adres uzlů. Toto platí jak v části rešerše existujících řešení, tak i v části návrhu, která je značně strohá. Implementační řešení většinou těchto funkcionalit disponuje, v textu práce ale jejich principy či návrh řešení k nalezení není.

Rozsah technické zprávy

Evaluation level: splňuje pouze minimální požadavky

Obsah práce se skládá z 38 ns čistého textu a 10 ns obrázků. S celkem 48ns tedy splňuje minimální požadavky na rozsah. K ověření daných metrik bylo využito https://app.fit.vut.cz/theses-checker.

Práce s literaturou

Autor cituje 26 zdrojů, z nichž pouze jeden je písemnou publikací z mezinárodní konference. I přes to, že vyšší zastoupení čistě online zdrojů je očekávané a pochopitelné, doufal bych ve vyšší zastoupení knižní či jiné vědecké literatury se zaměřením na distribuované systémy či relevantní části síťových protokolů a zabezpečení. Data přístupu k online zdrojům dále indikují, že byly téměř všechny citace přidány až po napsání samotného textu, a to v rozmezí pouze 4 dní.

62
Topics for thesis defence:
  1. Jakým způsobem jste při řešení využil generativní umělou inteligenci? Proč není žádná informace o využití AI/LLM ve vašem čestném prohlášení v úvodu práce?
  2. Jaké aspekty zabezpečení jsou pro reálné nasazení a použití navrženého systému zcela nezbytné a proč?
  3. Jaké možnosti řízení přístupu by bylo do vašeho řešení možné dodatečně přidat nejsnáze a proč? Porovnejte několik možností.
  4. Jak probíhá oznamování o změnách, dostupných uzlech a propagace klíčů v existujících řešeních (jako je např. NetMaker, Tailscale či ZeroTier)? Jak se vámi implementované řešení liší a proč?
Points proposed by reviewer: 64

Grade proposed by reviewer: D

Responsibility: Mgr. et Mgr. Hana Odstrčilová