You can find the results of your search below. If you didn't find what you were looking for, you can create or edit the page named after your query with the appropriate button.
Architecture:
6 Hits====== 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.
{{highlevelfrontback.png?nolink|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 ====
<hi>[shema]</hi>
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 [[http://hsqldb.org/|HSQL]] database.
==== Example 2: ISP-wide solution ====
<hi>[shema]</hi>
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 =====
* Font-end servers should virtually no specific data. It should only have pure local information (ip/port to bind to) and configuration to connect to the back-end. All application configuration is loaded from the back-end. In fallback mode, when connection to db is not possible, the front-end uses the last configuration locally cached.
* Any change in network topology can be pushed to front-end servers without any server restart or service interruption. Only major configuration changes may require front-end restart.
===== dhcpd-j server configuration =====
* **Network topology**: this is the core of the server configuration. It contains all managed IP subnets and associated parameters. Network nodes are stored in a hierarchical tree. Each node in the tree holds its own configuration that overrides its parent node configuration on part or all parameters.
* **Subnets, shared networks, address pools**: eventually all address pools used to serve clients.
* **Static addresses'''**: you can manually force IP addresses for specific clients
* **Request filter**: a logical predicate whether to handle the client request or not. This allows to silently ignored requests you don't want to handle (BOOTP, vendor class...)
* **DHCP options**: list of DHCP options sent back to the client. It can be static options or calculated options. At each node level, options can either replace or concatenate to parent node options.
Frequently Asked Questions:
4 Hitsp://www.ietf.org/rfc/rfc2132.txt|RFC 2132]]:|DHCP Options and BOOTP Vendor Extensions|
|[[http://www.ietf.org/rfc/rfc2241.txt|RFC 2241]]:|DHCP Options for Novell Directory Services|
|[[http://www.ietf.org/rf... etf.org/rfc/rfc3396.txt|RFC 3396]]:|Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv... ic Host Configuration Protocol version 4 (DHCPv4) Options|
|[[http://www.ietf.org/rfc/rfc4388.txt|RFC 4388]
Tools:
2 Hitsev.java.net/|args4j-2.0.8]] - //Java command line options parser// ([[http://www.opensource.org/licenses/mi... n the development process:
* javac compilation options: high level of warnings
* Heavy unit testing th
Server internals:
2 Hitsal DHCP parameters, network topology and detailed options lists to be sent back to the clients. Cold data i... function is in ''org.dhcpdj.Server'' Class.
CLI options are parsed by the arg4j library, looking for ''-c
Server configuration:
1 Hits of acceptable lease times
* a list of ''DHCP options'' to send back to the client
* a list of ''pool
dhcpd-j / dhcp4java:
1 Hits DHCP/BOOTP packets with support for a variety of options with a high-level datatypes support. It includes
dhcpd-j / dhcp4java:
1 Hits DHCP/BOOTP packets with support for a variety of options with a high-level datatypes support. It includes