3

Как хост, который не поддерживает Интернет-протокол (он работает только на уровне 2 ), может получить MAC-адрес маршрутизатора, чтобы он мог передавать пакеты Ethernet через?

3 ответа3

3

Краткий ответ зависит от протоколов, доступных на хосте L2.

Каждое семейство протоколов уровня 2 имеет некоторые средства для объявления / обнаружения MAC-адресов систем на локальной сети. Как правило, это делается Broadcast, как упоминалось в HeavyD, а техника используется в ARP.

В прежние времена (когда ваш вопрос был уместен), единственными людьми, которые выполняли связанные с сетью задачи, подобные этим, были сетевые администраторы, которые могли так же легко прочитать MAC с наклейки на маршрутизаторе / мосту при выполнении таких вещей, как настройка spanning деревья или другие многосегментированные локальные сети без маршрутизации. вам придется либо использовать протокол сопоставления имен (например, NetBUI старой школы, который использует широковещательные рассылки в случае вашей заинтересованности), либо настроить их вручную.

2

Вы всегда можете использовать широковещательный адрес Ethernet (FF:FF:FF:FF:FF:FF), если вы не знаете фактический MAC-адрес.

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

1

Если он не поддерживает IPv4, ему не нужен MAC-адрес маршрутизатора IPv4.

Если он даже не знает, что такое IPv4, как он может узнать, что такое маршрутизатор IPv4? Зачем ему вообще нужно общаться с маршрутизатором IPv4?

Важно понимать, что "маршрутизатор", о котором вы думаете в своей локальной сети, на самом деле является концепцией IPv4 на уровне сети (уровень 3). Нет такого понятия, как "маршрутизатор уровня Ethernet"; межсетевая маршрутизация - это задача сетевого уровня (уровень 3). На уровне Ethernet может существовать "путь пересылки" через несколько коммутаторов (технически называемых "мостами") в сети, но такой тип поиска пути уровня Ethernet называется "коммутацией" или "мостовым соединением", а не "маршрутизацией". , При использовании точной терминологии мы резервируем термин "маршрутизация" для того, что делают устройства уровня 3.

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

Например, IPv6 использует другой EtherType (идентификационный номер протокола Ethernet), чем IPv4. IPv4 использует 0x0800, тогда как IPv6 использует 0x86dd. Хосты IPv6 используют протокол обнаружения соседей (NDP) IPv6 для поиска MAC-адресов соседних хостов и маршрутизаторов в одной и той же локальной сети Ethernet. NDP построен на ICMPv6, который, конечно, построен на IPv6.

В качестве другого примера, AppleTalk был проприетарным стеком протоколов Apple для Mac в 80-х и 90-х годах, прежде чем TCP/IP вступил во владение. Сетевой уровень AppleTalk (уровень 3) назывался DDP (протокол доставки дейтаграмм). Хосты AppleTalk нашли свои маршрутизаторы DDP через протокол разрешения адресов AppleTalk (AARP), EtherType 0x80f3.

Кто-то другой мог бы дать вам примеры того, как подобные вещи были достигнуты со всеми запатентованными стеками протоколов 80-х и 90-х, которые в конечном итоге победили TCP/IP: Novell IPX/SPX, Banyan VINES, DECnet и т.д.

Те немногие протоколы, не основанные на IPv4/ARP/IPv6 Ethernet, которые все еще используются сегодня, как правило, не маршрутизируются напрямую за пределы текущей локальной сети Ethernet и, следовательно, не нуждаются в поиске маршрутизаторов уровня 3. На ум приходят PPPoE, 802.1X (EAPOL) и протокол связующего дерева 802.1D (STP). PPPoE находит концентраторы доступа PPPoE (серверы) и их MAC-адреса по широковещательному протоколу, называемому PPPoE Active Discovery (PAD). 802.1X и STP просто передают свои пакеты на специальные многоадресные MAC-адреса, которые были определены и зарезервированы IEEE для целей этих протоколов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .