Это IP-адрес источника и назначения, которые остаются. Идея межсетевого взаимодействия в основном основана на доставке между сегментами. Промежуточные маршрутизаторы / хост понимают только MAC-адреса. Насколько мне известно, таблицы маршрутизации должны понимать адрес машины.
Если MAC-адреса могут оставаться на протяжении всего пути пакета; Это означает, что не нужно было придумывать адреса интернет-протокола. И весь интернет использовал бы только MAC-адреса: -)
Вы можете достичь того, чего хотите, только если сервер и клиент находятся в одной локальной сети (оба хоста подключены к некоторому носителю L1).
Сказав это, ваше приложение выглядит как веб-сервер, который говорит мне, что оно не должно быть в той же сети.
Тем не менее, если вам нужен MAC-адрес исходного хоста на принимающем хосте; думаете отправить его в качестве полезного груза?
Дополнительно:
Сети не обязательно должны быть однотипными во всем мире (а именно, Ethernet, Frame Relay и т. Д.). Сетевой уровень предоставляет нам гибкость маршрутизации без различия между нижележащими уровнями (Data Link Layer) или, я бы сказал, лежащей в основе технологии L1. Короче говоря, IP предоставит нам межсетевой интерфейс, а канальный уровень (где MAC-адреса входят в картину) позаботится о связи на микроуровне (то есть локальной сети). Это справедливая причина, по которой Mac и IP-адреса сосуществуют! : -)