Commit a4a158f9 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

[3575] Description of v4 conflict resolution updated.

parent 59ac2f9d
...@@ -1821,7 +1821,7 @@ temporarily override a list of interface names and listen on all interfaces. ...@@ -1821,7 +1821,7 @@ temporarily override a list of interface names and listen on all interfaces.
<section it="reservation4-conflict"> <section it="reservation4-conflict">
<title>Conflicts in DHCPv4 reservations</title> <title>Conflicts in DHCPv4 reservations</title>
<para>As reservations and lease information are kept in different places, <para>As reservations and lease information are kept separately,
conflict may arrise. Consider the following series of events. The server conflict may arrise. Consider the following series of events. The server
has configured 192.0.2.10 to 192.0.2.20 dynamic pool range. Host A has configured 192.0.2.10 to 192.0.2.20 dynamic pool range. Host A
requests an address and gets 19.0.2.10. Now the system administrator requests an address and gets 19.0.2.10. Now the system administrator
...@@ -1840,6 +1840,7 @@ temporarily override a list of interface names and listen on all interfaces. ...@@ -1840,6 +1840,7 @@ temporarily override a list of interface names and listen on all interfaces.
the server has to temporarily assign a different address (not matching the server has to temporarily assign a different address (not matching
what has been reserved) to host B.</para> what has been reserved) to host B.</para>
<!-- let's keep this text around. It describes how that is working in v6
<para>When the host A renews its address, the server will discover that <para>When the host A renews its address, the server will discover that
the address being renewed is now reserved for someone else (host the address being renewed is now reserved for someone else (host
B). Therefore the server will remove the lease and will inform the host A B). Therefore the server will remove the lease and will inform the host A
...@@ -1852,7 +1853,29 @@ temporarily override a list of interface names and listen on all interfaces. ...@@ -1852,7 +1853,29 @@ temporarily override a list of interface names and listen on all interfaces.
server will also remove its temporary lease. It will revert to the server server will also remove its temporary lease. It will revert to the server
discovery phase and will eventually send a REQUEST message. This time the discovery phase and will eventually send a REQUEST message. This time the
server will find out that there is a reservation for that host and the server will find out that there is a reservation for that host and the
reserved address 192.0.2.10 is not used, so it will be granted.</para> reserved address 192.0.2.10 is not used, so it will be granted.</para> -->
<para>When the host A renews its address, the server will discover that
the address being renewed is now reserved for someone else (host
B). Therefore the server will inform the host A that it is no longer
allowed to use it by sending NAK message. The server will remove the
lease, though, as there's small chance that the NAK may be lost if the
network is lossy. If that happens, the client will not receive any
responses, so it will retransmit its Request packet. Once the NAK is
received by the host A, it will then revert to the server discovery and
will eventually get a different address. Besides allocating a new lease,
the server will also remove the old one. As a result the address
192.0.2.10 will be no longer used. When host B tries to renew its
temporary address, the server will detect that it has a valid lease, but
there is a reservation for a different address. The server will send NAK
to inform host B that its address is no longer usable, but will keep its
least (again, the NAK may be lost, so the server will keep it, until the
client gets back for a new address). The host B will revert to the server
discovery phase and will eventually send a REQUEST message. This time the
server will find out that there is a reservation for that host and the
reserved address 192.0.2.10 is not used, so it will be granted. It will
also remove the lease for the temporary address that the host B previously
had.</para>
<para>This recovery will succeed, even if other hosts will attempt to get <para>This recovery will succeed, even if other hosts will attempt to get
the reserved address. Had the host C requested address 192.0.2.10 after the reserved address. Had the host C requested address 192.0.2.10 after
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment