logo
Инф сети - Конспект лекций

Архитектура коммутаторов

Существует 3 варианта архитектуры коммутаторов:

Часто эти три способа взаимодействия комбинируются в одном коммутаторе.

Коммутаторы на основе коммутационной матрицы

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

Каждый порт коммутатора обслуживается одним процессором пакетов ASIC. Кроме того, коммутатор имеет системный модуль, который координирует работу всех процессоров, ведет общую адресную таблицу коммутатора и обеспечивает управление коммутатором по протоколу SNMP. Для передачи кадров между портами используется коммутационная матрица.

Типовая структура коммутатора на основе коммутационной матрицы.

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

После нахождения адреса процессор порта решает, что нужно сделать с кадром. Если кадр нужно отфильтровать, он прекращает запись кадра и очищает буфер.

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

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

Достоинством коммутаторов на основе коммутационной матрицы является низкая стоимость. Недостатком является блокировка коммутатора при невозможности установить соединение с выходным портом (блокируемый коммутатор). Особенно неэффективно происходит трансляция между высокоскоростными и низкоскоростными портами.

Коммутаторы с разделяемой памятью

Коммутаторы с разделяемой памятью (shared memory switch) имеют общий входной буфер для всех портов. В качестве общего буфера используется двухвходовая разделяемая память. Этот тип памяти позволяет одновременно помещать и делать выборку кадров при коммутации.

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

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

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

Коммутаторы с общей шиной.

Коммутаторы с общей шиной (backplane) используют для связи процессоров портов высокоскоростную шину, используемую в режиме разделения времени. На рисунке 6 показана блок-схема коммутатора с высокоскоростной шиной, связывающей контроллеры ASIC. После того, как данные преобразуются в приемлемый для передачи по шине формат, они помещаются на шину и далее передаются в порт назначения.

Для того чтобы шина не была узким местом коммутатора, ее производительность должна быть, по крайней мере, в раз выше скорости поступления данных во входные блоки процессоров портов (где N – количество портов, Cpi – максимальная производительность протокола, поддерживаемого i-м портом коммутатора). Кроме этого, кадр должен передаваться по шине небольшими частями, по несколько байт, чтобы передача кадров между несколькими портами происходила в псевдопараллельном режиме, не внося задержек в передачу кадра в целом. Размер такой ячейки данных определяется производителем коммутатора. Поскольку шина может обеспечивать одновременную передачу потока данных от всех портов, такие коммутаторы часто называют «неблокируемыми» (non-blocking), т.е. они не создают пробок на пути передачи данных.