Шлюз по умолчанию и путаница ARP

У меня есть следующая конфигурация (я бы выложил фото, но не хватило бы повторений более чем на 2):

ПК1 (10.0.2.10/24) и ПК2 (10.0.2.137/29) подключены к концентратору, который подключен к маршрутизатору по интерфейсу FastEthernet0/1 (10.0.2.138/24).

Я провел два теста с этой конфигурацией.

Первый тест: я отправил пинг с ПК1 на ПК2, не задав ни одного шлюза по умолчанию ни для одного хоста. ПК1 считает, что ПК2 находится в той же подсети, поэтому отправляет широковещательную рассылку ARP. Это не так, поэтому он не получает никаких ответов. Все идет нормально. Результат

Второй тест: я установил маршрутизатор в качестве шлюза по умолчанию в таблицах маршрутизации ПК1 и ПК2. Затем я снова отправил пинг с ПК1 на ПК2. На этот раз, по-видимому, ПК2 отвечает на прямую трансляцию ARP ПК1, а ПК1 отправляет ПК2 запрос ping. Затем ПК2 использует свою таблицу маршрутизации для ответа на ПК1 через шлюз по умолчанию, а затем получает перенаправление ICMP для обновления своего кэша маршрутизации для ответа непосредственно на ПК1. Результат

Мое замешательство: как PC2 отвечает на ARP-трансляцию PC1, когда он находится в другой подсети? Как наличие шлюза по умолчанию позволяет это? Сначала я подумал, что используется Proxy ARP, но, похоже, это не так, поскольку адреса источника и назначения пакетов ARP - это адреса ПК1 и ПК2, а не маршрутизатора.

1 ответ

Вы должны помнить, что запрос ARP является широковещательным, и он будет направлен на каждый хост в широковещательном домене. Оба компьютера, подключенные к концентратору, находятся в одном широковещательном домене.

Когда у ПК1 есть шлюз, и вы пытаетесь отправить что-то (ping) из своей сети (на ПК2), пинг будет идти к шлюзу; ПК1 будет ARP, чтобы найти адрес шлюза (не адрес ПК2) и отправить пинг к своему настроенному шлюзу.

Другие вопросы по тегам