Как работает коммутатор, когда он знает о MAC-адресе, но отправляющий ПК не знает о MAC-адресе MAC-адреса назначения

12

4 ПК подключены к коммутатору, и этот коммутатор знает свои MAC-адреса (все 4 ПК). Компьютер A и компьютер D не общались никогда раньше, поэтому у них обоих нет обновленной таблицы ARP с MAC-адресами друг друга.

Компьютер A хочет связаться с компьютером D, поэтому он отправляет запрос ARP для MAC-адреса компьютера D. Этот ARP будет широковещательным сообщением (с FF: FF: FF: FF: FF: FF в качестве MAC-адреса назначения в пакете ARP).

Я бы хотел понять, как коммутатор будет его использовать, поскольку он уже знает MAC компьютера D, а компьютер A - нет. Позволит ли коммутатор компьютеру D ответить на сообщение ARP (широковещательная рассылка) или отбросит этот запрос ARP и направит пакет компьютера А непосредственно на компьютер D (поскольку коммутатор уже знает MAC-адрес компьютера D)?

Aniruddha
источник
2
В дополнение к ответам, все операционные системы, о которых я знаю в настоящее время, выдают бесплатный ARP при подключении.
AbraCadaver
@AbraCadaver Это не совсем актуально. Бесплатная ARP должна только существующие записи кэша ARP, а не создавать новые. Он предназначен для вытеснения устаревших записей при перемещении IP-адреса или замене сетевого адаптера, а не кэшей предварительной загрузки.
Бармар
@ Бармар: Нет. Мост / коммутатор видит кадр, записывает MAC-адрес источника и порт. Вот как это работает.
AbraCadaver
@AbraCadaver Какое отношение это имеет к тому, как обрабатывается бесплатный ARP?
Бармар
@Barmar: бесплатный ARP не обрабатывается коммутатором. Он видит, что кадр Ethernet с исходным MAC-
адресом

Ответы:

24

Запрос ARP, конечно же, пройдет.

Коммутатор не знает о ARP. Он знает только об Ethernet (т. Е. MAC-адреса в кадрах Ethernet), но не о протоколах поверх него. (Некоторые коммутаторы предлагают расширенные функции, такие как отслеживание IGMP, но здесь это не актуально.)

Поскольку это широковещательное сообщение, оно должно быть доставлено на все (подключенные) порты. Это все, что касается переключателя. Он не может знать, что он действительно предназначен для компьютера D.

Даниэль Б
источник
Ну, Ethernet это протокол. Однако простой коммутатор просто обращает внимание на некоторые протоколы (например, Ethernet), а не на другие (например, интернет-протокол версии 4 или протокол управления передачей).
TOOGAM
2
Запрос ARP спрашивает: «Где находится 192.168.0.1?» Переключатель не имеет никакого представления об этом.
Майкл Хэмптон
11

Запрос ARP это просто сообщение , которое говорит : «Вы там IP любой ! Какой ваш MAC - адрес?» Несмотря на то, что ARP имеет дело с обнаружением адресов уровня 2, это по сути запрос уровня 3, поскольку он отправляется на IP-адрес. Переключатели не работают на уровне 3.

В приведенном вами примере вы знаете то, чего нет у коммутатора; что IP-адрес в запросе ARP принадлежит компьютеру D. Целевой MAC-адрес является широковещательным, и это все, что коммутатор знает или заботится о нем. Если коммутатор видит широковещательный MAC-адрес, он будет транслировать этот пакет просто и понятно.

Да, есть переключатели уровня 3, и педанты отметили бы, что ARP технически не является протоколом уровня 3, но ничего из этого не имеет значения для этого примера.

Уэс Сайид
источник