Как маршрутизаторы назначают IP-адреса?

14

Как маршрутизатор назначает IP-адрес? Это случайно или есть заданный метод?

Кажется, что одно и то же устройство - независимо от того, когда оно было подключено - похоже, получает один и тот же IP-адрес. Маршрутизатор знает MAC-адрес и назначает тот же IP, или что-то еще происходит?

AGZ
источник
IP в сети или ваш личный компьютер?
Кристофер Чиппс
если у вас есть время и желание
Лоренцо фон Маттерхорн

Ответы:

13

Адреса 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-адреса.

user1686
источник
Вы упоминаете IPv4, это какая-то разница с IPv6?
Agz
@agovizer: Да - я обновил ответ.
user1686
Если это просто хэш, не будет ли один IP-адрес применяться к нескольким хостам?
Pacerier
@Pacerier: зависит от того, насколько хорошо разработан хеш, сколько IP-адресов вы можете выбрать и т. Д. Также обратите внимание, что я сказал «пытается». Если полученный IP-адрес уже используется, маршрутизатор может просто назначить другой.
user1686 9.09.13
В случае сети Ad hoc, как назначаются IP-адреса? Как нет центрального сервера.
pathe.kiran
4

Обычно (для IPV4) используемая система называется «DHCP» и в целом работает следующим образом.

  • Маршрутизатор запускает «DHCP-сервер», в котором есть таблица с IP-адресами, которые можно использовать.
  • Каждый компьютер отправляет запрос DHCP, который в основном представляет собой пакет (с его MAC-адресом), отправляемый по сети с сообщением «Какой IP-адрес у меня может быть?»
  • Маршрутизатор смотрит на полученный пакет и говорит, что это ваш IP-адрес, шлюз, DNS-сервер [и все остальное]
  • Затем компьютер сам настраивается.

MAC-адрес может использоваться таблицей DHCP-сервера, чтобы убедиться, что аппарат получает один и тот же IP-адрес, если он доступен каждый раз.

davidgo
источник
4

Я думаю, что важно отметить, что маршрутизаторы не назначают IP-адреса : маршрутизаторы получают IP-пакет на интерфейсе и отправляют его почти без изменений на другом интерфейсе (изменения, о которых я могу думать, это уменьшение TTL и обновление контрольной суммы IP-адреса. пакет; даже изменение IP-адреса в пакете (NAT) выходит за рамки задачи маршрутизатора).

Устройства, которые называются домашними маршрутизаторами, - это гораздо больше, чем маршрутизаторы, они также включают некоторые из следующих функций / услуг:

  • DHCP-сервер (это служба, которая назначает IP-адреса),
  • ADSL модем (для согласования соединения с провайдером),
  • Брандмауэр (для фильтрации входящих и исходящих соединений),
  • Входящее и исходящее устройство NAT (для совместного использования одного IPv4-адреса, выделенного интернет-провайдером для всех устройств в домашней сети),
  • маршрутизатор,
  • Переключатель,
  • Антенна WiFi,
  • Веб сервер,
  • Консоль (web, ssh или telnet) для настройки устройства,
  • Другие ...

(Примечание: межсетевые экраны обычно могут выполнять входящий и исходящий NAT и маршрутизацию, даже если эти 4 функции могут быть выполнены с использованием выделенных устройств.)

В крупном корпоративном развертывании сервер DHCP часто размещается на выделенных серверах Linux или Windows (обычно в кластере), которые не имеют ничего общего с маршрутизаторами.

jfg956
источник