2016-02-14 9 views
-1

Я довольно новичок в сетевом программировании, особенно 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.

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

  2. Какая область действия многоадресного адреса канала передачи данных?

ответ

0

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

Что касается вопросов:

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

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

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

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

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

+0

Как продвигаться по иерархии ... Я тестировал это на двух устройствах один в VLAN выше другого, подключенного через маршрутизатор. Кадры LLDP, отправленные устройством в верхней VLAN, были получены устройством в нижней VLAN, но обратное не произойдет. Разве маршрутизатор не предполагает прекратить работу многоадресных кадров в этом сценарии? Я использовал маршрутизатор Linksys BTW. –

0

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

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