Table of Contents

Architecture

Global Architecture

The dhcpd-j's architecture is similar to common dynamic web server. It relies on a central database holding all persistent data, and one or more front-end servers (first tier server). This is a well proven architecture principle allowing for a wide range of scalability and high-availability solutions.

High Level Schema

This architecture is a logical view. It can be used through a wide range of configuration, from a simple stand-alone LAN server to a ISP-wide DHCP for millions of customers.

Example 1: simple LAN DHCP server

[shema]

In this example, the dhcp-server is a all-in-one Java process holding all functions at once. It is very simple to install and works out-of-the-box. The front-end and database engine run in the same Java process.

The network topology is stored in a XML file, the dhcp-leases are stored via a HSQL database.

Example 2: ISP-wide solution

[shema]

Here, front-ends and back-end are on separate servers. Front-ends are deployed in server farms and load-balancing is done via separate network load balancers. More than one server farms can be deployed on separate sites, as long as they have a permanent connection to the database.

The database holds the network topology and the dhcp-leases. Database engine can be Oracle (work in progress) or MySQL (work in progress). It is highly recommended to build high-availability databases through clusters.

Thin client principle

dhcpd-j server configuration