Большинство людей считают, что сетевой коммутатор — это просто чёрный ящик с мигающими лампочками, когда данные перемещаются. Это не так. Способ, которым коммутатор фактически обрабатывает эти данные, полностью зависит от его внутренней аппаратной конструкции. Вы не увидите этой разницы снаружи. Она имеет значение только тогда, когда ваша сеть должна перемещать огромные объёмы трафика без потери пакетов.
Существует три основных способа построения этих устройств. Каждый из них по-своему обрабатывает трафик, поступающий на порты и исходящий из них. Понимание этих принципов помогает разобраться, почему один коммутатор работает быстро, а другой «задыхается» под нагрузкой.
Коммутация с разделяемой памятью
Это самая простая для понимания архитектура. Представьте себе почтовое отделение с одной зоной сортировки.
В коммутаторе с разделяемой памятью каждый пакет, поступающий на любой порт, немедленно копируется в общий буфер памяти. Все порты делят этот единый пул хранилища. Коммутатор считывает адрес назначения в пакете, а затем маршрутизирует его к правильному выходному порту из этого общего пула.
Это эффективно, потому что память используется совместно. Если один порт занят, а другой свободен, память всё равно может быть использована. Но есть нюанс. Если входящий трафик превышает ёмкость памяти, возникает перегрузка. Каждый порт борется за одно и то же пространство. Эта архитектура распространена в небольших или средних коммутаторах, где стоимость важнее, чем экстремальная пропускная способность.
Ключевой вывод: разделяемая память использует один буфер для всех портов. Это экономично, но может стать узким местом, если слишком много портов отправляют данные одновременно.
Матричная коммутация
Матричные коммутаторы работают по-другому. Вместо общего пула они используют внутреннюю сетку.
Представьте себе перекрёсток. Входные порты идут вертикально. Выходные порты идут горизонтально. В местах их пересечения находятся точки соединения. Когда пакет поступает, коммутатор проверяет MAC-адрес по своей таблице поиска. Он находит правильный выходной порт, а затем замыкает конкретную цепь в сетке там, где пересекаются линии входа и выхода.
Это создаёт выделенный путь для этого конкретного потока данных. Это похоже на наличие частного туннеля для этого пакета. Несколько передач могут происходить одновременно, если они не сталкиваются в сетке. Эта архитектура поддерживает более высокие скорости и меньшую задержку, поскольку соединение прямое.
Однако создание матрицы быстро становится дорогим. По мере добавления портов количество точек пересечения растёт экспоненциально. Физическое оборудование, необходимое для управления всеми этими соединениями, становится сложным и дорогостоящим. Вы в основном встретите это в высококлассном корпоративном оборудовании, где производительность является незыблемым требованием.
Коммутаторы с шиной
Архитектура с шиной — это исключение. Она не использует сетку или пул разделяемой памяти в традиционном смысле.
Здесь все порты делят общий внутренний путь передачи, известный как шина. Доступ к этой шине контролируется с использованием множественного доступа с разделением времени (TDMA). Представьте себе однополосное шоссе со строгими светофорами. На дороге может находиться только одна машина за раз.
Каждый порт всё ещё имеет свой собственный выделенный буфер памяти. ASIC (специализированная интегральная схема для приложений) выполняет основную работу по контролю того, кто и когда получает доступ к шине. Пакет находится в буфере своего порта, пока ASIC не предоставит доступ к общей шине. Попав на шину, он перемещается в буфер порта назначения.
Эта конструкция устарела. Она менее распространена в современных высокоскоростных сетях, потому что шина становится узким местом. Только одна передача может происходить в




























