понимание многоадресной рассылки на канальном уровне

Я новичок в сетевом программировании, особенно в L2.

Я работаю над реализацией LLDP (протокол обнаружения канального уровня) на C. Я понимаю, что многоадресная передача на канальном уровне работает на напрямую подключенных устройствах локальной сети. Моя цель - заставить его работать через VLAN (например: устройство в пуле 10.1.1.0 должно иметь возможность получать многоадресные пакеты L2, отправленные устройством в 192.168.1.0). Есть ли способ достичь этого .. или я упускаю что-то важное?

Wireshark wiki на LLDP говорит:

Блоки данных LLDP (LLDPDU) отправляются на MAC-адрес назначения 01: 80: c2: 00: 00: 0e. Этот адрес определяется как адрес "LLDP_Multicast". Этот адрес определяется в диапазоне адресов, зарезервированных IEEE для протоколов, которые должны быть ограничены отдельной LAN. LLDPDU не будет пересылаться мостами MAC (например, коммутаторами), которые соответствуют IEEE Std 802.1D-2004.

  1. Значит ли это, что коммутатор или маршрутизатор просто игнорируют многоадресные пакеты канального уровня, поступающие от другого устройства в другой подсети? работает ли многоадресная передача на канальном уровне только на напрямую подключенных устройствах?

  2. какова область действия многоадресного адреса канального уровня?


person srjhnd    schedule 14.02.2016    source источник


Ответы (2)


Судя по вашему вопросу, похоже, вы смешиваете технологии L2 и L3. Если вы имеете дело с многоадресной рассылкой L2, IP-адреса здесь не имеют значения.

По вопросам:

1) Говоря о коммутаторах, вы должны учитывать, соответствует ли коммутатор 802.1D или нет. Простой коммутатор (например, Generic $ 5 из магазина по соседству) будет рассматривать ваш PDU LLDP как широковещательный фрейм и распределять его по всем другим портам, кроме того, от которого он его получил. Это связано с тем, что MAC-адрес начинается с 01, что указывает на то, что бит группового адреса установлен.

Коммутатор, совместимый с 802.1D, никуда не пересылает этот кадр. Он может обработать его локально, чтобы узнать об отправляющем его устройстве. Это произойдет, если на коммутаторе включена поддержка протокола LLDP.

Маршрутизатор будет работать так же, как коммутатор, совместимый с 802.1D. Он не пересылает кадр LLDP и может обработать его, если LLDP включен.

ПК будет действовать так же, как маршрутизатор.

2) Объем будет зависеть от конечных точек ссылки. Любое интеллектуальное устройство завершит путь кадра LLDP. Тупой переключатель будет рассматривать это как широковещательный кадр.

person jpou    schedule 14.02.2016
comment
Как насчет продвижения вверх по иерархии ... Я тестировал это на двух устройствах, одно в VLAN над другим, подключенных через маршрутизатор. Кадры LLDP, отправленные устройством в верхней VLAN, были получены устройством в нижней VLAN, но обратного не произошло. Разве в этом сценарии маршрутизатор не должен завершать многоадресные кадры? Кстати, я использовал маршрутизатор Linksys. - person srjhnd; 14.02.2016

Многоадресные рассылки на уровне канала не будут передаваться по каналу. Из-за этого вопрос об игнорировании или об игнорировании многоадресной рассылки по локальному каналу от другого канала никогда не возникает.

Вам не удастся создать реализацию LLDP, которая исходит из одной ссылки и принимается по другой ссылке. Вам нужно будет создать совершенно другой протокол, чтобы делать то, что вы хотите, и вам нужно будет изменить программное обеспечение на сетевых устройствах, чтобы распознавать этот новый протокол. Это невозможно с сетевыми устройствами, на которых установлено собственное программное обеспечение.

person Ron Maupin    schedule 14.02.2016