The dhcp network database is used to map a Dynamic Host Configuration Protocol (DHCP) client's client identifier to an IP address and the associated configuration parameters of that address. This database is located by the DHCP server at runtime upon receipt of a BOOTP request.
The dhcp network databases can exist as NIS+ tables or ASCII files. Since the format of the file could change, the preferred method of managing the dhcp network databases is through the use of the pntadm(1M) command.
Each entry in a dhcp network database has the form:
The fields are defined as follows:
The client identifier field, Client_ID, is an ASCII hexadecimal representation of the unique octet string value of the DHCP Client Identifier Option (code 61) which identifies a DHCP client. In the absence of the DHCP Client Identifier Option, the DHCP client is identified using the form given below for BOOTP clients. The number of characters in this field must be an even number, with a maximum length of 64 characters. Valid characters are 0 - 9 and A-F. Entries with values of 00 are freely available for dynamic allocation to requesting clients. BOOTP clients are identified by the concatenation of the network's hardware type (as defined by RFC 1340, titled "Assigned Numbers") and the client's hardware address. For example, the following BOOTP client has a hardware type of '01' (10mb ethernet) and a hardware address of 8:0:20:11:12:b7, so its client identifier would be: 010800201112B7
Evaluation of the Lease field is turned off (lease is permanent). If this bit is not set, Evaluation of the Lease field is enabled and the Lease is DYNAMIC.
This entry has a manual client ID binding (cannot be reclaimed by DHCP server). Client will not be allocated another address.
When set, this value means that either through ICMP echo or client DECLINE, this address has been found to be unusable. Can also be used by the network administrator to prevent a certain client from booting, if used in conjunction with the MANUAL flag.
This entry is reserved for allocation to BOOTP clients only.
The Client_IP field holds the IP address for this entry. This value must be unique in the database.
This field holds the IP address of the DHCP server which owns this client IP address, and thus is responsible for initial allocation to a requesting client.
This numeric field holds the entry's absolute lease expiration time, and is in seconds since January 1, 1970. It can be decimal, or hexadecimal (if 0x prefixes number). The special value -1 is used to denote a permanent lease.
This ASCII text field contains the dhcptab macro name used to look up this entry's configuration parameters in the dhcptab(4) database.
This ASCII text field contains an optional comment.
This section describes how the DHCP/BOOTP server calculates a client's configuration lease using information contained in the dhcptab(4) and dhcp network databases. The server consults the LeaseTim and LeaseNeg symbols in the dhcptab, and the Flags and Lease fields of the chosen dhcp network database record.
The server first examines the Flags field for the identified dhcp network record. If the PERMANENT flag is on, then the client's lease is considered permanent.
If the PERMANENT flag is not on, then the server checks if the client's lease as represented by the Lease field in the dhcp network record has expired. If not, then the server checks if the client has requested a new lease. If the LeaseNeg symbol has not been included in the client's dhcptab parameters, then the client's requested lease extension is ignored, and the lease is set to be the time remaining as shown by the Lease field. If the LeaseNeg symbol has been included, then the server will extend the client's lease to the value it requested if this requested lease is less than or equal to the current time plus the value of the client's LeaseTim dhcptab parameter.
If the client's requested lease is greater than policy allows (value of LeaseTim), then the client is given a lease equal to the current time plus the value of LeaseTim. If LeaseTim is not set, then the default LeaseTim value is one hour.
For more information about the dhcptab symbols discussed in this section, see dhcptab(4).
The following dhcp network database entry is free for dynamic allocation. The IP address for this entry is 10.0.0.5, the IP address of the DHCP server that can initially allocate this address is 10.0.0.1, the lease expires 754012553, or Mon Nov 22 18:55:53 1993, and the dhctab macro associated with this entry is called 10netnis:
00 0 10.0.0.5 10.0.0.1 754012553 10netnis
The following entry shows a manually administered entry for client ID 010000C0EFA4A, which has a permanent lease (that is, MANUAL | PERMANENT == 3):
010000C0EFA4A 3 10.0.0.25 10.0.0.1 -1 10netnis
The following entry shows a MANUAL entry which has been marked as UNUSABLE (that is, MANUAL | UNUSABLE == 6):
0408072097C9F 6 10.0.0.26 10.0.0.1 764258362 10netdns
The following entry for IP address 10.0.0.27 shows a previously unused, DYNAMIC entry which uses dhcptab macro 10netnis and is owned by DHCP server 10.0.0.2:
00 0 10.0.0.27 10.0.0.2 0 10netnis
The following entry is reserved for BOOTP clients:
00 08 10.0.0.27 10.0.0.3 0 10netnis
Where NNN_NNN_NNN_NNN are database file(s) or NIS+ tables(s).
file or NIS+ table
Reynolds, J. and J. Postel, Assigned Numbers, STD 2, RFC 1340, USC/Information Sciences Institute, July 1992,