Глава 41 : Коммутаторы (Свитчи)

« Предыдущая

   Сегодня, как и раньше, среду передачи данных технологии Ethernet продолжают обвинять в ненадежности и низкой степени стабильности. Во многом это не далеко от истины, ведь алгоритм CSMA/CD остается неизменным при любых типах программных решений. Чтобы ликвидировать часть указанных недочетов в 1990 году была разработана технология коммутации сегментов Ethernet, предложенная фирмой Kalpana. Спустя несколько лет данную компанию приобрела корпорация Cisco. В результате применения этой технологии разделяемая среда больше не разграничивалась маршрутизаторами и мостами - она была полностью ликвидирована.
   Такое изобретение не являлось принципиально логическим. Способ функционирования этой технологии основывался на труднодостижимом в то время принципе - одновременной обработке входящих кадров разными портами. Это означало то, что мосты обрабатывали кадр за кадром, последовательно. В результате коммутаторы Kalpana могли обрабатывать кадры между парой портов вне зависимости от других портов. Так идея отказа от разделяемой среды получила реальное воплощение.
   Сущим везением для технологии Ethernet можно считать то, что появление коммутаторов опередило внедрение технологии АТМ. Выражалось оно в том, что у пользователей появилась хорошая альтернатива, которая давала возможность повысить качество сети без существенных финансовых затрат. Для реализации этого преимущества достаточно было просто заменить концентраторы коммутаторами, или же, в некоторых случаях, внедрить коммутаторы с целью разделения сегментов растущей сети. Таким образом, большое число уже применяемого оборудования конечных узлов, концентраторов, кабельных систем и повторителей не подлежало замене. В итоге происходила значительная экономия финансов, делающая переход на какую-нибудь новую технологию нерентабельным.
   Маршрутизаторы не распознают протоколы сетевого уровня. Такой подход дал возможность не изменять главный принцип работы сетей между собой.
   Укажем так же, что на рост популярности коммутаторов оказала влияние легкость их установки и простата настройки. Данное устройство относится к категории "самообучающихся", что позволяет отказаться от его конфигурирования. Для его работы достаточно просто грамотно подключить кабельную систему к свитчу. Дальнейшее его функционирование может происходить без контроля со стороны администратора сети без потери в качестве выполнения поставленных задач.
   Как и ранее на сегодняшний день коммутаторы остаются самым универсальным, удобным и мощным классом оборудования для ЛВС. В одной из простейших своих вариаций устройство является многопортовым мостом Ethernet. Однако технический прогресс оставил свой отпечаток и на этом оборудовании - его свойства значительно изменились и дополнились. В результате главный принцип работы и назначение коммутаторов стало весьма сложно разглядеть среди этих дополнений.

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

   С технической точки зрения принцип работы коммутатора не очень сложен. Объяснить его можно следующим образом: входящий кадр сначала попадает в source port, а затем направляется destination port. При этом активный портом, принявшив кадр, будет только тот, к которому подсоединено  устройство с МАС-адресом, совпадающим с адресом назначения полученного кадра.
   Таким образом, первая задача, которую решает данная технология - это соответствие MAC-адресов портов коммутатора подключенным устройствам. Для этих целей коммутатор формирует специальную таблицу соответствия - САМ (content-addressable memory). Данная таблица появляется в течение процесса самообучения коммутатора. Принцип ее создания будет следующим: когда порт получает отзыв от устройства с физическим адресом Х, он заносит в content-addressable memory запись об этом соответствии.
   При поступлении кадра с адресом, указанном в такой таблице, он отправляется на соответствующий порт. Если кадр был предназначен для всех узлов или адрес пункта назначения коммутатору еще не известен, то такой кадр попадает на все активные порты. На протяжении рабочего периода подключенного оборудования его физический адрес может измениться. В таком случае коммутатор делает новую запись в таблице. В случае отсутствия места для новой записи происходи стирание самой старой записи - работает принцип вытеснения.
   Если какие-то из записей не используются длительное время, они автоматически стираются. Этот подход освобождает место в таблице САМ и, таким образом, увеличивается скорость выборки нужного адресата.
   Стоит заметить, что такой жесткий подход используется только в неуправляемых коммутаторах Dumb. Dumb - это простое и не дорогое сетевое оборудование. Такие коммутаторы практически полностью сместили хабы в несложных сетях. Обычно эти модели обладают средними техническими параметрами, имеют небольшое число портов, в них отсутствует возможность управления со стороны администратора.
   На порядок выше, в техническом плане, стоят настраиваемые коммутаторы - Smart. Данная модель дает возможность администратору сети изменять важные настройки работы порта. Для этих целей может использоваться микро-клавиатура, Ethernet или порт RS-232. Внесенные изменения считываются при загрузке и только один раз. Обычно изменение в конфигурации необходимо чтобы отключить возможность коммутатора самостоятельно составлять статическую таблицу соответствия портов МАС-адресам. Эту функцию применяют так же для установки фильтров, назначения скорости и других целей.
   Лидером по числу дополнительных возможностей среди коммутаторов является управляемые Intelligent. Эти модели обладают собственной памятью и управлять ими можно с помощью компьютера. Изменение параметров и контроль над этими устройствами происходит без перезагрузки. Данная модель позволяет отслеживать проходящие пакеты, измерять трафик и прочее.
   Здесь стоит указать на то, что последний рассмотренный вид коммутатора значительно дороже предыдущих, но принцип его работы тот же. К каждому из узлов подведен отдельный канал со своей полосой пропускания (но это только в том случае, если нет одновременного обращения нескольких устройств к данному). В таких условиях узлы имеют возможность функционировать не зависимо друг от друга. Опасность для сети, организованной с помощью этого оборудования, представляют "бродкастовые" штормы. "Бродкастовый" шторм - это лавинообразно растущая перегрузка сети широковещательными кадрами. Но и эта проблема вполне разрешима: управляемые коммутаторы позволяют разделить одну крупную сеть на несколько виртуальных подсетей. Кроме того, возникновение такого шторма возможно только в очень крупных компьютерных сетях.
   Теперь становится отчетливо видно, что основные свойства и ограничения разделяемой среды передачи данных Ethernet не могут быть применимы к сетям, организованным с помощью коммутаторов. Ведь в таких сетях нет коллизий, нет ограничений на количества подключенных устройств и максимальной длины линии.
   К примеру, на практике могут применяться линии из оптического волокна, протяженностью в сотни километров, по которым передаются кадры Ethernet. В тоже время локальные сети позволяют объединить тысячи работающих серверов или станций.

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

