Как компьютер может назначить IP-адрес самому себе? Нет IP-адресов, назначаемых компьютерам маршрутизаторами?

Конвертированная форма ответа от @Gilles, позволяющая использовать синтаксис, более похожий на cp (мой сценарий Bash до смешного элементарный, поэтому я не мог понять как упаковать подстановку пути в "-exec {}")

#/usr/bin/bash
if [ $# -ne 2 ] ; then  echo "Args: <original tree> <new tree of symlinks>" ; exit 1; fi
mkdir -p "$2"
srclen=${#1}
find "$1" | while read line
do
    sub=${line:$srclen}
    if [ -d "$line" ]
    then
        mkdir "$2$sub"
    else
        ln -s "$1$sub" "$2$sub"
    fi
done
0
17.12.2018, 19:12
4 ответа

IP-адрес может быть назначен ответственным устройством в локальной сети, например сервером или маршрутизатором, с использованием вызываемого DHCP . (Это определено в RFC 2131 и расширено как минимум в RFC 2132 .)

Устройство также может самостоятельно -настроить свой адрес и избежать необходимости в DHCP. Команда ip, которую вы продемонстрировали, делает именно это.

Обратите внимание, что в этом сценарии есть два основных предостережения

  1. Если вы выберете адрес, который уже активно используется другим устройством, вы будете конфликтовать с трафиком на оба устройства (ваше и другое ).
  2. Если вы выберете адрес, который не является частью подсети LAN, вы не получите полезной связи с любым другим устройством (, например, установив 192.168.1.1/24 в сети, которая ожидает 172.12.1. */24 ).

Наконец, вы спросили, почему сервер должен -конфигурироваться самостоятельно. Быстрый ответ здесь заключается в том, что сам DHCP-сервер должен знать свой собственный IP-адрес, прежде чем он сможет начать обслуживать запросы. Другими возможностями являются сетевые маршрутизаторы и центральные серверы аутентификации (, контроллер домена в мире Active Directory Windows или сервер LDAP в мире UNIX/Linux ).

3
28.01.2020, 02:13

Присвоение себе IP-адреса упрощает определение IP-адреса компьютера. Маршрутизаторы будут делать это с помощью DHCP или зарезервированного адреса DHCP на основе mac-адреса.

  • Чистый DHCP назначит любой заданный неиспользуемый адрес в диапазоне IP-адресов. Это не идеально, если вы используете серверы/службы в нескольких системах.

  • Зарезервированный DHCP IP-адрес останется с любым MAC-адресом. Это идеально, но обременительно записывать или иметь целевой компьютер в сети, чтобы добавить его в зарезервированные списки. Кроме того, если маршрутизатор умирает, вам придется делать это снова и снова.

  • Назначение собственного IP-адреса удобно тем, что это можно сделать с самого компьютера. Он останется с компьютером, если вы переместите его в другую сеть или в другую. Недостатком является то, что если ваш адрес уже занят, сетевой интерфейс не будет подключен к сети, пока конфликт адресов не будет урегулирован. Однако, если вы назначите ему IP-адрес за пределами области DHCP и сделаете примечание, чтобы не назначать другим компьютерам в сети этот адрес, у вас не будет этой проблемы.

Большая часть сетевого трафика до -маршрутизации достигает всех интерфейсов и/или отвечает интерфейс с IP-адресом, указанным в заголовке. Таким образом, да, пакеты будут попадать на интерфейс eth0, но ответит ли он или будет ли он работать в этой сети, зависит от того, верны ли IP-адрес и маска подсети, а также от настройки полного или полудуплексного режима и т. Д. Большинство настроек по умолчанию достаточно хороши для большинства домашних или несложных сетей.

1
28.01.2020, 02:13

На самом деле, все хосты в сети действительно заявляют о своих собственных IP-адресах. Всегда!

На стороне локальной сети маршрутизатор имеет IP-адрес в определенном диапазоне (, например. 192.168.9.x )и если маршрутизатор получает пакет байтов, скажем, для 192.168.9.12, маршрутизатор перенаправляет его на свой физический порт с диапазоном IP-адресов (192.168.9.0/24 )сконфигурировано так, чтобы оно соответствовало адресу назначения. В том порту,он вещает в локальной сети:«Какой хост требовать IP-адрес 192.168.9.12?" . И любой хост, сетевая карта которого настроена на иметь этот конкретный IP-адрес будет отвечать, тем самым заявляя адрес. Если все ну, есть ровно один хост, который на это претендует, и роутер отправит пакет данных на этот хост.

Эта широковещательная рассылка «у кого есть IP-адрес x.x.x.x» и заявление об этом путем ответа: происходит на более низком уровне и работает только в локальной сети LAN (). Этот протокол называется "ARP" (Протокол разрешения адресов)

Другими словами:

Адрес, на который маршрутизатор отправляет пакет данных, на этом нижнем уровне: фактически MAC-адрес сетевой карты (NIC )хоста, который требует IP-адрес. Он делает это, отвечая на запрос ARP -, передаваемый маршрутизатором.

Таким образом, хост сам решает, какой IP-адрес он будет использовать. претендовать на наличие в сети.

В сетях, превышающих несколько хостов, будет утомительно поддерживать отслеживание того, какой IP-адрес должен использоваться каким хостом. А затем представьте, что вы редактируете файл на всех компьютерах, разрешенных в сети, чтобы указать только его IP-адрес!

Кроме того, если два (или более )хоста претендуют на один и тот же IP-адрес, оба будут иметь серьезная проблема с сетью! Вот почему очень практично иметь центральный служба в локальной сети, которая отслеживает, какой MAC-адрес можно использовать какой IP-адрес. Это называется "DHCP" (Протокол динамической конфигурации хоста ), который также можно использовать для информирования хостов многих других параметров конфигурации в локальной сети.

Протокол DHCP также работает на том же более низком уровне, что и протокол ARP. Когда хозяин настраивает сетевую карту (сетевой карты ), чаще всего во время загрузки, она передает "Какой IP-адрес я могу использовать в этой сети?" .Это делается DHCP клиентское программное обеспечение. Поскольку это широковещательная рассылка, ее получают все хосты, но только DHCP. сервер ответит, надеюсь, упомянув уникальный IP-адрес, свою сетевую маску, адрес шлюза (маршрутизатора )и, возможно, другие вещи. Хозяин держит это в памяти, зная, что он может безопасно претендовать на этот IP-адрес в сети в течение некоторого времени.

Но это работает только потому, что хосты сотрудничают , запрашивая у сервера DHCP -IP-адрес для использования. В конечном счете всегда хосты решают, какой IP-адрес им претендовать....

1
28.01.2020, 02:13

В то время как другой ответ (s )описывает, почему существует статическая IP-адресация, я хочу ответить на вашу часть вопроса о том, как это работает.

Здесь вам не хватает ARP . Представьте себе частную сеть 172.17.0.0/16. Один из ваших клиентов «присвоил себе» статический IP-адрес 172.17.0.12. Второй клиент 172.17.0.42 хочет связаться с 172.17.0.12. После ARP 172.17.0.42 отправляет широковещательную рассылку. Он эффективно кричит повсюду: «У кого есть IP-адрес 172.17.0.12?». 172.17.0.12 отвечает и связь устанавливается. Обратите внимание, что если есть два клиента, которые утверждают, что имеют один и тот же IP-адрес, возникает хаос.

6
28.01.2020, 02:13

Теги

Похожие вопросы