Я довольно новичок в сетевом программировании, особенно L2.понимание link layer multicast
Я работаю над реализацией протокола LLDP (Протокол обнаружения уровня канала) в C. Я понимаю, что многоадресный канал связи работает на непосредственно подключенных устройствах LAN. Моя цель - заставить его работать через VLAN (например: устройство в пуле 10.1.1.0 должно иметь возможность принимать многоадресные пакеты L2, отправленные устройством в 192.168.1.0). Есть ли способ достичь этого .. или я пропустил что-то жизненно важное здесь?
Wireshark вики на LLDP говорит:
LLDP Data Units (LLDPDUs) отправляются на МАС-адрес назначения 01: 80: c2: 00: 00: 0E. Этот адрес определяется как адрес «LLDP_Multicast». Этот адрес определяется в пределах диапазона адресов, зарезервированных IEEE для протоколов, которые должны быть ограничены отдельной локальной сетью. AN LLDPDU не будет перенаправляться мостами MAC (например, коммутаторами), которые соответствуют стандарту IEEE Std 802.1D-2004.
так это означает, что то, что переключатель или маршрутизатор просто игнорирует многоадресные пакеты канального уровня из другого устройства в другой подсети? работает ли многоадресная передача по каналу связи только на устройствах, подключенных напрямую?
Какая область действия многоадресного адреса канала передачи данных?
Как продвигаться по иерархии ... Я тестировал это на двух устройствах один в VLAN выше другого, подключенного через маршрутизатор. Кадры LLDP, отправленные устройством в верхней VLAN, были получены устройством в нижней VLAN, но обратное не произойдет. Разве маршрутизатор не предполагает прекратить работу многоадресных кадров в этом сценарии? Я использовал маршрутизатор Linksys BTW. –