Чтобы процессор коммутатора определил порт назначения для кадра Ethernet, он должен иметь доступ к его заголовку. Эта информация попадает в буфер. На этом основании коммутаторы разделяют по способу продвижения кадра:
   1.    cut-through - на лету;
   2.    Store-and-Forward - с буферизаций.
   При первом способе коммутации (на лету) входящие кадры не направляются в быфер целиком. Помещение их в буфер целиком происходит только в ситуации, когда занята шина или порт, а так же если необходимо согласовать скорости передачи. В результате при больших размерах трафика основная часть данных будет подлежать буферизации в различной степени.
   Проще говоря, коммутатор "смотрит" только на адрес пункта назначения пакета в его заголовке, а затем сверяет его с САМ-таблицей. Далее, согласно таблице, он отправляет кадр в нужный порт. Сверка с таблицей занимает от 10 до 40 мкс. К числу обычных относится ситуация, когда кадр еще полностью не был передан на входящий порт, но его заголовок уже начал передаваться через выходящий.
   При втором методе - Store-and-Forward (полной буферизации) каждый кадр подлежит полной записи, и только после этого процессор порта передает его или отфильтровывает. Такой способ продвижения кадра имеет отрицательную сторону - время задержки достаточно велико. К положительным сторонам относятся поддержка разнородных сетей и уничтожение испорченного кадра. Основная масса современных коммутаторов работает именно по этому второму принципу.
   Существует ряд еще более сложных моделей, которые могут автоматически адаптироваться (изменять механизм работы). На то какой режим стоит применять в той или иной ситуации влияет ряд факторов, среди которых, например, объем трафика и масса испорченных кадров.
   Кроме описанной выше классификации коммутаторов их так же делят по виду внутренней логической архитектуры:
   1. коммутационная матрица;
   2. многовходовая разделяемая память;
   3. общая шина.

   Коммутационная матрица.

   Это был самый скоростной промышленный коммутатор. Принцип работы состоит в следующем: вначале процессор порта анализирует заголовок поступившего кадра, затем в этот заголовок добавляется номер порта назначения, который определяется согласно таблице коммутации. После этого кадр оказывался в двухмерной матрице логических переключателей. Управляли этими переключателями определенные биты из номера порта назначения.
   Сама коммутационная матрица устанавливала путь следования до нужного порта. Таким образом, если это было возможно, кадр попадал в нужный порт, последовательно пройдя через ряд переключателей.
   Если на момент поступления кадра нужный порт был занят, то он останавливался в буфере входного порта. Тем временем коммутационная матрица создавала новый путь, который ожидал процессор.
   Здесь нужно обратить внимание на одну особенность таких коммутаторов - этот вид коммутирует физические каналы. При таком подходе если возникает ситуация, когда на один и тот же порт попадают несколько кадров одновременно, то пройти переключатель матрицы они смогут только последовательно. Еще один недостаток таких коммутаторов - чем больше портов, тем выше сложность. Другими словами - такое решение плохо масштабируемо. В результате сейчас оно почти не применяется на практике.

