@Stopy

Как маршрутизатор определяет в какую подсеть отправлять ARP-запрос при пересылке пакетов?

0e6c4d1a4e.jpg
Есть такая сеть с такой таблицей маршрутизации, всё прекрасно работает, но не могу объяснить преподавателю тот вопрос который в заголовке. В заранее спасибо!)
  • Вопрос задан
  • 5146 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
По IP адресу назначения и таблице маршрутизации определяется в какой интерфейс отправлять пакет.
Если адрес назначения непосредственно доступен в сети на интерфейсе, то отправляется ARP запрос в этот интерфейс.
Если адрес назначения непосредственно не доступен, то пакет отправляется на следующий маршрутизатор согласно таблице маршрутизации.
Это обычная схема работы IP маршрутизации, она одинакова, что на шлюзе Cisco, что в винде дома.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
plin2s
@plin2s
IT, инженер
Маршрутизатор ничего не отправляет между подсетями. У пакета есть destination IP. Для этого IP адреса в рамках сегмента сети отправляется широковещательный ARP запрос.
Ничего с большой сетью не произойдет. Для этого и существуют кэшируемые таблицы MAC адресов, коммутаторы вместо концентраторов, маршрутизаторы. Покажите преподавателю хотя бы статью в Вики https://ru.wikipedia.org/wiki/ARP Если препод очень упоротый, то можете взять книжку Таненбаума или Cisco ICND.
Ответ написан
Sanes
@Sanes
Посмотрите лекцию, может так будет понятней. На 40 мин. примерно о вашей теме.
Ответ написан
Комментировать
Он разве не широковещательный запрос отправляет?
Ответ написан
redsabien
@redsabien
Ну во первых широковещательно он отправляет только когда хочет найти следующий хоп, и то он отправляет чтобы найти мак адресс этого самого next hop'a.
Во вторых, чисто теоретически можно обойти и без ARP'a как и было ранее когда использовались hub.

Попробую обьяснить что происходит на схеме когда левый верхний компьютер с адрессом например 192.168.0.64/25 отправляет пакет правому нижнему компьютеры с адресом например 192.168.0.192/25

1. Анализируется таблица маршрутизации чтобы понять (какой физ интерфейс), далее ->
2. Понимая что надо отправлять в не другую зону, то надо выбрать адрес next hop или gateway
3. Проверяется таблица ARP->IP(в данный момент ищется мак адрес нашего роутера а не получателя на канальном уровне им друг на друга пофиг, тк они в разных сетях их обслуживает роутер или несколько), если нет совпадений то оптавляется пакет в котором вместо mac адресса получателя стоят FF:FF:FF:FF:FF:FF, и пакет получит роутер и отправит ответ где заменит все FF на свой мак адресс. Замечу что эта процедура делается только для свитчей, она бесполезна если в сети нету свитча, но всё равно будет выполнятся(есть куча примеров где нет мак адрессов)
4. После того как мы узнали мак адресс, система позволяет сделать нам следующий выше уровнем запрос и этот запрос это IP а там уже и TCP\UDP пакет.
5. когда пакет дайдет до роутера то роутер смотрит что этот пакет локально подсоединен к его другому интерфейсу, и дальше уже он выполняет ту же самую процедуру запрашимает мак адрес, и отправляет пакет получателю
6. Если получателю надо отправить пакет обратно то опять то же самое, и бывший получатель опять смотрит свою таблицу ARP, если нет совпадений опять кричит и спрашивает у всех, роутер получая ARP пакет видя что это ему ответит соответственно и после этого "бывший" получатель отправляет ответ, и роутер принимая опять смотри что это на соседнем интерфейсе и опять отпавляет ARP запрос.

и если бы стояло 10 роутеров между этими клиентами, то каждый роутер прежде чем отправить пакет к соседу своему каждый раз спрашивал бы его MAC по средствам ARP.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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