Стратегия принудительного обновления таблицы кулачков с нестандартного оборудования

У меня есть система, которая состоит из управляющего ПК, двух слоев коммутаторов и 50 пользовательских устройств. ПК непрерывно передает потокам 5,8 МБ / с (6000 кадров Ethernet / с) на устройства.

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

Моя теория относительно того, почему это происходит: ПК настроен со статической таблицей ARP. Устройства отправляют данные только в ответ на эхо-запросы ICMP или запросы ARP. Поскольку мы не проверяем устройства во время нормальной работы, а таблица ARP на компьютере является статической (и, следовательно, запросы ARP не выполняются), устройства никогда не отправляют никаких данных, а коммутаторы никогда не узнают их MAC-адреса.

Вопрос 1: Является ли этот анализ правильным?

Я должен решить эту проблему. Есть четыре варианта:

  1. Вручную настройте кулачковые таблицы во всех коммутаторах.
  2. Обновляйте прошивку устройства, чтобы периодически что-то отправлять, обновляя таким образом таблицы кулачков переключателей.
  3. Управляющий ПК должен периодически пинговать устройства, вызывая реакцию устройств, что приводит к переключению обновлений.
  4. Из комментариев: Включите динамический ARP на управляющем ПК, настройте ttl, чтобы он был меньше, чем у записей коммутатора.

Итак, вопрос 2: является ли вариант 1 абсолютно правильным способом сделать это?

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

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

Поэтому я преследую вариант 2 прямо сейчас. Я решил изменить прошивку на каждом устройстве, чтобы отправлять произвольные запросы ARP с широковещательным MAC-адресом примерно каждые 30 секунд. Я выбрал ARP, потому что концептуально он кажется наиболее подходящим, хотя я также мог бы отправлять, например, пустые кадры Ethernet. Я выбрал пункт назначения широковещательной рассылки в надежде, что пакет пройдет через коммутаторы L2, достигнет коммутаторов L1 и заставит их также обновить свои таблицы.

Вопрос 3: Хотя это может быть не самый правильный вариант, будет ли он работать? Будет ли отправка бесплатных ARP-запросов периодически со всех 50 устройств вызывать неожиданные побочные эффекты? Я не знаю, что такое ttl записей таблицы кулачков коммутатора, я выбрал 30 секунд.

Вопрос 4: Есть ли другой вариант, который я не рассматриваю?

1 ответ

Решение

Проблема: Ethernet-коммутаторы наводняют пакеты на всех портах из-за бесполезных таблиц MAC, и этот трафик вызывает проблемы для некоторых устройств.

Решение: Как вы уже подумали: генерируйте некоторый трафик для построения таблиц MAC. Один из способов - заставить программу мониторинга сети проверять связь с каждым устройством. Это позволит создать таблицы MAC-адресов и позволит вам проверить, не выпадают ли некоторые устройства из сети.

Примечание: удален неправильный ответ из-за отвлечения внимания на ARP

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