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 |