Глава 10 | «« Назад |  Оглавление |  Вперед »»

Коммутаторы (Свитчи).

Разделяемая среда передачи данных Ethernet была и остается причиной обвинений этой технологии в недостаточной стабильности и надежности. Отчасти это действительно так - алгоритм CSMA/CD не обманешь никакими программными решениями. И для преодоления этих недостатков фирма Kalpana (впоследствии купленная Cisco) в 1990 предложила технологию коммутации сегментов Ethernet. Таким образом, разделяемая среда (домен коллизий) не ограничивалась (с помощью мостов или маршрутизаторов), а полностью исчезала.

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

Технологии Ethernet очень повезло, что коммутаторы появились раньше, чем начала применяться технология АТМ. У пользователей вовремя оказалась в наличии достойная альтернатива, позволяющая получить существенный рост качества сети с небольшими затратами. Для этого требовалось лишь заменить концентраторы на коммутаторы, или просто добавить последние в растущую сеть для разделения сегментов. Огромное количество уже установленного оборудования конечных узлов, кабельных систем, повторителей и концентраторов сохранялось, что давало колоссальную экономию по сравнению с переходом на какую-либо новую технологию (например, АТМ).

Коммутаторы (подобно мостам) прозрачны для протоколов сетевого уровня, маршрутизаторы их "не видят". Это позволило не менять основную схему работы сетей между собой.

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

В общем, сегодня можно с полной уверенностью сказать, что коммутаторы - это самый мощный, универсальный, удобный для ЛВС класс оборудования. В простейшем случае (как было показано выше) это многопортовый мост Ethernet. Но развитие технологии внесло так много изменений в их свойства, что подчас основной принцип работы тяжело увидеть за нагромождением полезнейших технических возможностей.

Техническая реализация коммутаторов.

Техническая основа работы коммутатора достаточно проста, и может быть выражена одним длинным предложением. Кадр, которые попадает на его вход (source port), направляется не на все активные порты (как это делает концентратор), а только на тот, к которому подключено устройство с МАС-адресом, совпадающим с адресом назначения кадра (destination port).

Соответственно, первый вопрос, который приходится решать - соответствие портов коммутатора подключенным устройствам (вернее, их MAC-адресам). Для работы используется специальная таблица соответствия (content-addressable memory, САМ), которую коммутатор формирует в процессе "самообучения" по следующему принципу: стоит порту получить ответ от устройства с физическим адресом Х, как в CAM таблице появляется соответствующая строчка соответствия.

Кадры с адресом назначения (source address, SA), имеющимся в таблице, направляются на соответствующий порт. При этом кадр, предназначенный всем узлам, или имеющий неизвестный коммутатору адрес назначения (destination address, DA), направляется на все активные порты. В процессе работы физические адреса подключенного оборудования могут меняться. При этом в таблице появляется новая запись. Если в ней отсутствует свободное место, стирается самая старая запись (принцип вытеснения).

Так как скорость выборки нужного адреса напрямую зависит от размера САМ таблицы, неиспользованные в течении продолжительного промежутка времени записи автоматически удаляются.

Однако такой упрощенный алгоритм жестко (без изменений) действует только в неуправляемых коммутаторах (Dumb). Это недорогие, простые устройства, которые успешно вытесняют хабы из ниши простейших сетей. Как правило они имеют небольшое количество портов, "офисное" исполнение, и не высокие технические характеристики. Возможность управления администратором отсутствует.

Следующей ступенью развития стали настраиваемые коммутаторы (Smart). В них, используя порт RS-232, обычный Ethernet, или даже простейшую микро-клавиатуру, администратор может менять многие важные конфигурационные параметры, которые считываются затем только один раз (при загрузке). Например, таким образом можно блокировать механизм "самообучения" (составлять статическую таблицу соответствия портов МАС-адресам), устанавливать фильтрацию, виртуальные сети, задавать скорость и многое другое.

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

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

Соответственно, базовые свойства (и ограничения) Ethernet (как разделяемой среды передачи данных) не применимы к сети, построенной с использованием коммутаторов. Коллизии отсутствуют, нет физического обоснования понятия максимальной длины линии, и максимального количества подключенных устройств.

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

Классификация коммутаторов.

Для определения порта (или портов) назначения, процессору коммутатора необходимо для анализа иметь доступ к заголовку кадра Ethernet. Соответственно, эти данные нужно принять в буфер. Отсюда вытекает различие коммутаторов по способу продвижения кадра:

  • на лету (cut-through);
  • с буферизаций (Store-and-Forward).

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

