Cети ATM
Структура ATM-коммутаторов
Пакетный коммутатор выполняет две главных функции: маршрутизация и установление соединения. Функция маршрутизации использует алгоритмы для выбора пути к каждому пункту назначения и хранит необходимую для этого информацию в таблицах маршрутизации. Функция установления соединения обрабатывает каждый входящий пакет от входного порта и передает его к соответствующему порту вывода на основе информации, хранящейся в таблице маршрутизации. Рассмотрим основную структуру пакетного коммутатора и принцип выполнения пакетным коммутатором основных функций [ 1 ] , [ 6 ] . рис. 10.12 показывает универсальный пакетный коммутатор, состоящий из входных портов, портов вывода, коммутационной системы и управляющего устройства коммутатора. В линейный комплект часто включаются несколько портов ввода/вывода так, чтобы полностью использовать высокую скорость потока внутри коммутационной системы. Линейный комплект занимается посимвольной синхронизацией, линейным кодированием, цикловой синхронизацией, физической адресацией и проверкой ошибок. Линейный комплект может также поддерживать протоколы управления доступом к среде.
Рис. 10.12. Пакетный коммутатор а) основные компоненты пакетного коммутатора; б) организация линейного комплекта
Обычно он реализуется набором микросхем специального назначения. Во многих случаях в линейном комплекте могут также находиться таблицы маршрутизации сетевого уровня и микросхемы специального назначения, необходимые, чтобы выполнить в таблице быстрый поиск для определения порта вывода, а также алгоритмы планирования очереди, которые будут рассмотрены в дальнейшем. Как правило, линейный комплект состоит из различных наборов микросхем, показанных на рис. 10.12. На этом рисунке программируемый сетевой процессор выполняет задачи, связанные с передачей пакета, такие как поиск в таблице и планирование маршрута прохождения пакета. Контроллер в пакетном коммутаторе выполнен на многоцелевом процессоре. Он занимается управлением в зависимости от типа пакетной коммутации. Например, контроллер в пакетном коммутаторе, работающий в режиме без установления соединения, обычно выполняет некоторые протоколы маршрутизации, в то время как контроллер в пакетном коммутаторе, работающем в режиме, ориентированном на соединение, может также выполнять функции передачи служебных сигналов. Он также может определять дисциплину обслуживания очереди пакетов (дисциплины обслуживания очереди будут рассмотрены далее).
Контроллер также связан с каждым линейным комплектом и коммутационной системой так, чтобы принять, обработать и передать необходимые служебные сигналы, которые определяются протоколами взаимодействия. Функция коммутационной системы — передать пакеты между линейными комплектами. рис. 10.12 не показывает детальную схему коммутатора. В основном он выполнен на элементах памяти, которые накапливают входные потоки и считывают на адресуемые выходы. Детальный анализ возможных вариантов построения ATM-коммутаторов сделан в [ 18 ] . В дальнейшем будет рассмотрен принцип коммутации ATM и принципы цифровой коммутации, которые дают представление о построении таких схем.
На рис. 10.12 входы и выходы коммутатора с одними и теми же номерами показаны раздельно. Однако в большинстве случаев они включаются в одно и то же устройство и обеспечивают передачу (выход) и прием (вход) информации (двусторонняя связь). Анализируя этот рисунок, можно предположить, что коммутационная система может стать узким местом, если в нее включено много высокоскоростных линейных комплектов. Поскольку нагрузка от всех портов проходит через контроллер и коммутационную систему, то внутренняя скорость работы при коммутации должна как минимум быть в N раз выше. Поэтому так много внимания в ATM коммутационной технике уделяется созданию коммутаторов с параллельной передачей информации и другими возможностями, позво ляющими уменьшить опасность отказов. На рис. 10.13 показана коммутационная система, использующая буферные накопители. Она представляет собой координатный коммутатор, который способен подключить любой из N выходов буферного накопителя к любому из N выходов. Если выход свободен, то пакет передается, а оставшиеся пакеты остаются в буфере. Поскольку коммутатор обеспечивает передачу только одного пакета к одному выходу, то на время передачи можно подключить буфер другого входа к другому выходу. Таким образом, координатный (матричный) коммутатор с памятью на входе уменьшает требования к скорости работы коммутатора. Однако буферизация на входе порождает другую проблему. Рассмотрим ситуацию, когда имеются два пакета в буфере 2, как это показано на рис. 10.13 . Первый пакет адресован на выход 3, а второй — на выход 8. Предположим, что пакет от входного буфера 1 адресован тоже на выход 3. Теперь предположим, что управление коммутационной системой соединяет для передачи входной буфер 1 с выходом 3. Тогда первый пакет в буфере 2 вынужден ждать, пока выход 3 не окончит передачу пакета. Все это время второй пакет входного буфера 2, находясь после первого пакета в очереди, должен ждать, хотя выход 8 свободен. Эта ситуация может привести к серьезным ухудшениям характеристик в матричном коммутаторе с буферизацией на входе.
Ситуация, при которой первый пакет сдерживает другие последующие пакеты сзади него, называется блокировкой заголовком очереди (HOL — Head Of Line Blocking).
Выходом из такого положения является применение буферного устройства на базе памяти с произвольным доступом (RAM — Random Access Memory). Тогда, если первая ячейка заблокирована, выбирается следующая, у которой требуемый выходной порт свободен. Однако такой режим усложняет управление буферной памятью и процессом коммутации в целом.
Известно из цифровой коммутации, что матричная структура имеет большую сложность. Для построения коммутатора с N входами и N выходами требуется N входов коммутационных элементов, что препятствует построению больших коммутационных систем. Поэтому на практике применяют многокаскадные коммутационные системы. Одна из таких структур называется коммутационная система баньянного типа ( рис. 10.4). Баньянный коммутатор обычно составлен из коммутационных элементов 2x2, связанных таким способом, что существует единственный путь от каждого входа до каждого выхода.
Маршрутизация проводится децентрализованно методом самопоиска с использованием двоичных адресов. Каждый двоичный коммутационный 1 Баньян — порода дерева, у которого вершины веток снова уходят в землю, образуя обратную петлю. Элемент может находиться в одном из двух состояний: 0 — связь сквозная или 1 — перекрестная. Процедура выбора пути не зависит от номера входа, а зависит от адреса выхода.
Рис. 10.14. Баньянная коммутационная система а) коммутационная система; б) правила коммутации согласно адресу
Например, если выходной адрес равен 001, то от входа 1
- на первом каскаде он проходит насквозь (входной адрес — 0 на верхнем входе);
- на втором каскаде он проходит насквозь (входной адрес — 0 на верхнем входе);
- на третьем каскаде он проходит накрест (входной адрес — 1 на верхнем входе).
- на первом каскаде он проходит насквозь (входной адрес — 0 на верхнем входе);
- ?на втором каскаде он проходит насквозь (входной адрес — 0 на верхнем входе);
- ?на третьем каскаде он проходит насквозь (входной адрес — 1 на нижнем входе).
Таким образом, независимо от входных адресов 1 и 2 пакет направляется на выход, имеющий адрес 001. Основным достоинством такого поиска является самомаршрутизация без использования таблиц. Основной недостаток такой структуры заключается в наличии внутренних блокировок. Например, если одновременно установить соединение входа 5 с выходом 1 и входа 7 с выходом 0, то они будут конкурировать за нижний вход в коммутаторе 1. Наличие внутренних блокировок снижает пропускную способность такого коммутатора. Основной способ преодоления влияния внутренних блокировок — это размещение буферов в баньянных структурах. Разновидности баньянных структур приведены и проанализированы в [ 22 ] . Баньянный коммутатор — только один из многих возможных способов строить большие коммутационные системы.