1

Я хотел бы знать, сколько ARP запросов / ответов требуется для команды ping, чтобы получить работу?

Скажем, у нас есть две машины, соединенные точка-точка с IP-адресами 192.168.110.2 и 192.168.110.3 и выполняющие команду ping с машины 192.168.110.3

ping 192.168.110.2 -c 1

Теперь, сколько ARP-запросов / ответов требуется для успешного выполнения этого пинга?

В этом случае требуется только один запрос ARP и один ответ ARP?

1 ответ1

3

В теории два, но в действительности одного должно быть достаточно: тот, кто отправляет свой пинг, должен знать, куда его отправлять. Получатель должен знать, куда отправить ответ, но уже должен иметь эту информацию, основываясь на информации, полученной от эхо-запроса. Если, конечно, один или несколько задействованных компьютеров не имеют соответствующих записей в своей таблице arp.

Давайте назовем компьютер, отправляющий пинг A, и цель B.

  1. A, зная, что это локальное соединение (например, не требует маршрутизации на основе таблицы маршрутизации), просматривает таблицу arp на предмет соответствия IP-адресу компьютера B.
  2. Если A не найден, A будет транслировать запрос arp. На wireshark я помню этот запрос arp как "У кого есть 192.168.0.123?" Или что-то вдоль этих линий.
  3. B отправит ответ arp (я не помню, был ли это целью или трансляцией. Скорее всего нацелен)
  4. На данный момент, A имеет все необходимое для отправки пинга.
  5. B получает пинг и делает то, что нужно сделать, чтобы сформулировать ответ.
  6. На данный момент B, вероятно, уже имеет A в своей таблице arp, так как он уже получил всю эту информацию из пакета ICMP Ping. Но для целей этого примера, скажем, нет. В этом случае он будет делать то же самое, что и A для начала, чтобы он мог отправить ответ.

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