Адреса IPv4 обычно назначаются с использованием протокола DHCP. Как это происходит, зависит от конкретного DHCP-сервера, работающего на маршрутизаторе ...
При использовании DHCP адреса сдаются в аренду на определенный период времени, поэтому, если устройство перезагружается, запрашивает адрес до истечения срока действия старой аренды, маршрутизатор обычно дает тот же старый адрес (на основе идентификатора клиента DHCP или MAC-адреса).
Некоторые DHCP-серверы запоминают, какой адрес был выдан даже на некоторое время после истечения срока аренды, поэтому они всегда дают один и тот же адрес одному и тому же устройству.
Если устройство не было замечено ранее, это зависит от реализации - обычно новый адрес выбирается случайным образом, но иногда последовательно, а иногда на основе какого-то хэша MAC-адреса, так что маршрутизатор, по крайней мере, пытается выдать старый адрес снова.
Например, чтобы процитировать страницу руководства dhcpd.conf(5)
DHCP-сервера ISC dhcpd:
The DHCP server generates the list of available IP addresses from a
hash table. This means that the addresses are not sorted in any par‐
ticular order, and so it is not possible to predict the order in which
the DHCP server will allocate IP addresses. Users of previous versions
of the ISC DHCP server may have become accustomed to the DHCP server
allocating IP addresses in ascending order, but this is no longer pos‐
sible, and there is no way to configure this behavior with version 3 of
the ISC DHCP server.
Для IPv6 существует аналогичный протокол DHCPv6, к которому все еще применяется ответ выше.
Однако во многих сетях используется более простой протокол "автоматической настройки без сохранения состояния", в котором маршрутизатор передает только префикс (или сетевой адрес), а устройства назначают свои собственные IP-адреса. Назначение выполняется двумя способами:
При обычной "автоматической настройке без сохранения состояния" (RFC 4862) часть IP-адресов "хост" основана на аппаратном адресе устройства. Для 48-битных MAC-адресов второй бит переворачивается, и в середину вставляется ff:fe
(для заполнения до 64 бит)
Например, префикс 2001:470:1f0b:915::/64
плюс MAC-адрес 48:5d:60:e8:65:8f
приводит к IP-адресу 2001:470:1f0b:915:4a5d:60ff:fee8:658f
,
В "Расширениях конфиденциальности" (RFC 4941) часть "хост" выбирается случайным образом, и новый адрес добавляется каждые 10 часов.
Обратите внимание, что "расширения конфиденциальности" почти всегда используются в дополнение к обычному «IP-адресу без учета состояния» на основе MAC-адреса.