</itemizedlist>
</para>
- <para>The DHCPv4 makes use of two distinct identifiers which are placed
+ <para>DHCPv4 makes use of two distinct identifiers which are placed
by the client in the queries sent to the server and copied by the server
to its responses to the client: 'chaddr' and 'client identifier'. The
former was introduced as a part of the BOOTP specification and it is also
the client's lease.
</para>
- <para>When the server receives DHCPDISCOVER or DHCPREQUEST message from the
+ <para>When the server receives a DHCPDISCOVER or DHCPREQUEST message from the
client, it will try to find out if the client already has a lease in the
database and will hand out the existing lease rather than allocate
a new one. Each lease in the lease database is associated with the
'client identifier' and/or 'chaddr'. The server will first use the
'client identifer' (if present) to search the lease. If the lease is
- found, the server will consider that this lease belongs to this client,
- regardless if the current 'chaddr' and the 'chaddr' associated with
- the lease match. This facilitates the scenario when the network card
+ found, the server will treat this lease as belonging to the client
+ even if the current 'chaddr' and the 'chaddr' associated with
+ the lease do not match. This facilitates the scenario when the network card
on the client system has been replaced and thus the new MAC address
appears in the messages sent by the DHCP client. If the server fails
- to find the lease using the 'client identifier' it will use the 'chaddr'
- and will perform another lookup. If this lookup returns no result, the
- client is considered to not have a lease and the new lease will
- be created.
+ to find the lease using the 'client identifier' it will perform another lookup
+ using the 'chaddr'. If this lookup returns no result, the client is
+ considered as not having a lease and the new lease will be created.
</para>
- <para>A common problem reported by the network operators is that bogus
- client implementations do not use stable client identifiers, e.g.
- new 'client identifier' is generated every time when the client connects
+ <para>A common problem reported by network operators is that bogus
+ client implementations do not use stable client identifiers such as
+ generating a new 'client identifier' each time the client connects
to the network. Another well known case is when the client changes its
- 'client identifier' during the multi-stage boot process (PXE). In those
+ 'client identifier' during the multi-stage boot process (PXE). In such
cases, the MAC address of the client's interface remains stable and
using 'chaddr' field to identify the client guarantees that the
particular system is considered to be the same client, even though its
- 'client identifier' gets changed.
+ 'client identifier' changes.
</para>
- <para>To address this problem Kea includes a configuration option
- which enables client identification using 'chaddr' and causes the
- server to "ignore" the 'client identifier' during the lease lookup
- and allocation for a particular subnet. Consider the following
+ <para>To address this problem, Kea includes a configuration option
+ which enables client identification using 'chaddr' only by instructing
+ the server to disregard server to "ignore" the 'client identifier' during
+ lease lookups and allocations for a particular subnet. Consider the following
simplified server configuration:</para>
<screen>
"Dhcp4": {
(if supplied) and 'chaddr' in the lease database. When the setting is
changed and the client renews the lease the server will determine that
it should use the 'chaddr' to search for the existing lease. If the
- clien't hasn't changed its MAC address the server should successfully
+ client hasn't changed its MAC address the server should successfully
find the existing lease. The 'client identifier' associated with the
returned lease is ignored and the client is allowed to use this lease.
When the lease is renewed only the 'chaddr' is recorded for this
the server will first try to use the 'client identifier' to find the
existing client's lease. This will return no results because the
'client identifier' was not recorded for this lease. The server will
- then use the 'chaddr' and the lease will be successfully found. If the
- lease appears to have no 'client identifier' recorded, the server will
- assume that this lease belongs to the client and that it was created
- with the previous setting of the <command>match-client-id</command>.
+ then use the 'chaddr' and the lease will be found. If the lease appears
+ to have no 'client identifier' recorded, the server will assume that
+ this lease belongs to the client and that it was created with the previous
+ setting of the <command>match-client-id</command>.
However, if the lease contains 'client identifier' which is different
from the 'client identifier' used by the client the lease will be
assumed to belong to another client and the new lease will be