Иначе говоря, коммутатор лишь анализирует адрес назначения в заголовке пакета, и в соответствии с САМ-таблицей (время задержки от 10-40 мкс) направляет кадр в соответствующий порт. Штатной является ситуация, когда кадр еще целиком не поступил на входной порт, а его заголовок уже передается через выходной.

При методе полной буферизации (Store-and-Forward) кадр записывается целиком, а лишь затем процессор порта принимает решение о передаче (или фильтрации). Такой путь имеет некоторые недостатки (большое время задержки), и существенные достоинства, например, уничтожение испорченного кадра, поддержка разнородных сетей. Большая часть современных коммутаторов поддерживает именно такой режим работы.

Наиболее сложные и дорогие модели имеют возможность автоматической смены механизма работы коммутатора (адаптацию). В зависимости от объема трафика, количества испорченных кадров, и некоторых других параметров может быть использован один из описанных режимов.

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

  • коммутационная матрица;
  • многовходвая разделяемая память;
  • общая шина.

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

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

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

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

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

Входные блоки передают менеджеру запросы на запись данных (части кадров) в очередь нужного исходящего порта.

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

Архитектура с общей шиной. Название говорит само за себя - для связи процессоров портов используется одна шина. Для сохранения высокой производительности ее скорость должна быть по крайней мере в C/2 (где C - сумма скоростей всех портов) раз больше, чем скорость поступления данных в порт коммутатора.

Схема типичного варианта применения моста.

Рис. 10.5. Коммутация с использованием общей шины

Кроме этого, много зависит от способа передачи данных по шине. Понятно, что кадр целиком передавать нежелательно, так как в это время остальные порты будут простаивать. Что бы обойти это ограничение, обычно применяют метод, сильно похожий на АТМ. Данные разбиваются на небольшие блоки (по несколько десятков байт), и передаются "почти" параллельно сразу между несколькими портами.

Таким образом, эта архитектура реализует метод временной коммутации… частей кадров (можно назвать их по аналогии с АТМ ячейками). Решение легко масштабируется, достаточно просто, надежно, и в настоящий момент безусловно доминирует на рынке.

Еще один признак, по которому можно классифицировать коммутаторы - это область применения. С некоторой долей условности, можно выделить:

  • настольные коммутаторы;
  • коммутаторы для рабочих групп.
  • магистральные коммутаторы;

Настольные коммутаторы. Предназначены для работы с небольшим числом пользователей, и могут служить хорошей заменой концентраторов 10/100Base-T. Обычно имеют 8-16 портов, небольшие габариты, настольное или "настенное" исполнение. Такие коммутаторы, как правило, не имеют возможности управления, поэтому просты в установке и обслуживании (хотя ценой отказа он некоторых полезных возможностей).

Стоимость на один порт составляет обычно менее $15-20, что обеспечивает их широкое применение самого широкого круга задач. Наиболее типичным образцом недорогих настольных моделей можно считать Surecom 808X или Compex 2208.

Коммутаторы для рабочих групп. Используются главным образом для объединения в единую сеть настольных коммутаторов или концентраторов 10/100Base-T, и ее соединения с магистральной СПД. Для этого используется объемная таблица маршрутизации (до нескольких десятков тысяч MAC-адресов на коммутатор), развитые средства фильтрации, построения виртуальных сетей, мониторинга трафика. Обязательно присутствует возможность управления (обычно удаленного), распространен протокол SNMP.

Такие коммутаторы часто имеют порты 1000baseT (или возможность создания транковых соединений) для подключения серверов, или нескольких свитчей между собой. Дополнительно могут применяться встроенные оптоволоконные модули, или другие конвертеры физических сред.

Стоимость колеблется в диапазоне $30-100 за порт 10/100baseT. К нижнему порогу этой группу можно отнести Surecom EP-716X, SVEC FD1310, а к верхнему такие популярные на сегодня модели, как 3com 4400 или Cisco 2950.

Магистральные коммутаторы. Служат для соединения ЛВС в сетей передачи данных. Обычно это сложные и мощные конструкции, часто модульные. Имеют массу дополнительных возможностей настройки (вплоть до маршрутизации на III уровне по модели OSI), резервные источники питания, горячую замена модулей, обязательную поддержку приоритезации, протокола Spanning Tree, 802.1q, и других функций.

Стоимость магистральных коммутаторов в расчете на один порт составляет $100 - $1000. Наиболее подходящим примером оборудования данного класса могут служить тяжелые коммутаторы серии Cisco Catalyst.

Глава 10 | «« Назад |  Оглавление |  Вперед »»