Выход чаще всего там, где был вход.
Ежи Лец
Технология асинхронного режима передачи (Asynchronous Transfer Mode, ATM) наилучшим образом подходит для построения широкополосных цифровых сетей с интеграцией служб (Broadband Integrated Services Digital Network, B-ISDN) и предоставления всевозможных услуг. Как известно, по сетям АТМ данные передаются в пакетах фиксированной длины (ячейках), содержащих заголовок из пяти байт и информационное поле длиной 48 байт. Поскольку вопросы коммутации в таких сетях стандартами практически не регламентируются, производители соответствующего оборудования используют в нем разнообразные технологические подходы.
Описание их особенностей заняло бы не одну сотню страниц непростого для восприятия текста, поэтому мы избрали следующий принцип изложения материала. В первой части статьи будут рассмотрены функции АТМ-коммутаторов, предъявляемые к ним требования и общая функциональная модель архитектуры коммутатора, во второй — различные методы построения коммутационного поля. Читателю, не знакомому с основами технологии АТМ, можно порекомендовать например, статью Игоря Ковалерчика «Введение в АТМ» («Сети», 1997, № 5).
Главной задачей, стоящей перед разработчиком ATM-коммутатора, является увеличение пропускной способности и улучшение других характеристик данного оборудования и сети АТМ в целом. ATM-коммутация отличается от традиционной использованием высокоскоростных интерфейсов; причем производительность внутренней коммутационной матрицы может достигать десятков гигабит в секунду. Кроме того, необходимо обеспечить возможность статистического мультиплексирования потоков, проходящих через коммутационные системные модули. Наконец, передача различных видов трафика с несхожими требованиями к количественным характеристикам функционирования сети (доля потерянных ячеек, допустимый процент ошибок, время задержки) сама по себе является непростой задачей.
Чтобы удовлетворять всем указанным критериям, ATM-коммутаторы должны значительно отличаться от традиционных устройств. Функции коммутационной системы ATM (в дальнейшем мы будем использовать этот термин в качестве синонима ATM-коммутатора) не ограничиваются буферизацией и маршрутизацией ячеек. Такая система представляет собой сложную структуру, состоящую из нескольких интегрированных модулей, которая способна не только передавать ячейки, но и управлять трафиком, отдельными соединениями и сетью в целом.
Основные группы функций
ATM-коммутатор располагает множеством входных и выходных портов, обеспечивающих связь с серверами и клиентскими станциями, а также с другими коммутаторами и сетевыми элементами. Он может иметь дополнительные интерфейсы для обмена управляющей информацией со специализированными сетями. Теоретически коммутатор представляет собой интегрированное устройство, предназначенное для передачи ячеек, реализации процедур управления соединениями и администрирования. На практике он выполняет и некоторые функции межсетевого взаимодействия в целях поддержания ряда услуг, таких как коммутируемая мультимегабитная служба передачи данных (Switched Multimegabit Data Service, SMDS) и служба ретрансляции кадров (frame relay).
Плоскость пользователяОсновная функция ATM-коммутатора заключается в передаче ячеек данных со входных портов на выходные. Коммутатор анализирует лишь заголовки ячеек, для их содержимого он является прозрачным. Сразу после поступления ячейки через входной порт осуществляется обработка содержащейся в ней информации об идентификаторах виртуального пути (Virtual Path Identifier, VPI) и виртуального канала (Virtual Channel Identifier, VCI), которая необходима для пересылки ячейки на соответствующий выходной порт. Эта процедура реализуется следующими функциональными блоками:
- модулем поступления на входной порт;
- коммутационным полем (иногда называемым коммутационной матрицей), которое фактически выполняет маршрутизацию внутри коммутатора;
- модулем передачи из выходного порта.
Этот функциональный компонент обеспечивает установление соединений виртуальных каналов и виртуальных путей (Virtual Path Connection/Virtual Channel Connection, VPC/VCC), а также управление ими. В отличие от ячеек данных, содержимое управляющих ячеек передается непрозрачно. Коммутатор идентифицирует ячейки сигнализации и даже сам генерирует их. Процедура управления установлением соединения (Connection Admission Control, CAC) включает в себя основные функции сигнализации. Сигнальная информация передается через сеть сигнализации, например основанную на ОКС 7, либо проходит (хотя может и не иметь этой возможности) через поле коммутации ячеек, а затем попадает в сеть ATM.
Плоскость администрированияДанный компонент осуществляет мониторинг сети, что позволяет обеспечить ее устойчивую и эффективную работу. Соответствующие операции могут быть подразделены на функции управления неисправностями, конфигурацией, защитой, учетом ресурсов и трафиком, которые реализуются во взаимодействии с плоскостью управления (модулем управления коммутатором). Плоскость администрирования отвечает за поддержку процедур уровня ATM, относящихся к эксплуатации и техническому обслуживанию (Operations, Administration and Maintenance, OAM), с чьей помощью идентифицируются и обрабатываются ячейки OAM. Последние проходят (а иногда, подобно сигнальным ячейкам, не проходят) через поле коммутации ячеек.
Кроме того, эта плоскость поддерживает промежуточный интерфейс локального управления (Interim Local Management Interface, ILMI) интерфейса «пользователь — сеть» (User-Network Interface, UNI). Для каждого UNI в ней содержится объект администрирования (UME), который может использовать, например, популярный протокол управления Simple Network Management Protocol (SNMP).
Функции управления трафикомКоммутационная система способна поддерживать процедуры управления установлением соединения, параметрами использования (Usage Parameters Control, UPC) и параметрами сети (Network Parameters Control, NPC), а также контроль за перегрузками. Чаще всего функции UPC/NPC осуществляются входными модулями, а функции контроля за перегрузками — модулем управления коммутатором, в то время как специальные операции управления буферами (распределение ячеек по буферам, отказ от них и др.) контролируются модулем управления коммутатором, но исполняются внутри поля коммутации ячеек, к которому относятся и буферы.
Общая архитектура коммутатора
Рис. 1. Общая структура коммутатора АТМ: IM — входной модуль; OM — выходной модуль; CAC — процедура управления установлением соединения; SM — модуль управления коммутатором |
Чтобы упростить описание различных схем работы ATM-коммутатора, сначала кратко рассмотрим его функциональные блоки (рис. 1) — входные (Input Module, IM) и выходные (Output Module, OM) модули, поле коммутации ячеек, модули контроля за установлением соединений (CAC) и управления коммутатором (Switch Management, SM). Перечисленные блоки являются услуго-независимыми, а границы между ними иногда оказываются размытыми. Ключевую роль в работе коммутатора играет поле коммутации ячеек, поэтому его детальное описание будет вынесено в самостоятельный раздел.
Входные модулиПрежде всего входной модуль терминирует входящий сигнал (например, SONET) и выделяет поток ячеек ATM. Этот процесс включает в себя преобразование и восстановление сигнала, обработку заголовка SONET, структурирование ячеек и коррекцию скоростей их передачи. Затем с каждой ячейкой ATM выполняются следующие операции:
- проверка заголовка на наличие ошибок с помощью поля управления ошибками заголовка (Header Error Control, HEC);
- подтверждение правильности значений идентификаторов VPI/VCI и их трансляция;
- определение выходного порта;
- направление сигнальных ячеек в модуль CAC, а ячеек OAM — в модуль управления коммутатором;
- реализация процедуры UPC/UNC для каждой пары соединений VPC/VCC;
- дополнение внутреннего тэга, содержащего сведения о внутренней маршрутизации, и мониторинг информации, предназначенной для использования внутри коммутатора.
Эти модули подготавливают потоки ячеек ATM для физической передачи:
- обрабатывают и удаляют внутренние тэги ячеек;
- при необходимости транслируют значения VPI/VCI;
- генерируют поле HEC, обеспечивая возможность последующей проверки заголовка на наличие ошибок;
- при необходимости включают ячейки из модулей CAC и управления коммутатором в исходящие потоки ячеек;
- корректируют скорости передачи ячеек;
- упаковывают ячейки в полезную нагрузку сети физического уровня (SONET) и генерируют соответствующие заголовки;
- преобразуют цифровой поток бит в оптический сигнал.
Данный модуль устанавливает, модифицирует и разрывает соединения виртуальных путей и каналов. Он отвечает за сигнальные протоколы верхних уровней, сигнальные функции уровня адаптации АТМ (ATM Adaptation Layer, AAL), необходимые для интерпретации или генерации сигнальных ячеек, за поддержание интерфейсов с сетью сигнализации, согласование с пользователями контрактов на обслуживание (Service Level Agreement, SLA) характеристик трафика при запросах на установление новых соединений VPС/VCC с другими параметрами качества сервиса (QoS) и изменений для существующих соединений VPC/VCC, за распределение ресурсов коммутатора при организации соединений VPC/VCC (включая выбор маршрутов), принятие решения (в ответ на запрос) о допустимости установления соединений VPC/VCC, а также генерацию параметров процедур UPC/NPC.
Если используется централизованная реализация CAC, то единственное устройство (модуль) обработки будет получать сигнальные ячейки от входных модулей, интерпретировать их и выдавать решение о возможности формирования соединения и распределении ресурсов коммутатора между всеми соединениями.
Если же функции CAC распределяются по блокам входных модулей, в каждом из них процедура CAC использует меньшее, чем в предыдущем случае, число входных портов. Этот алгоритм гораздо сложнее в реализации, однако он снимает проблему недостаточной производительности при обработке заданий управления соединениями в больших коммутаторах путем их распараллеливания. Однако подобное распределение требует передачи значительных объемов информации между устройствами CAC, относящимися к разным модулям, и координации их работы.
В некоторых ATM-коммутаторах, например производства Hitachi и NEC, каждый из входных модулей имеет не только собственную процедуру CAC, но и небольшое поле маршрутизации ячеек ATM. Заметим также, что часть распределенных функций CAC может выполняться выходными модулями, инкапсулирующими управляющую информацию верхних уровней в исходящие сигнальные ячейки.
Модуль управления коммутаторомЭтот модуль реализует процедуры физического уровня и уровня ОАМ. Он отвечает за управление конфигурацией компонентов коммутатора и защитой его базы данных, снимает показатели использования ресурсов коммутатора, управляет трафиком, информационной базой текущих процедур администрирования и интерфейсом UNI, обеспечивает интерфейс с операционными системами, сетевое управление, обработку отказов и протоколирование учетной информации, относящейся к управлению. Выполнение таких функций невозможно без эффективных внутрикоммутационных связей между модулем управления и другими функциональными блоками.
Централизованное управление коммутатором порой становится «узким местом», если модуль управления перегружен обработкой требований. Чтобы избежать перегрузки, функции данного модуля можно распределять среди входных модулей, которые в этом случае будут контролировать поступающие потоки ячеек данных в целях учета ресурсов и измерения характеристик функционирования коммутатора. В свою очередь, выходные модульные устройства управления способны контролировать выходящие потоки ячеек.
Сложность управления коммутатором обусловлена прежде всего чрезвычайно широким спектром выполняемых им функций, которые к тому же постоянно эволюционируют. В связи с этими обстоятельствами разработка соответствующих международных рекомендаций и стандартов еще далека от своего завершения.
Поле коммутации ячеек
Поле коммутации отвечает за передачу ячеек данных (а в ряде случаев — сигнальных и управления) между другими функциональными блоками. В его задачи входят также концентрация и мультиплексирование трафика, маршрутизация и буферизация ячеек, повышение отказоустойчивости коммутатора, многоадресная и широковещательная передача, распределение ячеек, основанное на приоритетах по задержкам, мониторинг случаев перегрузки и активизация индикатора перегрузки в прямом направлении (Explicit Forward Congestion Indication, EFCI). Многоадресная и широковещательная передача будет рассмотрена во второй части статьи, а сейчас расскажем об остальных функциях в контексте различных схем коммутации.
Концентрация и мультиплексированиеДля наиболее эффективного использования выходящего соединения трафик должен быть сконцентрирован на входах коммутационного поля. Чтобы добиться стандартной скорости интерфейса коммутационной матрицы, устройство агрегирует потоки с низкой переменной битовой скоростью в трафик с более высокой скоростью. Коэффициент концентрации сильно коррелирован с характеристиками входящих потоков. Концентрация потоков может применяться при динамическом распределении трафика по нескольким плоскостям маршрутизации, а также при его буферизации и дублировании в целях повышения отказоустойчивости.
Мультиплексирование потоков ячеек на входах коммутатора во многом аналогично процессу концентрации.
Маршрутизация и буферизацияОсновными функциями, выполняемыми полем коммутации ячеек, являются маршрутизация и буферизация. Входной модуль дополняет тэгом маршрутизации каждую из ячеек, а коммутационное поле просто направляет их со входных портов на соответствующие выходные. Поступление ячеек может быть распределено во времени посредством использования сдвиговых регистров, каждый емкостью в одну ячейку. Поскольку не исключена одновременная адресация ячеек на один и тот же выход, должна быть предусмотрена возможность их буферизации.
Анализ различных схем маршрутизации и алгоритмов буферизации, применяющихся в ATM-коммутаторах, позволил сформулировать ряд важных принципов их проектирования: обеспечение распределенного управления и высокой степени параллелизма при обработке трафика, реализация функций маршрутизации на аппаратном уровне. Прежде чем перейти к рассмотрению вариантов организации коммутационного поля, перечислим основные показатели, которыми они характеризуются:
- производительность (отношение суммарной скорости выходящего потока к суммарной скорости входящего);
- коэффициент использования (отношение средней скорости входящего потока к максимально возможной скорости выходящего);
- вероятность потерь ячеек;
- задержки передачи ячеек;
- длины очередей;
- сложность реализации.
Ранее методы коммутации подразделяли на пространственные, временные и их комбинации. Предложенная в дальнейшем классификация относит такие методы к одной из следующих категорий:
- с разделяемой памятью;
- с общей средой;
- с полносвязной топологией;
- с пространственным разделением (эта категория, в свою очередь, подразделяется на коммутацию, обеспечивающую единственный и множественные пути от входного порта к выходному).
Для простоты далее будем рассматривать коммутатор с N входными и N выходными портами и одинаковыми скоростями портов, равными V ячеек/с.
Рис. 2. Структура коммутатора с разделяемой памятью: RA — чтение адреса; WA — запись адреса; S/P — последовательно-параллельное преобразование; P/S — параллельно-последовательное преобразование |
Метод разделяемой памяти. Базовая структура коммутатора с разделяемой памятью приведена на рис. 2. Входящие ячейки преобразуются из последовательного формата в параллельный и записываются в порт ОЗУ. Используя заголовки ячеек с тэгами маршрутизации, контроллер памяти решает, в каком порядке ячейки будут считываться из нее. Выходящие ячейки демультиплексируются при передаче на выходные порты и преобразуются из параллельного формата в последовательный.
Данный метод подразумевает организацию очередей на выходных портах, где все буферы формируют единое пространство памяти. Он привлекателен тем, что дает возможность вплотную приблизиться к теоретическому пределу производительности. Совместный доступ к буферной памяти минимизирует ее емкость, удерживая долю потерянных ячеек в заданных границах: при резком росте интенсивности трафика в направлении какого-либо выходного порта разделение памяти позволяет максимально сгладить пик нагрузки за счет использования свободной части буфера.
Коммутатор Prelude, разработанный фирмой CNET, был одним из первых устройств, применяющих тактированную обработку с групповой буферизацией. Другие широко известные примеры — коммутатор с разделяемой буферной памятью компании Hitachi и устройство GCNS-2000 корпорации AT&T.
Правда, этот метод не свободен от недостатков. Разделяемая память должна работать по крайней мере в N раз быстрее одиночного порта, поскольку ячейки считываются и записываются в память последовательно. Время доступа к памяти — конечная величина, как и произведение числа портов на скорость обмена через порт (NV). Кроме того, необходимо, чтобы централизованный контроллер памяти успевал обрабатывать заголовки ячеек и тэги маршрутизации с той же скоростью, что и память. Чтобы преодолеть серьезные технические трудности, возникающие при использовании множественных классов приоритета трафика, при сложном распределении ячеек, многоадресной и широковещательной передаче, требуется высокое быстродействие памяти и контроллера.
Рис. 3. Коммутатор с общей средой на базе шины с временным разделением: AF — адресный фильтр; S/P — последовательно-параллельное преобразование; P/S — параллельно-последовательное преобразование |
Метод общей среды. Ячейки могут передаваться через общую среду — кольцо, шину или двойную шину. Примером данного метода является шина с временным разделением (TDM), представленная на рис. 3. Входящие ячейки передаются на шину циклически. На каждом выходе адресные фильтры (Address Filter, AF) в соответствии с тэгами маршрутизации считывают и пересылают свои ячейки в выходные буферные устройства. Дабы не допустить переполнения входной очереди, скорость шины должна быть равной по крайней мере NV ячейкам/с.
Модуляция выходных каналов упрощает работу адресных фильтров, а широковещательная передача с селекцией — функционирование всей системы. На методе общей среды основана работа нескольких коммутаторов, включая Paris и plaNet компании IBM, Atom корпорации NEC, ForeRunner ASX-100 производства Fore Systems. Синхронная коммутация составных пакетов (Synchronous Composite Packet Switching, SCPS), использующая множественные кольца, — еще один вариант коммутации с общей средой.
Следует отметить, что возможности масштабирования коммутаторов данного типа оказываются ограниченными, поскольку адресные фильтры и выходные буферы должны действовать со скоростью, в N раз превосходящей скорость передачи порта. Кроме того, выходные буферы здесь не являются общими для N портов, а значит, для сохранения прежней вероятности потерь ячеек требуется большая суммарная емкость буферов, чем в случае применения метода с разделяемой памятью.
Рис. 4. Коммутатор с полносвязной топологией: AF — адресные фильтры; B — буферы |
Метод полносвязной топологии. Отличительная особенность данного метода — существование независимого пути для каждой из N2 возможных пар входов и выходов (рис. 4). Таким образом, входящие ячейки транслируются на раздельные шины выходных каналов, а адресные фильтры пропускают эти ячейки в выходные очереди.
Преимущества рассматриваемого типа коммутации заключаются в том, что буферизация ячеек происходит на выходных портах и (как в методе с общей средой) отсутствуют ограничения на групповую и широковещательную передачу. Реализация адресных фильтров и выходных буферов достаточно проста: нужно лишь обеспечить требуемую скорость обмена через порт. Метод полносвязной топологии допускает простое масштабирование в широких пределах и позволяет достичь высокой скорости функционирования коммутатора, поскольку все его аппаратные модули работают с одной и той же скоростью.
Примерами использования описанного подхода являются устройства с матричной шиной фирмы Fujitsu и система SPANet компании GTE.
К сожалению, квадратичный рост числа буферов ограничивает количество выходных портов, хотя скорость обмена через порт лимитируется только физическим быстродействием адресных фильтров и выходных буферов.
Устройство The Knockout, разработанное AT&T, было первым прототипом коммутаторов, в которых число буферов уменьшалось ценой небольшого увеличения потерь ячеек. Вместо N буферов на каждом выходе использовалось меньшее фиксированное число буферов L, а общее число буферов составляло NL. Этот подход базируется на предположении, что вероятность одновременного поступления на выходной порт более L ячеек мала. Оказывается, при больших N и произвольных (но однородных) параметрах трафика восьми буферов на порт достаточно для удержания доли потерь в пределах одной ячейки из миллиона.
Метод пространственного разделения. Простейшим примером системы с пространственным разделением является коммутатор матричного типа, обеспечивающий физическую взаимосвязь с любым из N входных и N выходных портов. Хорошо известны коммутаторы матричного типа с производительностью в сотни гигабит в секунду, в которых применяются входная и/или выходная буферизация и двунаправленный алгоритм разделения памяти. В целях сокращения числа коммутационных элементов (кроссов), которые необходимы для внутренней коммутации каналов, организации взаимосвязей между вычислительными узлами в многопроцессорных системах и, позднее, коммутации пакетов и ячеек АТМ, были разработаны многокаскадные сети (Multistage Interconnection Network, МIN), представляющие собой древовидные структуры.
Рис. 5. Баньяновидные сети 4x4 (а) и 8x8 (б), а также коммутационный элемент 2x2 (в) |
Баньяновидные сети (свое название они получили потому, что схожи по форме с одноименным тропическим деревом), один из наиболее широко представленных типов сетей МIN, строятся путем формирования каскадов коммутационных элементов. Основной коммутационный элемент 2x2 обрабатывает входящую ячейку в соответствии с управляющим битом выходного адреса. Если этот бит равен нулю, то ячейка направляется на верхний выходной порт кросса, в противном случае — на нижний.
На рис. 5 показано последовательное соединение коммутационных элементов, формирующих баньяновидные сети 4x4 и 8x8. При построении сети 4x4 два каскада коммутационных элементов 2x2 могут быть соединены с использованием первого бита выходного адреса (для определения коммутационного элемента, на который направляется ячейка), а затем второго бита (для определения порта коммутационного элемента второго каскада). Сеть 8x8 формируется рекурсивно, при этом первый бит применяется для транспортировки ячейки через первый каскад, а последние два бита — для маршрутизации ячейки через сеть 4x4 на соответствующий выходной порт.
Итак, в баньяновидной сети NxN n-й каскад выбирает направление передачи ячейки по n-му биту выходного адреса. При N=2n такая сеть состоит из (N/2)log2N элементарных двоичных кроссов. Сети MIN способны автоматически обновлять таблицы маршрутизации (т.е. имеют свойство самомаршрутизации), в случае если выходной адрес полностью определяет маршрут следования ячейки через сеть.
Популярность баньяновидных сетей объясняется использованием простых коммутационных элементов для обеспечения процесса коммутации; при этом ячейки передаются параллельно и все элементы действуют с одной и той же скоростью (так как нет дополнительных ограничений на размер N или скорость V). При создании больших коммутаторов указанные свойства позволяют легко реализовать модульный рекурсивный подход на уровне аппаратных средств. Коммутаторы Sunshine компании Bellcore и 1100 подразделения Alcatel Data Networks — типичные примеры устройств, в которых применяется данный подход.
Отрицательным свойством баньяновидных сетей является их принадлежность к блокирующим схемам, причем вероятность блокировки ячейки при ее маршрутизации быстро возрастает с ростом сети. Очевидно, что в таких сетях существует единственный путь с любого входного порта на любой выходной. Регулярные баньяновидные сети используют только один тип коммутационных элементов. В их разновидности (так называемых SW-баньяновидных сетях) вероятность блокировки ячеек удается уменьшить, применяя кроссы больших размеров, — они строятся рекурсивно из коммутационных элементов размером LxM, где L>2 и M>2.
Дельта-сети представляют собой подкласс SW-баньяновидных сетей и обладают свойством самомаршрутизации. Существует несколько типов дельта-сетей: прямоугольная (кроссы имеют одинаковое число входов и выходов), базовая (baseline), омега, флип, куб, обратный куб и др. Сеть дельта-b размером NxN содержит logbN каскадов, причем каждый каскад состоит из N/b коммутационных элементов bxb.
Как уже говорилось, число точек коммутации в баньяновидных сетях меньше N2, что может приводить к конфликту маршрутов двух ячеек, адресованных на разные выходные порты. При возникновении подобной ситуации, именуемой внутренней блокировкой, лишь одна из двух ячеек способна достичь следующего каскада, а в результате общая производительность снижается.
Одно из решений проблемы состоит в добавлении специальной сети предварительной сортировки (например, так называемого сортировщика Бэтчера), которая направляет ячейки в баньяновидную сеть. Сортировщик позволяет избежать блокировок при адресации ячеек на различные выходные порты, но если они одновременно адресуются на один и тот же выход, единственным решением становится буферизация.
Буферы могут быть установлены на входе сети Бэтчера, однако в этом случае возможна блокировка очереди ячейкой, находящейся в ее начале и направляемой на занятый выходной порт, даже если выходные порты ячеек, расположенных позади данной, свободны. В такой ситуации способна выручить дисциплина «пришедший первым обслуживается в случайном порядке» (First In Random Out, FIRO), но, к сожалению, она не имеет простой реализации.
Другой способ избежать конфликтов маршрутов — установить буфер непосредственно внутри коммутационных элементов баньяновидной сети. Если две ячейки одновременно направляются в один и тот же выходной канал, одна из них буферизуется внутри коммутационного элемента. Внутренняя буферизация используется и механизмом управления с помощью обратной блокировки (backpressure): очереди в одном каскаде сети задерживают ячейки предыдущего каскада сигналом обратной связи. Влияние процедуры обратной блокировки может достигнуть первого каскада и привести к созданию очередей на входах. Следует отметить, что внутренняя буферизация способна вызвать блокировку ячейки в начале очереди на каждом коммутационном элементе и, следовательно, не позволяет достичь максимальной производительности.
Еще один вариант — использование рециркуляционного буфера, внешнего к коммутационному полю. Этот подход применяется в широкополосных цифровых коммутаторах Sunshine фирмы Bellcore и Starlite компании AT&T. В данном случае конфликты на выходе обнаруживаются после прохождения сортировщика Бэтчера, затем сеть выбирает ячейку для дальнейшей передачи, а оставшиеся ячейки через рециркуляционный буфер возвращаются на входные порты сети Бэтчера. К сожалению, данный метод требует сложного приоритетного управления для сохранения исходной последовательности передаваемых ячеек и применения сети Бэтчера большего размера для размещения рециркулированных ячеек.
Помимо рассмотренных выше видов баньяновидных сетей существует немало типов сетей МIN с множественными путями между входными и выходными портами. Классическими примерами являются неблокирующие сети Бэнеша и Клоза, сети со свойством самомаршрутизации и распределением нагрузки, снижающими потребность во внутренней буферизации, групповые баньяновидные коммутационные структуры (например, тандем баньянов). Для формирования таких сетей возможно параллельное использование нескольких баньяновидных соединительных сетей.
Сети МIN с множественными путями обеспечивают более однородное распределение трафика, необходимое для минимизации внутренних блокировок и повышения отказоустойчивости. Тем не менее если ячейки направляются по независимым путям с переменными задержками, необходимо предусмотреть сохранение исходной последовательности ячеек в виртуальном соединении на выходном порте. Поскольку данный процесс может потребовать значительных затрат вычислительных ресурсов процессора, предпочтительнее выбирать путь передачи ячеек на стадии установления и использовать его в течение всего времени существования соединения. Особое внимание должно уделяться предотвращению блокировки последовательных вызовов.
Окончание следует
ОБ АВТОРАХ
Владимир Ефимушкин — кандидат физ.-мат. наук, зам. заведующего кафедрой,Татьяна Ледовских — сотрудник кафедры «Системы телекоммуникаций» Российского университета дружбы народов. С ними можно связаться по тел. 955-0715, электронной почте ef@sci.pfu.edu.ru, tledovskikh@sci.pfu.edu.ru и факсу 952-2823.