Если у меня есть два компьютера, подключенных к коммутатору, и я статически настраиваю один и тот же IP-адрес на обоих компьютерах, то как компьютер узнает, что в локальной сети существует конфликт адресов (дублированный адрес)? В этом сценарии dhcp не используется.
1 ответ
Перед назначением даже статического IP-адреса компьютер отправляет широковещательный запрос ARP, чтобы проверить, используется ли уже IP-адрес.
Все машины в локальной сети отвечают на эту рассылку, и если адрес используется, он (в основном) не назначен сетевому адаптеру.
В Windows вы можете проверить известные на данный момент IP-адреса (для локальной машины) в cmd.exe
с помощью:
arp -a
По разным причинам этот метод не всегда надежен. Так что может случиться так, что два разных сетевых адаптера используют один и тот же IP-адрес. Это обстоятельство отмечено в файлах системного журнала. Без поиска таких ошибок трудно обнаружить.
аннотирование
Это не полный механизм, упомянутый выше, но немного показывает, как он работает:
При пинге с network broadcast address
большинство машин ответят arp-ответом и сообщат свой IP-адрес и MAC-адрес. (например, широковещательный адрес 192.168.0.255
для сети 192.168.0.0/24
)
ping 192.168.0.255
После этого arp -a
покажет, какие машины ответили.
В основном ответят даже машины, которые имеют закрытые межсетевые экраны.
Без сетевой связи с machnies записи arp будут отброшены через некоторое время.