Skip to content

hy-ds-group-11/dhcpcluster

Repository files navigation

DHCP Cluster

A University of Helsinki Distributed Systems Course Project

demo.mp4

Demo video

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.

Features:

  • 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)

Documentation

Design document 📎

Server documentation 📚

Weekly notes 📔

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

Downloads 💾

See Releases