Рисунок 5 – Схема взаимодействия портов коммутатора
Обычно, проектируя сеть, с помощью коммутаторов соединяют несколько доменов коллизий локальной сети между собой. В реальной жизни в качестве доменов коллизий выступают, как правило, этажи здания, в котором создается сеть. Их обычно более 2-х, а в результате обеспечивается гораздо более эффективное управление трафиком, чем у прародителя коммутатора - моста. По меньшей мере, он может поддерживать резервные связи между узлами сети.
Благодаря тому, что коммутаторы могут управлять трафиком на основе протокола канального уровня (Уровня 2) модели OSI, он в состоянии контролировать МАС-адреса подключенных к нему устройств и даже обеспечивать трансляцию пакетов из стандарта в стандарт (например, Ethernet в FDDI и обратно). Особенно удачно результаты этой возможности представлены в коммутаторах Уровня 3, т.е. устройствах, возможности которых приближаются к возможностям маршрутизаторов.
Коммутатор позволяет пересылать пакеты между несколькими сегментами сети. Он является обучающимся устройством и действует по аналогичной технологии. В отличие от мостов, ряд коммутаторов не помещает все приходящие пакеты в буфер. Это происходит лишь тогда, когда надо согласовать скорости передачи, или адрес назначения не содержится в адресной таблице, или когда порт, куда должен быть направлен пакет, занят, а коммутирует пакеты “на лету”. Коммутатор лишь анализирует адрес назначения в заголовке пакета и, сверившись с адресной таблицей, тут же (время задержки около 30-40 микросекунд) направляет этот пакет в соответствующий порт. Таким образом, когда пакет еще целиком не прошел через входной порт, его заголовок уже передается через выходной. К сожалению, типичные коммутаторы работают по алгоритму “устаревания адресов”. Это означает, что, если по истечении определенного промежутка времени, не было обращений по этому адресу, то он удаляется из адресной таблицы.
Коммутаторы поддерживают при соединении друг с другом режим полного дуплекса. В таком режиме данные передаются и принимаются одновременно, что невозможно в обычных сетях Еthегnеt. При этом скорость передачи данных повышается в два раза, а при соединении нескольких коммутаторов можно добиться и большей пиковой производительности.
1.1.2 Основные функции и задачи коммутаторов
Коммутатор хранит в памяти таблицу, в которой указывается соответствие MAC-адреса узла порту коммутатора. При включении коммутатора эта таблица пуста, и он работает в режиме обучения. В этом режиме поступающие на какой-либо порт данные передаются на все остальные порты коммутатора. При этом коммутатор анализирует кадры и, определив MAC-адреc хоста-отправителя, заносит его в таблицу. Впоследствии, если на один из портов коммутатора поступит кадр, предназначенный для хоста, MAC-адрес которого уже есть в таблице, то этот кадр будет передан только через порт, указанный в таблице. Если MAC-адрес хоста-получателя еще не известен, то кадр будет продублирован на все интерфейсы. Со временем коммутатор строит полную таблицу для всех своих портов, и в результате трафик локализуется. Рассмотрим на примере процесс передачи пакета одного узла другому.
Коммутатор Ethernet поддерживает внутреннюю таблицу, связывающую порты с адресами (таблица 1) подключенных к ним устройств. Эту таблицу администратор сети может создать самостоятельно или задать ее автоматическое создание средствами коммутатора.
Таблица 1 – Таблица коммутации
MAC-адрес | Номер порта |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
Используя таблицу коммутации и содержащийся в пакете адрес получателя, коммутатор организует виртуальное соединение порта отправителя с портом получателя и передает пакет через это соединение. На рисунке 6 узел А посылает пакет узлу D. Найдя адрес получателя в своей внутренней таблице, коммутатор передает пакет в порт 4.
Рисунок 6 – Передача пакета
Виртуальное соединение между портами коммутатора сохраняется в течение передачи одного пакета, т.е. для каждого пакета виртуальное соединение организуется заново на основе содержащегося в этом пакете адреса получателя.
Поскольку пакет передается только в тот порт, к которому подключен адресат, остальные пользователи (в данном примере - B и C) не получат этот пакет. Таким образом, коммутаторы обеспечивают средства безопасности, недоступные для стандартных повторителей Ethernet.
Для построения коммутаторов с оптимальным соотношением цена/качество необходимо ввести ограничения на количество исполняемых функций, а в качестве основных решаемых коммутатором задач выбрать следующие:
- определение информационных потоков, для которых требуется идентифицировать порты, то есть задания для них набора отличительных признаков, на основании которых коммутаторы смогут направлять потоки на предназначенные для них порты;
- определение маршрутов для потоков путем однозначного задания последовательности транзитных узлов и их интерфейсов, через которые надо передавать данные, чтобы доставить их адресату;
- сообщение об идентифицированных портах узлам сети, то есть сопоставление данных, относящихся к потоку, определенным интерфейсам;
- распознавание потоков по признакам, заданным в таблице коммутации;
- задача мультиплексирования в виде образования из нескольких отдельных потоков общего агрегированного потока;
- задача демультиплексирования путём разделения суммарного агрегированного потока, поступающего на один интерфейс, на несколько составляющих потоков;
- обнаружение и корректная обработка коллизии при её возникновении, включающее прекращение передачи кадра, и после паузы случайной длительности повторение передачи кадра.
1.1.3 Технические характеристики коммутаторов
Основными характеристиками коммутатора, измеряющими его производительность, являются:
– скорость фильтрации (filtering);
– скорость маршрутизации (forwarding);
– пропускная способность (throughput);
– задержка передачи кадра.
Кроме того, существует несколько характеристик коммутатора, которые в наибольшей степени влияют на указанные характеристики производительности. К ним относятся:
- размер буфера (буферов) кадров;
- производительность внутренней шины;
- производительность процессора или процессоров;
- размер внутренней адресной таблицы.
Скорость фильтрации и скорость продвижения
Скорость фильтрации и продвижения кадров - это две основные характеристики производительности коммутатора. Эти характеристики являются интегральными показателями, они не зависят от того, каким образом технически реализован коммутатор.
Скорость фильтрации определяет скорость, с которой коммутатор выполняет следующие этапы обработки кадров:
- прием кадра в свой буфер;
- просмотр адресной таблицы с целью нахождения порта для адреса назначения кадра;
- уничтожение кадра, так как его порт назначения совпадает с портом-источником.
Скорость продвиженияопределяет скорость, с которой коммутатор выполняет следующие этапы обработки кадров:
- прием кадра в свой буфер;
- просмотр адресной таблицы с целью нахождения порта для адреса назначения кадра;
- передача кадра в сеть через найденный по адресной таблице порт назначения.
Как скорость фильтрации, так и скорость продвижения измеряются обычно в кадрах в секунду. Если в характеристиках коммутатора не уточняется, для какого протокола и для какого размера кадра приведены значения скоростей фильтрации и продвижения, то по умолчанию считается, что эти показатели даются для протокола Ethernet и кадров минимального размера, то есть кадров длиной 64 байта (без преамбулы), с полем данных в 46 байт. Если скорости указаны для какого-либо определенного протокола, например, Token Ring или FDDI, то они также даны для кадров минимальной длины этого протокола (например, кадров длины 29 байт для протокола FDDI). Применение в качестве основного показателя скорости работы коммутатора кадров минимальной длины объясняется тем, что такие кадры всегда создают для коммутатора наиболее тяжелый режим работы по сравнению с кадрами другого формата при равной пропускной способности переносимых пользовательских данных. Поэтому при проведении тестирования коммутатора режим передачи кадров минимальной длины используется как наиболее сложный тест, который должен проверить способность коммутатора работать при наихудшем сочетании для него параметров трафика. Кроме того, для пакетов минимальной длины скорость фильтрации и продвижения имеют максимальное значение, что имеет немаловажное значение при рекламе коммутатора.
Пропускная способность
Пропускная способность коммутатораизмеряется количеством переданных в единицу времени через его порты пользовательских данных. Так как коммутатор работает на канальном уровне, то для него пользовательскими данными являются те данные, которые переносятся в поле данных кадров протоколов канального уровня - Ethernet, Token Ring, FDDI и т.п. Максимальное значение пропускной способности коммутатора всегда достигается на кадрах максимальной длины, так как при этом и доля накладных расходов на служебную информацию кадра гораздо ниже, чем для кадров минимальной длины, и время выполнения коммутатором операций по обработке кадра, приходящееся на один байт пользовательской информации, существенно меньше.