В типичных сценариях сетевой коммутатор должен обрабатывать широковещательные, многоадресные и одноадресные сообщения одновременно.
Я бы хотел понять
На типичном управляемом коммутаторе (1 Гбит Ethernet / 10 Гбит Ethernet),
а) как по-разному обрабатываются широковещательные / многоадресные / одноадресные сообщения?
б) какова пропускная способность и задержка обработки широковещательных / многоадресных / одноадресных сообщений?
в) как загрузка разных типов сообщений влияет друг на друга?
d) Почему переключение с широковещательной рассылки на многоадресную передачу (или, вероятно, если все сделано правильно) снизит нагрузку на коммутатор?
Это сильно зависит от архитектуры конкретного рассматриваемого коммутатора. Широкий диапазон цен на 48-портовый «управляемый коммутатор» (например, от 300 до 10 000 долларов) должен говорить вам, что внутри происходит что-то принципиально иное. Если вы не слишком много заплатили за свой коммутатор (а я надеюсь, что вы не платили), вполне вероятно, что многоадресная рассылка (и другие «корпоративные» функции) выгружаются на программное обеспечение (если они вообще поддерживаются).
Базовая одноадресная пересылка стала довольно недорогой в аппаратном обеспечении, поэтому я ожидаю, что любой современный коммутатор Ethernet будет достаточно хорошо работать при базовой одноадресной пересылке при небольших нагрузках.
Когда вы начинаете добавлять дополнительные функции к оборудованию, стоимость значительно возрастает. Например, пересылка одноадресных кадров сильно отличается от репликации пакетов на основе динамического состояния многоадресной рассылки. Это обе очень специализированные задачи. Для того, чтобы хорошо работать, требуется определенное оборудование. У большинства пользователей коммутаторов начального уровня нет огромных потребностей в многоадресной передаче. Плата за оборудование для многоадресной рассылки для этих пользователей - пустая трата.
Но в большинстве сетей используется маленький многоадресная рассылка. Следовательно, производители часто используют многоадресную рассылку и другие менее часто используемые функции в программном обеспечении. Например, оборудованию одноадресной пересылки будет сказано пересылать что-либо с MAC-адресом многоадресной рассылки на внутренний порт, где они принимаются подсистемой ЦП (или, по крайней мере, каким-либо микроконтроллером). Затем программный процесс может просмотреть кадр, обратиться к таблице многоадресной пересылки, реплицировать кадр и передать несколько копий обратно на оборудование, по одной на порт для пересылки. Очевидно, что на этом этапе в программное обеспечение можно добавить множество функций без значительного влияния на стоимость коммутатора.
В такой системе производительность никогда не будет близка к той, которая есть при одноадресной передаче. Очевидно, что производительность ЦП окажет некоторое влияние, но если вы отправляете такой объем «исключительного» трафика, который не может быть перенаправлен на аппаратном уровне, ты делаешь это неправильно. Вам нужно купить другой переключатель.
В худшем случае действительно низкопроизводительный коммутатор не будет иметь никакой защиты ресурсов, поэтому тот же ЦП, который забивается многоадресным трафиком, забудет, что он также отвечает за обслуживание и питание всего остального в коммутаторе. Если ЦП слишком занят репликацией многоадресного трафика, чтобы аппаратно обновлять одноадресные таблицы (или что-то еще, что должен делать ЦП), у вас будут всевозможные проблемы.