Skip to content

Latest commit

Β 

History

History
48 lines (32 loc) Β· 2.12 KB

File metadata and controls

48 lines (32 loc) Β· 2.12 KB

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