1.2.5. Коммутаторы
Коммутатор (switch [свич]), коммутирующий концентратор) — это многопортовое устройство, которое, так же как и мост, позволяет объединить несколько отдельных сегментов в одну сеть.
Коммутаторы появились в ответ на растущие потребности в повышении пропускной способности связей высокопроизводительных серверов с сегментами рабочих станций. В отличие от мостов, коммутаторы позволяют осуществлять не последовательную, а параллельную обработку кадров, продвигая кадры сразу между всеми парами своих портов, что существенно увеличивает их производительность и пропускную способность.
Работа коммутатора может быть основана на использовании:
коммутационной матрицы;
общей шины;
разделяемой памяти.
Коммутационная матрица обеспечивает передачу кадров между портами и работает по принципу коммутации каналов.
При получении кадра на какой-либо из портов несколько первых байтов кадра, содержащих адрес назначения, помещаются в буфер коммутатора для анализа. Получив адрес назначения, коммутатор, не дожидаясь получения оставшихся байтов кадра, решает, передавать ли кадр. Если в этом нет необходимости, то запись кадра в буфер прекращается и происходит очистка буфера. Если коммутатор решил передавать кадр, то он просматривает адресную таблицу, чтобы определить нужный порт-получатель, после этого обращается к коммутационной матрице для установки соединения с этим портом. После установки соединения начинается передача кадра.
Если нужный порт занят другим соединением, то полученный кадр записывается в буфер, где ожидает, пока можно будет установить требуемое соединение.
В случае коммутаторов с обшей шиной порты связывает высокоскоростная шипа, по которой и передаются кадры.
Передача происходит небольшими порциями, чтобы не забивать шину передачами только с одного порта, заставляя остальные порты находиться в очереди на передачу в течение неопределенного времени.
Использование для связи портов коммутатора разделяемой памяти основано на особой организации памяти коммутатора, где образовано несколько очередей данных для каждого из портов. При этом память поочередно соединяется с буферами портов для записи или чтения. Поступающие кадры записываются в буфер порта, откуда попадают в разделяемую память. Когда память соединиться с буфером порта назначения, тот считывает данные и пересылает их в сеть.