Многовходовая разделяемая память.

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

Архитектура с общей шиной.

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

 


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

 

   Кроме скорости большое значение имеет сам способ передачи кадров по шине. Здесь очевидно то, что передавать кадр сразу полностью не эффективно. Связано это с тем, что во время данного процесса все остальные порты будут простаивать. Для ликвидации такого ограничения используется метод, схожий с АТМ. Суть его в следующем: сначала кадр разбивается на блоки, длиной в несколько десятков байт, а потом эти части передаются "почти" параллельно сразу нескольким портам.
   Другими словами этот подход использует метод временной коммутации частей кадров (ячеек, как в АТМ). Такие системы надежны и легко масштабируемы. Описанные преимущества обеспечили данной архитектуре лидирующие позиции на рынке подобных устройств.
   Следующий признак, согласно которому коммутаторы можно условно разделить на группы - это область применения:
   1.    настольные коммутаторы;
   2.    коммутаторы для рабочих групп
   3.    магистральные коммутаторы

   Настольные коммутаторы.
   Являются достойной альтернативой концентраторов 10/100Base-T. Основная область применения - небольшое количество пользователей. Чаще всего они не большого размера, обладают 8-16 портами и могут размещаться на столе или на стене здания. Управлять такими коммутаторами невозможно (из-за этого отсутствует ряд полезных возможностей), но они просты в обслуживании и установке.
   Из-за невысокой цены на порты (до 20$) коммутатор используется для решения большого спектра задач. Самыми популярными моделями настольных решений являются Surecom 808X и Compex 2208.

Коммутаторы для рабочих групп.
   Коммутаторы данного типа служат для объединения в единую сеть настольных коммутаторов (или концентраторов 10/100Base-T) с ее дальнейшим подключением к магистральной СПД. Чтобы выполнять данные функции разрабатывается специальная большая таблица маршрутизации, насчитывающая нескольких десятков тысяч MAC-адресов на коммутатор. Кроме того необходимы эффективные средства мониторинга трафика, фильтрации и построения виртуальных сетей. В таких системах обязательна возможность удаленного управления. Здесь так же распространен протокол SNMP.
   Эти коммутаторы обычно включают порты 1000baseT либо условия для создания транковых соединений. Порты 1000baseT служат для подключения серверов или соединения нескольких свитчей между собой. Так же используются встроенные модули для оптического волокна и прочие конвертеры физических сред.
   Цена такого решения составляет $30-100 за один порт 10/100baseT. Более дешевые модели это Surecom EP-716X и SVEC FD1310. Самые популярные и более дорогие модели это 3com 4400 и Cisco 2950.

Магистральные коммутаторы.
   Предназначены для объединения ЛВС в сети передачи данных. Чаще всего имеют модульное исполнение, сложную и мощную конструкцию. Обладают рядом дополнительных возможностей настройки, которая может включать маршрутизацию на III уровне по модели OSI. Так же эти коммутаторы могут содержать резервные источники питания, поддерживать приоритезацию и протоколы Spanning Tree, 802.1q.
  Цена на такие магистральные коммутаторы в расчете на один порт колеблется в пределах от 100$ до 1000$. Самым популярным оборудованием этого класса являются тяжелые коммутаторы серии Cisco Catalyst.