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

Могу ли я использовать исходный MAC-адрес пакета Ethernet для ответа UDP вместо поиска ARP?

Я работаю над встроенной платформой с очень ограниченными ресурсами, где мне нужно создавать собственные фреймы Ethernet.

Если мне нужно ответить на запрос UDP ответом UDP, это когда-нибудь не Можно просто отправить ответ обратно на MAC-адрес источника Ethernet пакета запроса вместо выполнения полного поиска ARP исходного IP-адреса?

Если это так, будет очень полезен список конкретных примеров, когда ответ должен быть отправлен на другой MAC-адрес, отличный от того, с которого пришел запрос.

Ясно, что если отправитель запроса изменил свой собственный MAC-адрес сразу после отправки запроса, это был бы тривиальный пример, но давайте проигнорируем этот случай.

Мне приходит в голову асимметричная маршрутизация между хостами A и B (я использую B для встроенного устройства в вопросе).
Т.е. настройка сети такова, что маршрут от A до B не такой, как от B до A.

Пример:

A -> router1 -> B
A <- router2 <- B

В этом случае B увидит MAC-адрес router1, но должен отправить MAC-адрес router2 (обнаруженный путем изучения его таблицы маршрутизации, а затем таблицы ARP).

Не самая типичная настройка, но вполне возможная и в меньшей степени пограничная, чем хост в той же сети, который переключает MAC-адреса так же, как вы обрабатываете пакет.