В отличие от большинства технологий локальных сетей, ATM использует стратегию передачи данных, ориентированную на предварительное установление соединения.
Сети без установления соединения основываются на концепции разделяемых сегментов. Они строятся исходя из предположения, что каждая станция в сегменте должна видеть любую другую и иметь возможность передавать ей данные. В каком порядке станции будут получать передаваемые данные — в одно и то же время, как в Ethernet, или последовательно, как, например, в Token Ring и FDDI, — не имеет значения. Основная идея технологии состоит в том, что трафик от любой станции в сегменте локальной сети достигает всех других станций в этом же сегменте. При получении данных станция определяет, кому они адресованы, и на основании этого либо обрабатывает, либо отбрасывает их.
Такие устройства, как мосты, коммутаторы и маршрутизаторы, используются в сетях без установления соединения как раз для изолирования сегментов сети друг от друга. В этом случае поток трафика контролируется тем или иным устройством, а сам трафик между сегментами сводится к минимуму.
Отправляя данные, станция предполагает, что все остальные станции в сети без установления соединения получат переданные ею данные. Этой станции ничего не известно о наличии у другой станции возможности на приеме посланных кадров, более того, она вообще не имеет сведений о присутствии станции-адресата в сети.
Завершение передачи означает окончание работы с текущим блоком данных, так как в ее основе лежит предположение, что передача всегда бывает успешной. При возникновении проблем в передаче, при недоступности получателя или отсутствии у него возможности обрабатывать полученные кадры, передающая станция без использования специальных механизмов не имеет никаких шансов узнать о дальнейшей судьбе своей посылки.
После того как кадр оказался в сети, он предоставлен самому себе. В результате он должен содержать большой объем контрольной информации, дабы его передача по сети оказалась успешной. Это ведет к необходимости включать и обрабатывать боль-
шое количество контрольной информации в каждый кадр. Например, кадр канального уровня в технологии Ethernet содержит 18 байт контрольной информации, причем она должна быть прочитана всеми станциями в сегменте для определения того, кто является его адресатом.
Кадры с данными передаются без учета текущего состояния сети и без предопределенных путей передачи, поэтому каждый кадр обрабатывается индивидуально и независимо от других. Если отправитель имеет 500 кадров с данными для посылки одному и тому же получателю, то первый и последний кадры обрабатываются без всяких различий всеми устройствами в сети. Например, коммутатор между двумя станциями будет реагировать, например, на сотый кадр в обмене данными между двумя станциями так, как будто это первый кадр в новом обмене.
НЕЛЬЗЯ ПРЕОДОЛЕТЬ ПРОПАСТЬ В ДВА ПРЫЖКА...
Ориентированные на установление соединения сетевые технологии работают совершенно по-другому. Такие сети базируются на концепции выделенного виртуального канала между сетевы-ми устройствами. Для сравнения мы можем привести телефонные сети: там соединение устанавливается между двумя или более абонентами на все время диалога между ними.
В сетевых технологиях, ориентированных на установление соединения, передача и получение данных любого типа определяются непосредственно самой сетью. Получатель может принимать данные от отправителя, если он удовлетворяет определенным требованиям последнего. И, как следствие, отправитель никогда не сможет послать данные абоненту, если тот недоступен в настоящий момент времени. Если получатель не в состоянии принимать данные, то отправитель будет информирован о том, что соединение не может быть установлено, и поэтому данные не могут быть переданы.
Сети с установлением соединения ориентированы на факт существования коммутируемого канала между устройствами. Коммутаторы в таких сетях служат для создания и управления выделенными соединениями и ретрансляции данных.
Если отправитель намеревается передавать данные по таким сетям, то он должен сначала послать запрос на открытие соединения. Здесь мы можем вновь привести аналогию с разговором по телефону, где набор номера абонента адекватен функции запроса на установление соединения, которое в телефонной сети создается после ответа абонента. Процесс передачи данных может начинаться только тогда, когда отправитель извещается о том, что получатель готов их принимать.
При создании выделенного соединения отправитель может потребовать от сети предоставления соединения с определенными характеристиками. Этими характеристиками могут быть как гарантированная пропускная способность, так и различные параметры качества обслуживания. Если отправителю требуется конкретная пропускная способность между ним и получателем, например в 20 Мбит/с, а также гарантия определенной задержки и надежности канала, то при наличии ресурсов сеть предоставляет такой канал, гарантирует скорость, надежность и другие заявленные характеристики. Если сеть не может их гарантировать, она не позволит установить соединение.
Поскольку передача данных зависит от наличия соединения между абонентами, она позволяет обойтись меньшим объемом контрольной информации, чем тот, что необходим каждому кадру в сети без установления соединения. Хотя в процессе установления соединений такой сети может потребоваться значительный объем информации с детальным описанием параметров соединения, после установления соединения содержащаяся в передаваемых блоках контрольная информация минимальна. Например, в сетях на базе технологии ATM данные передаются в ячейках, содержащих всего 5 байт служебной информации. Очевидно, что этот объем гораздо меньше требуемых в случае кадров Ethernet 18 байт.
После того как соединение установлено, передача данных никак не зависит от поведения других станций. Использование выделенного соединения позволяет значительно сократить время полного обмена данными между станциями. Уменьшение накладных расходов на обработку большого объема контрольной информации и избавление от непредсказуемых сетевых задержек при прохождении данных через все устройства в сети делают обмен в сетях с установлением соединения более простым и быстрым.
В сети ATM все устройства, такие, как рабочие станции, серверы, маршрутизаторы и мосты, подключаются непосредственно к портам коммутатора. При запросе соединения каким-либо устройством коммутатор, к которому оно подключено, устанавливает это соединение. При этом коммутаторы определяют оптимальный маршрут для передачи данных. В традиционных сетях данная функция возложена на маршрутизаторы.
Когда соединение открыто, коммутаторы начинают функционировать как мосты, т. е. они просто пересылают пакеты. Однако такие коммутаторы отличает от мостов один важный момент: если мост отправляет пакеты по всем достижимым адресам, то коммутатор пересылает ячейки только следующему узлу на заранее выбранном маршруте.
Сеть Ethernet может быть также построена таким образом, что все рабочие станции будут подключены непосредственно к коммутатору. В такой конфигурации коммутация в Ethernet становится похожей на коммутацию в сети ATM, так как каждое устройство получает прямой доступ к порту коммутатора, который при этом не является устройством совместного доступа.
Однако технология коммутации в сети ATM имеет несколько существенных отличий от аналогичной в сети Ethernet. Так, каждое устройство в сети ATM имеет непосредственный доступ к порту коммутатора, поэтому необходимость в дополнительных схемах для определения того, какое из этих устройств имеет больший приоритет, отпадает. Вместе с тем станциям приходится конкурировать за доступ к коммутатору Ethernet даже несмотря на их прямое подключение к порту. Кроме того, процесс коммутации в сетях ATM также отличается от процесса коммутации в сетях Ethernet тем, что коммутаторы ATM устанавливают соединение между отправителем и получателем, а коммутаторы Ethernet — нет. Более того, коммутаторы ATM осуществляют как бы надзор за проходящим трафиком, передавая ячейки немедленно после их получения. Для реализации быстрой пересылки всех поступающих ячеек коммутаторы оснащаются сверхбыстрой схемой коммутации, при этом их порты имеют достаточно большую пропускную способность.
КТО ХОЧЕТ ДОСТИЧЬ ЦЕЛИ, ДОЛЖЕН ЕЕ ЗНАТЬ!
Виртуальное соединение — это некая логическая связь между двумя устройствами в сети ATM. Оно может существовать между коммутатором и конечной станцией, между двумя конечными станциями или между двумя коммутаторами. Такие виртуальные соединения идентифицируются специальным числовым кодом, присваиваемым коммутаторами, участвующими в процессе установления соединения.
В общем случае виртуальные соединения устанавливаются и закрываются коммутаторами по мере необходимости. При создании виртуальное соединение получает уникальный идентификатор в соответствии со своим типом. Достоинством виртуальных соединений является их гибкость — они легко добавляются, удаляются и изменяются, что очень трудно сделать с физическим каналом.
По опыту работы мы можем привести массу практических примеров, когда использование виртуальных соединений экономило организациям время на реконфигурацию сети. Еще одним очень ценным их преимуществом оказывается возможность динамического распределения трафика по нескольким виртуальным соединениям. Понятно, что такой способ приводит к более эффективному использованию каналов связи, чем это имеет место при статическом распределении, например в случае выделенных каналов связи.
Помимо этого, виртуальные соединения могут быть расширены для удовлетворения специальных запросов приложений. Это позволяет сети справляться с пиковыми увеличениями объема передаваемого трафика. При этом оставшаяся ширина полосы может быть активно использована для обслуживания запросов на открытие других активных соединений. Удовлетворение виртуальными соединениями особых запросов поддерживаемых приложений называется пакетизацией (bursting).
Одними из преимуществ работы в среде с динамическим распределением пропускной способности и поддержкой пакетной передачи являются возможность настройки сети в соответствие со среднестатистическими моделями трафика и применение режима пакетной передачи для пересылки больших файлов и интенсификации деятельности в рабочее время. В результате это позволяет сократить затраты: сеть не нужно будет проектировать в расчете на предполагаемые пиковые нагрузки.
Виртуальное соединение — это логический канал доставки ячеек между двумя конечными устройствами в сети ATM. В стандартах, определенных Форумом ATM, логическое соединение, устанавливаемое между двумя конечными станциями ATM, называется соединением виртуальных каналов (Virtual Channel Connection, VCC). VCC — это соединение, состоящее из одного или более виртуальных каналов (Virtual Channel, VC).
Виртуальный канал — это однонаправленное соединение для передачи ячеек с одинаковым идентификатором. При открытии виртуальный канал получает уникальную метку, называемую идентификатором виртуального канала (Virtual Circuit Identifier, VCI). Этот идентификатор используется двумя соседними устройствами, участвующими в процессе передачи данных, для определения направления коммутации ячеек, относящихся к этому виртуальному каналу. Иными словами, идентификатор используется коммутаторами ATM для перенаправления полученных ячеек на определенный порт. Идентификатор изменяется при передаче ячеек от коммутатора к коммутатору. Данная схема позволяет каждому коммутатору определить, куда передавать ячейку после ее получения. Виртуальное соединение является двунаправленным; это означает, что после его установления каждая конечная станция может как посылать пакеты, так и получать их от другой станции.
Виртуальный путь (Virtual Path, VP) — это путь, объединяющий группу однонаправленных виртуальных каналов. Эти виртуальные каналы должны предъявлять схожие требования к сети, но могут иметь разных абонентов. Как и виртуальные каналы, виртуальные пути имеют свой уникальный идентификатор, называемый идентификатором виртуального пути (Virtual Path Identifiers, VPI). По аналогии этот идентификатор служит для коммутации ячеек с одного порта на другой. Рисунок 1 показывает соответствие между виртуальными каналами и виртуальными путями.
Для описания части соединения виртуальных каналов используется понятие "звено виртуального канала" (Virtual Channel Link, VCL) (см. Рисунок 2).
В сетях ATM соединение вертикальных каналов обладает следующими характерными особенностями:
- создается и закрывается функциями верхних уровней;
- поддерживает качество обслуживания;
- может быть как коммутируемым, так и постоянным;
- получение ячеек происходит в порядке их передачи;
- поддерживает двунаправленный и однонаправленный поток данных;
- резервирует и присваивает определенные значения VCI для специфических функций;
- поддерживает одинаковые или разные значения пропускной способности в обоих направлениях.
Отрезок между точками, где происходит назначение и трансляция идентификаторов виртуальных путей, называется звеном виртуального пути (Virtual Path Link, VPL). Соответственно, последовательность звеньев виртуальных путей называют соединением виртуальных путей (Virtual Path Connection, VPC) (см. Рисунок 3). Отметим, что VPC обладает примерно теми же характерными особенностями, что и VCC.
Механизм коммутации ячеек в сети ATM базируется на технологии обмена меток (label swapping). Она также используется и в других сетях с коммутацией пакетов, например в X.25 или frame relay. Механизм работы этой технологии прост: каждый пакет содержит логический идентификатор соединения (LCID). Каждым коммутатором ведется таблица коммутации, записи которой определяют соответствие между LCID и входящим портом, а также новый LCID для исходящего порта. Процесс коммутации продолжается до тех пор, пока пакет не достигает получателя.
Технология обмена меток эффективна по ряду причин. Логика извлечения и обработки LCID не очень сложна, так как LCID обычно имеет длину в несколько бит. Сетевых адресов или глобальных идентификаторов соединений из конца в конец, о которых нужно заботиться, не существует. Функция коммутации выполняется либо на аппаратном, либо на программном уровне коммутатора и, по существу, оказывается основной выполняемой коммутатором операцией. Это приводит к уменьшению времени, затрачиваемого на коммутацию, что очень важно для чувствительного к задержкам трафика.
Таблица коммутации может формироваться либо вручную, либо с помощью протоколов сигнализации. Она должна быть сформирована до того, как поступит первый пакет. Таким образом, можно сказать, что все решения о коммутации уже приняты до того, как поступит первый пакет с пользовательскими данными.
В технологии ATM LCID является комбинацией полей VPI и VCI в заголовке ячейки. После того как соединение установлено, коммутаторы между конечными станциями на основании таблицы коммутации определяют, куда необходимо направлять ячейки. Таблицы предоставляют следующую информацию: адрес порта, с которого ячейка поступила, и значения VCI/VPI. Таблицы также определяют, какие значения VCI и VPI коммутатор должен включить в заголовки ячеек перед тем, как передать их далее.
Вследствие наличия двух идентификаторов (для виртуального пути и виртуального соединения) коммутация выполняется на двух уровнях. Первый уровень — это коммутация виртуальных путей.
Рассмотрим пример (см. Рисунок 4), в котором коммутатор имеет четыре физических порта. Каждый порт обслуживает один виртуальный путь и одну таблицу коммутации, содержащую одну запись для каждого порта. Таблица коммутации для порта 1 приведена в Таблице 1.
Входящий VPI | 1 |
Выходящий порт | 4 |
Выходящий VPI | 6 |
Выходящий VCI | 21, 22 |
При поступлении ячейки на порт 1 коммутатор считывает поле VPI в ее заголовке. Его значение используется для нахождения подходящей записи в таблице коммутации порта. В рассматриваемом примере ячейка поступает на порт 1 с полем VPI = 1, и она должна быть отправлена на порт 4 с измененным значением поля VPI = 6. Значения поля VCI заголовка не изменяются.
Второй уровень коммутации — это коммутация VC. Помимо таблицы коммутации виртуальных путей каждый порт имеет также таблицу коммутации виртуальных каналов для каждого виртуального пути. Пример таблицы коммутации виртуальных каналов для порта 1 приведен в Таблице 2.
Входящий VPI | 21 | 22 |
Выходящий порт | 4 | 4 |
Выходящий VPI | 6 | 6 |
Выходящий VCI | 51 | 52 |
Служебная информация поступившей на порт 1 коммутатора ячейки проверяется и используется для нахождения подходящей записи в таблице коммутации виртуальных путей. Ячейка со значением поля VPI = 1 должна быть отправлена, как уже говорилось, на порт 4 с измененным значением поля VPI = 6. После проверки таблицы коммутации виртуальных путей коммутатор проверяет также таблицу коммутации виртуальных каналов для значения поля VPI = 1. В приведенном примере ячейка, поступившая на порт 1 со значением поля VCI = 21, должна быть отправлена на порт 4 с измененным значением VCI = 51. Вторая запись в таблице коммутации виртуальных каналов для VPI = 1 указывает на то, что ячейка с VCI = 22 должна быть отправлена на порт 4 коммутатора с VCI = 52.
Рисунок 5 иллюстрирует преобразование значений VPI и VCI в простой сети ATM, состоящей из двух коммутаторов ATM — А и B, к которым подключены станции C и D соответственно. В этом примере отправитель — станция C — посылает ячейки получателю — станции D. Эти ячейки передаются по сети через предварительно установленное виртуальное соединение и достигают порта 1 коммутатора А. Заголовок ячейки содержит поля VPI/VCI, каждое из которых проверяется коммутатором. Сравнивая значения этих полей со своей внутренней таблицей коммутации, коммутатор А определяет, что поступившие на порт 1 ячейки со значениями VCI = 41 и VPI = 12 должны быть переданы на порт 2. После этого коммутатор изменяет содержимое этих полей в ячейках перед их передачей следующему коммутатору. Новые значения соответственно VCI = 15 и VPI = 62.
После того как коммутатор А передал ячейки через порт 2, они поступают на порт 1 коммутатора В. Коммутатор B ничего не знает о том, что ячейки изначально имели другие значения полей VCI/VPI. Коммутатор B сравнивает эти значения со своей собственной таблицей коммутации и определяет, что поступившие на его порт 1 ячейки с полями VPI = 62 и VCI = 15 должны быть переданы на порт 2 со значениями полей VPI = 73 и VCI = 19. Соответствующие поля заголовка ячеек изменяются, и ячейки передаются станции D.
В более сложных сетях различные виртуальные соединения могут проходить через один физический канал связи. Рисунок 6 показывает небольшую сеть ATM, в которой данные одновременно передаются между двумя парами абонентов — станциями C/D и E/F. Первая пара абонентов работает аналогично уже рассмотренному примеру. Станция-отправитель E, которая также подключена к сети, намеревается передавать серию ячеек через существующее виртуальное соединение станции-получателю F.
При обработке отправленных станцией E ячеек коммутатор A установит, что трафик от этой станции предъявляет те же требования к сети, что и трафик от станции C. Коммутатор А определяет, что передаваемые станцией E ячейки должны иметь уникальный идентификатор VCI, и присваивает значение поля VCI = 48, но ячейки от станций C и E получат один и тот же идентификатор поля VPI = 62. Это связано с тем, что оба потока ячеек от разных станций проходят по одному виртуальному пути. Коммутатор B функционирует аналогично.
Следует отметить, что комбинация полей VPI/VCI — это не адрес. Она не указывает ни на адрес отправителя, ни на адрес получателя информации. Правильнее сказать, что это некий ярлык, благодаря которому ячейка может быть идентифицирована и передана через сеть АТМ в требуемом направлении.
ПОСТОЯННЫЕ И ВРЕМЕННЫЕ
Как уже было отмечено, конечные устройства в сетях ATM передают друг другу данные по предварительно установленному соединению. Эти логические, устанавливаемые из конца в конец сети соединения могут функционировать постоянно или создаваться при необходимости. Например, пользователь может сообщить администратору сети, какие конечные станции должны взаимодействовать, и тот установит постоянное соединение между ними.
Технологией ATM определяются два типа соединений между устройствами в сети ATM: постоянное виртуальное соединение (Permanent Virtual Circuit, PVC) и коммутируемое виртуальное соединение (Switched Virtual Circuit, SVC). Каждый тип соединения предоставляет различные сервисные и конфигурационные возможности.
Постоянные соединения устанавливаются вручную и, как правило, остаются активными в течение долгого периода времени. В случае возникновения сбоев или ошибок постоянное соединение может автоматически восстановиться, так как его параметры известны. С другой стороны, коммутируемое соединение устанавливается в реальном времени при помощи протоколов сигнализации и остается активным до тех пор, пока надобность в нем не отпадет. По окончании передачи соединение должно быть закрыто, иначе оно завершается по определенному алгоритму через предопределенный промежуток времени.
Постоянное виртуальное соединение устанавливается один раз и поддерживается до тех пор, пока оно не будет закрыто. Такое соединение предполагает длительное использование и организуется между устройствами, обмен данными между которыми происходит на постоянной или регулярной основе. Настройка постоянных виртуальных соединений в больших сетях может занять много времени, но при этом администратор получает полный контроль над таким соединением. После установления постоянного виртуального соединения для него резервируется определенная часть пропускной способности сети, и абонентам не требуется выполнять процедуры установления или завершения соединения. Такой тип соединения обеспечивает хороший контроль над сетью, так как администратор сети может самостоятельно выбирать путь, по которому будут передаваться данные.
Коммутируемые виртуальные соединения устанавливаются на определенный период времени и закрываются по его завершении. В отличие от постоянных соединений, которые устанавливаются вручную, коммутируемые создаются автоматически, средствами самой сети ATM. При запросе соединения отправителем сеть ATM распространяет адресные таблицы и сообщает, какие значения полей VCI и VPI должны быть включены в заголовки ячеек.
К достоинствам коммутируемого виртуального соединения можно отнести широкие возможности управления сетью, учет сетевых ресурсов, а также возможность организации сетевого взаимодействия между объектами любого ранга.
Постоянные виртуальные соединения имеют два преимущества над коммутируемыми. В сети, где используются коммутируемые соединения, установление соединений отнимает определенное время, тогда как постоянные соединения устанавливаются заранее, поэтому они могут обеспечить более высокую производительность. Важной характеристикой производительности коммутатора является количество соединений, устанавливаемых и завершаемых за одну секунду. Исследования, проведенные организацией Tolly Group, показали, что все коммутаторы можно разбить на три категории: с числом соединений менее 30, от 88 до 126 и более 300 в секунду. Чем больше значение этого показателя, тем лучше — быстрее — работает сеть ATM.
Коммутируемые виртуальные соединения устанавливаются и завершаются быстрее, чем постоянные, поэтому работа таких сетей близка к работе сетей без установления соединений. Эта возможность оказывается ценной в том случае, если используемые приложения не рассчитаны на установление соединений.
Следующим достоинством коммутируемых виртуальных соединений является то, что они занимают пропускную способность сети, только когда это необходимо, т. е. пока они открыты, в то время как постоянные соединения резервируют ее постоянно. Кроме того, коммутируемым соединениям требуется уделять меньше внимания со стороны администратора сети (так как они устанавливаются автоматически, а не вручную). Они хорошо защищены от сбоев и отказов, так как в случае выхода из строя коммутаторов, организующих такое соединение, другие коммутаторы могут выбрать обходной путь.
Благодаря наличию механизма поддержки коммутируемых виртуальных соединений взаимодействие между удаленными устройствами значительно упрощается. Эти соединения могут быть востребованы, например, для работы с приложениями, не предполагающими постоянной загрузки сети (в частности, для электронной почты). Более того, такие соединения могут рассматриваться в качестве основных для реализации взаимодействия между корпоративными сетями разных организаций.
Очень важным качеством коммутируемых соединений является возможность получения администратором широкого круга статистических данных о работе сети. Такие данные могут оказаться очень полезными при оценке необходимой пропускной способности магистрали. И наконец, коммутируемые виртуальные каналы лежат в основе таких технологий ATM, как LANE, классический IP и MPOA.
Максим Кульгин — cотрудник компании "Комплит" (Санкт-Петербург). С ним можно связаться по тел. (812) 327-3180 или адресу: mk@complete.ru.