Назад | Перейти на главную страницу

Что произойдет, если я запрошу 127.0.0.1 через широковещательную передачу arp?

Ответят ли мне все компьютеры в сети?

Никто не должен отвечать на ваш запрос, потому что каждый сетевой интерфейс должен отвечать только на привязанные к нему адреса (т.е. не на другие интерфейсы).

Ящики Linux могут ответить.

http://lwn.net/Articles/45373/

"Если система Linux (с конфигурацией по умолчанию) получает запрос ARP на одном из своих интерфейсов, и этот запрос ищет IP-адрес, назначенный любому из интерфейсов системы, система ответит на запрос ARP через интерфейс, который получил его. Этот ответ происходит, даже если задействованный интерфейс не тот, которому был назначен запрошенный адрес ".

Это зависит от того, насколько хорошо написаны (или содержат ошибки) отвечающие стеки TCP / IP.

Вы не должны получать никаких ответов, но я и раньше видел странное поведение ...

Учитывая, что RFC1122 (Требования к Интернет-хостам) устанавливает для блока адресов 127/8:

Addresses of this form MUST NOT appear outside a host.

И RFC1812 (Требования к маршрутизаторам IP версии 4) гласит:

  A router SHOULD NOT forward, except over a loopback interface, any
  packet that has a destination address on network 127.  A router
  MAY have a switch that allows the network manager to disable these
  checks.  If such a switch is provided, it MUST default to
  performing the checks.

Возникает очевидный вопрос: зачем вам ARP для 127.0.0.1, если вы не предназначены для отправки пакетов на эти адреса по чему-либо, кроме интерфейсов обратной связи?

Из вашего исходного вопроса:

"Все ли компьютеры в сети ответят мне?" - Нет.

"Что случится?" - результаты будут варьироваться от полного отсутствия до получения ответов от изолированных хостов / шлюзов, которые, вероятно, содержат ошибки или неправильно сконфигурированы.