Адреса IPv4 обычно назначаются с использованием протокола DHCP. Как это происходит, зависит от конкретного DHCP-сервера, работающего на маршрутизаторе ...
При использовании DHCP адреса сдаются в аренду на определенный период времени, поэтому, если устройство перезагружается, запрашивает адрес до истечения срока действия старой аренды, маршрутизатор обычно дает тот же старый адрес (на основе идентификатора клиента DHCP или MAC-адреса).
Некоторые DHCP-серверы запоминают, какой адрес был выдан даже на некоторое время после истечения срока аренды, поэтому они всегда дают один и тот же адрес одному и тому же устройству.
Если устройство не было замечено ранее, это зависит от реализации - обычно новый адрес выбирается случайным образом, но иногда последовательно, а иногда на основе своего рода хэша MAC-адреса, так что маршрутизатор, по крайней мере, пытается выдать старый адрес снова.
Например, чтобы процитировать страницу dhcpd.conf(5)
руководства ISC DHCP-сервера dhcpd :
DHCP-сервер генерирует список доступных IP-адресов из
хеш-таблица. Это означает, что адреса не сортируются ни в одном из
порядок, и поэтому невозможно предсказать порядок, в котором
DHCP-сервер будет выделять IP-адреса. Пользователи предыдущих версий
DHCP-сервера ISC, возможно, привыкли к DHCP-серверу
выделение IP-адресов в порядке возрастания, но это больше не
sible, и нет способа настроить это поведение с версией 3
DHCP-сервер ISC.
Для 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-адреса.