14

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

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

3 ответа3

13

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

4

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

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

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

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

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

4

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .