Как управляемые коммутаторы обрабатывают широковещательную и многоадресную рассылку?

8

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

Я бы хотел понять

На типичном управляемом коммутаторе (1Gb Ethernet / 10Gb Ethernet),

а) как по-разному обрабатываются широковещательные / многоадресные сообщения?

б) какова пропускная способность и задержка обработки широковещательных / многоадресных / одноадресных сообщений?

в) как нагрузка разных типов сообщений влияет друг на друга?

d) Почему переключение с широковещательной на многоадресную передачу (или вероятно, если все сделано правильно) уменьшит нагрузку на коммутатор?

Энтони С.
источник

Ответы:

5

Это сильно зависит от архитектуры конкретного коммутатора, о котором идет речь. Широкий ценовой диапазон для 48-портового «управляемого коммутатора» (например, от 300 до 10 000 долларов) должен сказать вам, что внутри происходит нечто принципиально иное. Если вы не заплатили слишком много за свой коммутатор (и я надеюсь, что вы этого не сделали), вполне вероятно, что многоадресная передача (и другие «корпоративные» функции) выгружаются в программное обеспечение (если они вообще поддерживаются).

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

Когда вы начинаете добавлять больше функций к оборудованию, стоимость значительно возрастает. Например, пересылка одноадресных кадров сильно отличается от выполнения репликации пакетов на основе динамического многоадресного состояния. Это очень специализированные задачи. Требуется определенное количество оборудования, чтобы сделать что-то одно хорошо. Большинство пользователей низкоуровневых коммутаторов не имеют огромных многоадресных потребностей. Оплата оборудования, предназначенного для многоадресной рассылки, является пустой тратой для этих пользователей.

Но большинство сетей используют небольшую многоадресную рассылку. Следовательно, производители часто используют многоадресные и другие, менее часто используемые функции в программном обеспечении. Например, аппаратуре одноадресной пересылки будет предписано пересылать что-либо с MAC-адресом многоадресной рассылки на внутренний порт, где они принимаются подсистемой ЦП (или, по крайней мере, микроконтроллером какого-либо рода). Затем программный процесс может просматривать кадр, просматривать таблицу многоадресной пересылки, реплицировать кадр и передавать несколько копий обратно на аппаратное обеспечение, по одному на порт для пересылки. Очевидно, что в этот момент в программном обеспечении может быть добавлено множество функций без существенного влияния на стоимость коммутатора.

В такой системе производительность никогда не будет близка к одноадресной. Производительность процессора, очевидно, будет иметь некоторое влияние, но если вы отправляете столько «исключительного» трафика, который не может быть перенаправлен аппаратно, вы делаете это неправильно . Вам нужно купить другой выключатель.

В худшем случае действительно низкоуровневый коммутатор не будет иметь никакой защиты ресурсов, поэтому тот же процессор, который перегружен многоадресным трафиком, забудет, что он также отвечает за обслуживание и передачу всего остального в коммутаторе. Если ЦП слишком занят репликацией многоадресного трафика для обновления аппаратных таблиц одноадресной рассылки (или чего-либо еще, что ЦП должен делать), у вас возникнут всевозможные проблемы.

Пожиратель
источник
2
  1. Так же, как неуправляемые коммутаторы; возможно с добавленной сложностью vLAN и подобным.
  2. Это зависит от реализации, но, как правило, нет никакой разницы. Пакетные бури могут вызвать задержку, но это не относится конкретно к типу пакета.
  3. То же, что # 2: Реализация специфическая и, как правило, без разницы
  4. «Нагрузка» не является четко определенным термином, я думаю, вы имеете в виду использование порта. Многоадресная рассылка направляется только на те порты, которые подписаны на группу, где широковещательная рассылка отправляется на каждый порт (при этом все еще возникают дополнительные сложности, такие как виртуальные локальные сети).
Крис С
источник
Спасибо Крис, я вижу приложение, вызывающее широковещательный шторм, вызванный большим количеством широковещательных сообщений. После некоторых исследований я обнаружил, что широковещательные и многоадресные сообщения обрабатываются программным уровнем, а не аппаратным обеспечением, высокая загрузка ЦП вызывает падение пакетов. Вот почему я хотел бы знать, как коммутатор (управляемый / неуправляемый) обрабатывает каждый из типов сообщений.
Энтони С.
Я имею в виду загрузку процессора на коммутаторе.
Энтони С.
Там нет процессора на типичном коммутаторе. Существуют коммутирующие процессоры, некоторые управляемые коммутаторы имеют выделенный процессор управления, но в большинстве своем он интегрирован.
Крис С