A University of Helsinki Distributed Systems Course Project
demo.mp4
Fall 2024, Group 11
This repository contains a distributed DHCP server with shared state and a CLI for testing the server. A DHCP Relay Agent, acting as a load balancer, has been designed but not implemented.
The software is currently prototype quality, it's not intended for production use.
- Written in Rust, blazingly fast 🔥
- Multithreaded 🚀
- Shared state (all nodes know all leases)
- Fault tolerance via redundancy
- Leader election with bully algorithm
- Leader decides which node gets to give offers from which part of the address pool
- Custom protocol, does not actually implement DHCP (yet)
- Probably not completely reliable, but it's just DHCP
- No
async
(for no particular reason)
Week | Summary |
---|---|
45 | 👥💬 Initial planning and specification |
46 | 📕 Design, documentation and server code |
47 | ✅ Server handshakes, testing and groundwork |
48 | 💞 Peer heartbeat messages, thread shutdown |
49 | 🔢💻 Leader election, address pool distribution, client CLI |
50 | ✨ DHCP functionality and client-server communication |