Коммутаторы занимают центральное место в современных локальных сетях.
Коммутация - одна из самых популярных современных технологий. Коммутаторы вытесняют мосты и маршрутизаторы на периферию локальных сетей, оставляя за ними роль организации связи через глобальную сеть. Такая популярность коммутаторов обусловлена в первую очередь тем, что они позволяют за счет микросегментации повысить производительность сети по сравнению с разделяемыми сетями с той же номинальной пропускной способностью. Помимо разделения сети на мелкие сегменты, коммутаторы дают возможность организовать подключенные устройства в логические сети и легко перегруппировывать их, когда это необходимо; иными словами, они позволяют создавать виртуальные сети.
Что же такое коммутатор? Согласно определению IDC, "коммутатор - это устройство, конструктивно выполненное в виде концентратора и действующее как высокоскоростной многопортовый мост; встроенный механизм коммутации позволяет осуществлять сегментирование локальной сети и выделять полосу пропускания конечным станциям в сети" (см. статью М. Кульгина "Построить сеть, посадить дерево..." в февральском номере LAN). Однако это определение относится в первую очередь к коммутаторам кадров.
ТИПЫ КОММУТАЦИИ
Под коммутацией обычно понимают четыре различные технологии - конфигурационную коммутацию, коммутацию кадров, коммутацию ячеек и преобразование между кадрами и ячейками.
Конфигурационная коммутация известна также как коммутация портов, при этом конкретный порт на модуле интеллектуального концентратора приписывается к одному из внутренних сегментов Ethernet (или Token Ring). Это назначение производится удаленным образом посредством программного управления сетью при подключении или перемещении пользователей и ресурсов в сети. В отличие от других технологий коммутации, этот метод не повышает производительности разделяемой локальной сети.
Коммутация кадров, или коммутация в локальной сети, использует стандартные форматы кадров Ethernet (или Token Ring). Каждый кадр обрабатывается ближайшим коммутатором и передается далее по сети непосредственно получателю. В результате сеть превращается как бы в совокупность параллельно работающих высокоскоростных прямых каналов. То, как осуществляется коммутация кадров внутри коммутатора, мы рассмотрим ниже на примере коммутирующего концентратора.
Коммутация ячеек применяется в ATM. Использование небольших ячеек фиксированной длины дает возможность создать недорогие высокоскоростные коммутирующие структуры на аппаратном уровне. И коммутаторы кадров, и коммутаторы ячеек могут поддерживать несколько независимых рабочих групп вне зависимости от их физического подключения (см. раздел "Построение виртуальных сетей").
Преобразование между кадрами и ячейками позволяет, например, станции с платой Ethernet непосредственно взаимодействовать с устройствами в сети ATM. Эта технология применяется при эмуляции локальной сети.
В данном уроке нас будет прежде всего интересовать коммутация кадров.
КОММУТИРУЮЩИЕ КОНЦЕНТРАТОРЫ
Первый коммутирующий концентратор под названием EtherSwictch был представлен компанией Kalpana. Этот концентратор позволял снизить конкуренцию в сети за счет сокращения числа узлов в логическом сегменте с помощью технологии микросегментации. По существу, число станций в одном сегменте сокращалось до двух: станция, инициирующая запрос, и станция, отвечающая на запрос. Никакая другая станция не видит передаваемую между ними информацию. Пакеты передаются как бы через мост, но без свойственной мосту задержки.
В коммутируемой сети Ethernet каждому члену группы из нескольких пользователей может быть одновременно гарантирована пропускная способность 10 Мбит/с. Понять, как такой концентратор работает, лучше всего помогает аналогия с обычным старым телефонным коммутатором, в котором участников диалога соединяет коаксиальный кабель. Когда абонент звонил по "вечному" 07 и просил соединить его с таким-то номером, оператор прежде всего проверял, доступна ли линия; если да, то он соединял участников непосредственно с помощью куска кабеля. Никто другой (за исключением спецслужб, разумеется) не мог слышать их разговор. После завершения разговора оператор отсоединял кабель от обоих портов и ждал следующего вызова.
Коммутирующие концентраторы действуют аналогичным образом (см. Рисунок 1): они передают пакеты со входного порта на выходной порт через коммутирующую матрицу. Когда пакет попадает на входной порт, коммутатор читает его MAC-адрес (т. е. адрес второго уровня), и он немедленно перенаправляется на порт, связанный с этим адресом. Если порт занят, то пакет помещается в очередь. По существу, очередь представляет собой буфер на входном порту, где пакеты ждут, когда нужный порт освободится. Однако методы буферизации несколько отличаются.
(1x1)
Рисунок 1.
Коммутирующие концентраторы функционируют аналогично прежним телефонным
коммутаторам: они соединяют входной порт непосредственно с выходным через
коммутирующую матрицу.
МЕТОДЫ ОБРАБОТКИ ПАКЕТОВ
При сквозной коммутации (называемой также коммутацией на лету и коммутацией без промежуточной буферизации) коммутатор считывает только адрес поступающего пакета. Пакет передается далее вне зависимости от отсутствия или наличия в нем ошибок. Это позволяет значительно сократить время обработки пакета, так как читаются только несколько первых байт. Поэтому определять дефектные пакеты и запрашивать их повторную передачу должна принимающая сторона. Однако современные кабельные системы достаточно надежны, так что необходимость в повторной передаче во многих сетях минимальна. Тем не менее никто не застрахован от ошибок в случае повреждения кабеля, неисправности сетевой платы или помех от внешнего электромагнитного источника.
При коммутации с промежуточной буферизацией коммутатор, получая пакет, не передает его дальше, пока не прочтет полностью, или во всяком случае не прочтет всю необходимую ему информацию. Он не только определяет адрес получателя, но и проверяет контрольную сумму, т. е. может отсекать дефектные пакеты. Это позволяет изолировать порождающий ошибки сегмент. Таким образом, коммутация с промежуточной буферизацией делает упор на надежность, а не на скорость.
Помимо двух вышеперечисленных, некоторые коммутаторы используют гибридный метод. В обычных условиях они осуществляют сквозную коммутацию, но при этом следят за числом ошибок посредством проверки контрольных сумм. Если число ошибок достигает заданного порогового значения, они переходят в режим коммутации с промежуточной буферизацией. При снижении числа ошибок до приемлемого уровня они возвращаются в режим сквозной коммутации. Такой тип коммутации называется пороговой или адаптивной коммутацией.
RISC И ASIC
Зачастую коммутаторы с промежуточной буферизацией реализуются на основе стандартных процессоров RISC. Одним из преимуществ такого подхода является их относительная дешевизна по сравнению с коммутаторами с интегральными схемами ASIC, однако он не очень хорош в случае специализированных приложений. Коммутация в таких устройствах осуществляется при помощи программного обеспечения, поэтому их функциональность может быть изменена посредством модернизации установленного ПО. Недостаток же их в том, что они медленнее коммутаторов на базе ASIC.
Коммутаторы с интегральными схемами ASIC предназначены для выполнения специализированных задач: вся их функциональность "зашита" в аппаратное обеспечение. В таком подходе есть и недостаток: когда необходима модернизация, производитель вынужден перерабатывать схему. ASIC обычно осуществляют сквозную коммутацию. Коммутирующая матрица ASIC создает выделенные физические пути между входным и выходным портом, как показано на Рисунке 1.
АРХИТЕКТУРА КОММУТАТОРОВ СТАРШЕГО КЛАССА
Коммутаторы старшего класса имеют, как правило, модульную структуру, и они могут осуществлять как коммутацию пакетов, так и коммутацию ячеек. Модули такого коммутатора осуществляют коммутацию между сетями разных типов, в том числе Ethernet, Fast Ethernet, Token Ring, FDDI и ATM. При этом основным механизмом коммутации в таких устройствах является коммутационная структура ATM. Мы рассмотрим архитектуру таких устройств на примере Centillion 100 компании Bay Networks.
Коммутация осуществляется при помощи следующих трех аппаратных компонентов (см. Рисунок 2):
(1x1)
Рисунок 2.
В коммутаторах старшего класса коммутация ячеек используется все чаще
благодаря ее высокой скорости и простоте миграции к ATM.
Каждый модуль коммутатора имеет порты ввода/вывода, буферную память и CellManager ASIC. Кроме того, каждый модуль для локальной сети имеет также процессор RISC для осуществления коммутации кадров между локальными портами и сборщика/разборщика пакетов для преобразования кадров и ячеек друг в друга. Все модули могут самостоятельно осуществлять коммутацию между своими портами, так что только трафик, предназначенный другим модулям, передается через объединительную панель.
Каждый модуль поддерживает свою собственную таблицу адресов, а главный управляющий процессор сводит их в одну общую таблицу, благодаря чему отдельный модуль может видеть сеть в целом. Если, например, модуль Ethernet получает пакет, он определяет, кому этот пакет адресован. Если адрес находится в локальной таблице адресов, то RISC-процессор осуществляет коммутацию пакета между локальными портами. Если адресат находится на другом модуле, то сборщик/разборщик преобразует пакет в ячейки. CellManager указывает маску адресата для идентификации модуля(-ей) и порта(-ов), которым предназначен полезный груз ячеек. Всякий модуль, бит маски платы которого задан в маске адресата, копирует ячейку в локальную память и передает данные на соответствующий выходной порт в соответствии с заданными битами маски портов.
ПОСТРОЕНИЕ ВИРТУАЛЬНЫХ СЕТЕЙ
Кроме повышения производительности, коммутаторы позволяют создавать виртуальные сети. Одним из методов создания виртуальной сети является создание широковещательного домена посредством логического соединения портов внутри физической инфраструктуры коммуникационного устройства (это может быть как интеллектуальный концентратор - конфигурационная коммутация, так и коммутатор - коммутация кадров). Например, нечетные порты восьмипортового устройства приписываются к одной виртуальной сети, а четные - к другой. В результате станция в одной виртуальной сети оказывается изолированной от станций в другой. Недостаток такого метода организации виртуальной сети состоит в том, что все станции, подключенные к одному и тому же порту, должны принадлежать к одной и той же виртуальной сети.
Другой метод создания виртуальной сети базируется на MAC-адресах подсоединенных устройств. При таком способе организации виртуальной сети любой сотрудник может подключать, например, свой портативный компьютер к любому порту коммутатора, и он будет автоматически определять принадлежность его пользователя к той или иной виртуальной сети на основе MAC-адреса. Такой метод разрешает также пользователям, подключенным к одному порту коммутатора, принадлежать к разным виртуальным сетям. Подробнее о виртуальных сетях см. статью А. Авдуевского "Такие реальные виртуальные сети" в мартовском номере LAN за этот год.
КОММУТАЦИЯ ТРЕТЬЕГО УРОВНЯ
При всех их достоинствах коммутаторы имеют один существенный недостаток: они не в силах защитить сеть от лавин широковещательных пакетов, а это ведет к непроизводительной загрузке сети и увеличении времени отклика. Маршрутизаторы могут контролировать и фильтровать ненужный широковещательный трафик, но они работают на порядок медленнее. Так, согласно документации Case Technologies, типичная производительность маршрутизатора составляет 10 000 пакетов в секунду, а это не идет ни в какое сравнение с аналогичным показателем коммутатора - 600 000 пакетов в секунду.
В результате многие производители стали встраивать в коммутаторы функции маршрутизации. Чтобы работа коммутатора не замедлилась существенным образом, применяются различные методы: например, и коммутация второго уровня, и коммутация третьего уровня реализуются непосредственно в аппаратном обеспечении (в интегральных схемах ASIC). Разные производители называют эту технологию по-разному, но цель одна: маршрутизирующий коммутатор должен выполнять функции третьего уровня с той же скоростью, что и функции второго уровня. Немаловажным фактором является и цена такого устройства в расчете на порт: она тоже должна быть невысока, как и у коммутаторов (см. статью Ника Липписа в следующем номере журнала LAN).
ЗАКЛЮЧЕНИЕ
Коммутаторы и конструктивно, и функционально весьма разнообразны; в одной небольшой статье невозможно охватить все их аспекты. В следующем уроке мы подробно рассмотрим коммутаторы ATM.
Дмитрий Ганьжа - ответственный редактор LAN. С ним можно связаться по адресу: dganzha@osp.msk.ru.