Полный курс лекций 2009-го года (1130357), страница 25
Текст из файла (страница 25)
Так реализуют режим вещания, т.е. передачу от одного ко многим.Подуровень сопряжения с физической средой (PMD) в стандарте АТМ обеспечивает съем битов слинии и передачу их на линию. Для физически разных линий (коаксиал, оптоволокно и т.п.) используютразное оборудование.
Подуровень преобразования при передаче (TC) обеспечивает единый интерфейс сАТМ-уровнем при передаче ячеек в обоих направлениях. Именно ТС-подуровень обеспечивает сопряжениеАТМ-уровня с протоколом передачи в выбранной среде, например, в случае SONET это будет интерфейсSTS-3, поддерживающий скорость 155,52 Мбит/сек.
АТМ-уровень обеспечивает поток ячеек, а PMDподуровень преобразует их в поток битов в физической среде.При входящем потоке PMD-подуровень передает поток битов на ТС-подуровень. Задача ТС-подуровня- определить, где кончается одна ячейка, а где начинается другая. Поскольку в поступающем потоке битовнет никаких признаков деления между ячейками, то это весьма сложная задача. Как она решается, мырассмотрим в разделе, посвященном канальному уровню, поскольку именно канальный уровень отвечаетза преобразование потока битов в поток кадров или ячеек.2.5.9.1. АТМ-переключателиЗдесь мы рассмотрим основные принципы организации АТМ переключателей и их функционирования.На рисунке 2-65 показана общая схема организации АТМ-переключателя. Есть набор входныхлиний, по которым ячейки поступают в переключатель, и, как правило, такое же число выходных линий,по которым ячейки двигаются после коммутации.
Обычно переключатель работает синхронно:длительность цикла строго фиксирована. В течение каждого цикла просматриваются все входные линии и,если на линию к этому моменту целиком поступила ячейка, то она считывается и передается в центркоммутации, а затем на выходную линию.Рисунок 2-65. Общая схема организации АТМ-переключателяПереключатель может быть конвейерным, т.е.
обработка одной ячейки может занимать более одногоцикла. Ячейки поступают асинхронно, т.е. таймер переключателя отмечает момент начала очередногоцикла. Если ячейка не поступила целиком за один цикл, то она должна ожидать начала следующего цикла.Ячейки поступают со скоростью 155 Mбит/сек.
Учитывая размер ячейки в 53 байта, получаем около360 000 ячеек/сек. Таким образом, на обработку одной ячейки приходится около 2,7 мксек. Выпускаемыена сегодня переключатели имеют от 16 до 1024 входных линий, т.е. переключатель должен быть всостоянии обрабатывать за 2,7 мксек от 16 до 1024 ячеек. При скорости 622 Mбит/сек. переключающийцентр должен обрабатывать очередную порцию ячеек за 700 нсек. Благодаря тому, что ячейкификсированной длины и небольшого размера (53 байта), коммутация на таких скоростях становитсявозможной. При переменной длине и большем размере ячейки задача создания АТМ-переключателя былабы намного сложнее.Все АТМ-переключатели должны удовлетворять следующим требованиям:§терять как можно меньше ячеек§никогда не менять порядок поступления ячеек по каждому виртуальному соединениюПервое требование означает, что АТМ-переключатель должен обеспечивать достаточно большуюскорость переключения, но так, чтобы не терять ячейки.
Считается допустимой потеря 1 ячейки на каждые1012. В больших переключателях считается допустимой потеря 1-2 ячеек за час работы. Второетребование - сохранять порядок поступления ячеек неизменным - существенно усложняет конструкциюпереключателя, но таково требование АТМ-стандарта.Одна из ключевых проблем конструкции АТМ-переключателей состоит в следующем: что делать,когда сразу по нескольким линиям пришли ячейки, которые должны быть отправлены по одной и той жевыходной линии? Напрашивается решение: взять одну ячейку, обработать ее, а другую сбросить. Но всилу требования 1 оно не годится.Возможно другое решение: буферизовать ячейки на входе.
Идея этого решения показана нарисунке 2-66. Пусть в начале цикла 1 (рисунок 2-66(а)) поступило четыре ячейки, две из которыхдолжны быть отправлены по линии 2. Поскольку из-за линии 2 возник конфликт, то только три ячейкипередаются на выходные линии. Поэтому к началу цикла 2 (рисунок 2-66(b)) на выходе переключателяпоявятся три ячейки, но на вход поступят новые.
К началу цикла 3 (рисунок 2-66(с)) на входе останетсятолько одна ячейка, и очередь рассосется только на четвертом цикле. В случае буферизации на входенадо следить за тем, чтобы дисциплина обслуживания возникающих очередей была бы справедливой иравномерно обслуживала очереди на всех линиях.Рисунок 2-58. Буферизация ячеек на входеНедостаток этого решения в том, что очередь на входе может блокировать даже те ячейки, которыедолжны быть перекоммутированы на линии, на которых нет конфликтов.
Поэтому по соответствующемувиртуальному соединению скорость упадет. Этот эффект называется блокировкой на входе. Кроме этого,буферизация ячейки на входе требует дополнительной логики в схемах, что усложняет конструкцию АТМпереключателя.Альтернативным решением может быть буферизация на выходе. Это решение показано на рисунке2-67. Если несколько ячеек должны уйти по одной и той же линии, то они передаются на выход ибуферизуются там. Это требует меньше циклов, в нашем примере только 3.
В общем случае Karol 1987показал, что буферизация на выходе эффективнее, чем буферизация на входе.Рисунок 2-67. Буферизация на выходеРассмотрим конструкцию АТМ-переключателя, использующего буферизацию на выходе. Этотпереключателей называется переключатель выталкивающего типа. Он показан на рисунке 2-68конфигурации 8х8 линий. Здесь каждая входная линия соединена с шиной, к которой подключенывыходные линии. Каждая входная шина имеет свой механизм управления, не зависящий от других,существенно упрощает конструкцию.типдлявсечтоРисунок 2-68.
Переключатель выталкивающего типаУ каждой поступающей ячейки аппаратно анализируется заголовок, чтобы определить, какомувиртуальному соединению она принадлежит. Затем, с помощью таблицы коммутации, определяетсявыходная линия, через которую эта ячейка должна покинуть переключатель. Пересечение ссоответствующей выходной линией активизируется, и, когда ячейка доходит до этого пересечения, онапопадает в буфер.
Ресурсов переключателя достаточно, чтобы буферизовать на одном выходе ячейки совсех входов, если это потребуется, или размножить ячейки, если их надо разослать по несколькимвиртуальным соединениям.Естественно было бы буферизовать все конфликтующие ячейки в выходном буфере. Однако дляпереключателей, например, на 1024 линий, нам потребовалось бы 1024 буферов по 1024х53 байтов.Слишком много! Выход из этой ситуации - выделение лишь n байтов на буфер, где n – параметрнастройки.
Если конфликтующих ячеек больше, то ячейки, не попавшие в буфер, сбрасываются. Здесьопять-таки надо быть осторожным, определяя на каких входных линиях сбрасывать ячейки, из какихвыходных буферов выталкивать ячейки на очередном цикле так, чтобы не было дискриминации.
Регулируяпараметр n, можно варьировать стоимость и число сбрасываемых ячеек, что влияет на ценупереключателя.2.5.9.2. Переключатели Батчера-БаньянаОсновным недостатком переключателей выталкивающего типа является то, что центр коммутации простой коммутатор, а это означает, что его сложность растет квадратично от числа коммутируемых линий.Из рассмотрения принципов построения коммутаторов для коммутации каналов мы уже знаем, что одно изрешений - каскадные коммутаторы. Аналогичное решение возможно и для коммутации пакетов.Это решение называют переключателем Батчера-Баньяна. Как и переключатели выталкивающеготипа, переключатель Батчера-Баньяна синхронный, т.е. за один цикл он может обрабатывать нескольковходных линий. На рисунке 2-69(а) показан трехступенчатый 8х8 переключатель Баньяна.
Онназывается так, поскольку похож на корни баньянового дерева. В баньяновых переключателях длякаждого входа существует ровно один путь к любому из выходов. Маршрутизация пакета происходит вкаждом узле на основе адреса выходной линии, которой должен достичь пакет. Адрес выходной линииопределяют на входе по номеру виртуального соединения. В данном случае трехбитовый номер впередиячейки используется в каждом узле для маршрутизации.Рисунок 2-69. Трехступенчатый 8х8 переключатель БаньянаВ каждом из 12 переключающих элементов есть два входа и два выхода.
В зависимости от значениясоответствующего разряда ячейка направляется либо в порт 0, либо в порт 1. Если обе ячейки,поступившие на вход одного и того же коммутирующего элемента, должны быть направлены на один и тотже порт, то направляется одна, а вторая сбрасывается.Итак, адрес выходной линии анализируется в каждом элементе слева направо. Например, код 001означает, что соответствующая ячейка будет направлена на верхний, потом еще раз на верхний, а затемна нижний порты.
Коллизии в баньяновской сети возникают, когда в одном и том же элементе в одно итоже время надо использовать один и тот же порт. На рисунке 2-70 (а) показаны коллизии. На рисунке2-70 (b) те же 8 ячеек коммутируют без коллизий. Вывод: в зависимости от распределения ячеек навходе баньяновская сеть либо будет терять ячейки, либо нет.Рисунок 2-70. Пример коллизий и способ их разрешенияИдея Батчера состояла в том, чтобы переставить ячейки на входах так, чтобы в баньяновской сетиконфликтов не возникало.