Управляемый Ethernet-коммутатор для каждого порта MAC-адрес трансляции?

Просто выстрел в темноте, но я подумал, что если у кого-нибудь появятся идеи:

У меня есть сценарий тестирования, в котором некоторые (без GUI / встроенные) устройства IPv6 будут временно подключены к портам управляемого коммутатора Ethernet и управляющая программа (запущенная на отдельном ПК с Linux, также подключенная к коммутатору).) определит, когда одно из этих устройств появится в локальной сети, и автоматически запустит тест, чтобы убедиться, что устройство работает правильно.

Обычно одновременно подключается около дюжины таких устройств (поэтому мы можем проводить тесты параллельно), и устройства будут регулярно подключаться и отключаться людьми, которые не обязательно ничего знают о работе сети; они только знают, как подключить кабель Ethernet, а затем (несколько часов спустя) посмотреть на экран ПК, чтобы проверить, прошел тест или нет.

Проблема в том, как указать тестирующему, когда конкретное устройство не прошло тест. Одним из вариантов является включение в журнал / сообщение об ошибке MAC-адреса устройства (полученного из локального IPv6-адреса канала), и этого может быть достаточно в крайнем случае, но было бы намного лучше, если бы программа тестирования могла также сказать что-то вроде "Устройство, подключенное к порту № 5, работает неправильно, посмотрите на это". Таким образом, тестер может просто следовать кабелю Ethernet к неисправному устройству, вместо того, чтобы выяснять, какой MAC-адрес у каждого устройства, пока не найдет соответствующий.

Я не думаю, что компьютер Linux может сказать, к какому порту коммутатора подключено конкретное устройство (дайте мне знать, если я ошибаюсь). Но при условии, что это так, следующая лучшая вещь была бы, если бы я мог запрограммировать коммутатор для преобразования MAC-адресов, например, чтобы любое устройство, подключенное к порту #n, всегда отображалось (на компьютере Linux), как если бы оно имело MAC адрес foo:bar:baz:n и, следовательно, отображается как IPv6-адрес fe80::2foo:bar:baz:n. Если коммутатор выполнял трансляцию MAC-адреса таким образом, тогда управляющее программное обеспечение могло бы определить, к какому порту подключено устройство, просто взглянув на последний раздел поддельного MAC-адреса.

Таким образом, мой вопрос заключается в том, поддерживает ли это поведение любой управляемый коммутатор Ethernet? Если так, то как называется эта функция (чтобы я мог найти переключатель, который это делает)? Если нет, то есть ли лучший подход к этой проблеме, который я должен рассмотреть вместо этого?

1 ответ

Решение

Я никогда не слышал о коммутаторе, который может переводить MAC-адрес. Однако большинство хороших управляемых коммутаторов позволяют вам делать запросы к таблице мостов через SNMP: dot1dBridge.dot1dTpFdbTable в стандартном Bridge MIB выглядит так, как нужно. Вам нужно будет преобразовать MAC-адрес в десятичный и добавить его к префиксу MIB, и он выдаст порт, на котором он его узнал. Есть некоторые хитрости, если вам нужно иметь дело с VLAN.

http://wiki.xdroop.com/space/snmp/Switching+Tables имеет пример.

Другие вопросы по тегам