Коммутация пакетов с использованием виртуальных каналов – это технологии передачи данных сетевого уровня, объединяющие свойства коммутации каналов и коммутации пакетов. При этом в значительной мере удается реализовать достоинства обоих методов коммутации. В настоящее время достаточно широко применяются технологии сетей X.25, Frame Relay, ATM.
Данные передаются на сетевом уровне в виде пакетов, имеющих стандартную структуру и размеры. Пакеты данных от одного конечного узла DTE к другому конечному узлу DTE можно передавать в сети только после установления соединения – специальной сетевой процедуры создания виртуального канала. Виртуальное соединение в отличие от физического соединения не закрепляет жестко ресурсы канала передачи данных, виртуальное соединение необходимо только для указания выбранного в соединении постоянного маршрута для доставки пакетов. Пакеты разных виртуальных каналов могут конкурировать за доступ к каналу передачи данных, так как один канал может обслуживать несколько виртуальных соединений.
Так же как и в физических соединениях возможны два типа каналов: коммутируемые виртуальные каналы (SVC) и постоянные виртуальные каналы (PVC). Виртуальные каналы существуют в виде записей в таблицах коммутации портов коммуникационных узлов сети. В соответствии с этими таблицами коммутации каждый поступающий пакет направляется по соответствующему зарегистрированному виртуальному каналу.
PVC создаются вручную и закрепляются постоянно аналогично выделенным телефонным линиям. Стоимость PVC намного ниже, чем выделенных линий, так как пропускная способность каналов передачи данных делится между многими пользователями. В большинстве случаев нет необходимости поддерживать PVC (и платить за него), виртуальное соединение SVC создают только на периоды передачи данных. Создание SVC, т.е. выбор маршрута для доставки пакетов, производится коммуникационными узлами (маршрутизаторами) автоматически по специальной заявке, поступающей от конечного узла. После окончания передачи данных SVC отключается также с помощью специальной процедуры.
Основная задача, решаемая при создании виртуального канала, – решить задачу маршрутизации и зафиксировать этот маршрут в коммуникационных узлах сети. На сетевом уровне, при использовании технологии виртуальных каналов маршрутизация является одной из наиболее сложных задач и решается только один раз при создании виртуального канала. Это существенно упрощает процедуры доставки пакетов по зарегистрированному виртуальному соединению. Фактически алгоритмы управления и контроля работы по виртуальному каналу близки к соответствующим алгоритмам, используемым на канальном уровне в рамках протоколов HDLC.
Естественно, что создание виртуального канала между конечными узлами требует передачи их полных сетевых адресов. Адресация сетевых пакетов по уже созданному виртуальному соединению производится с помощью идентификатора виртуального канала VCI. Значение VCI определяется при создании виртуального канала, в отличие от сетевого адреса имеет не глобальный, а локальный смысл, т.е. каждый маршрутизатор присваивает определенный номер создаваемому виртуальному каналу на каждом участке сети. Причем во входном порте VCI имеет одно значение, а выходном порте – уже другое. Эти значения VCI регистрируются в специальных таблицах коммутации портов маршрутизатора и для передаваемых по виртуальному каналу пакетов автоматически изменяются при передаче с входного порта в выходной. Так как число поддерживаемых одновременно виртуальных каналов в маршрутизаторе относительно невелико, объем таблиц коммутации портов и размер VCI также небольшой.
В соответствии с этими факторами маршрутизация пакетов существенно ускоряется. Кроме того, использование простых и небольших по размеру VCI позволяет существенно сократить объем служебных полей пакета и соответственно повысить скорость передачи полезной информации. Следует отметить, что это преимущества уже созданного виртуального соединения. А создание виртуального соединения – это сложная и достаточно громоздкая процедура, обычно она выполняется по запросу конечного узла с помощью специального служебного пакет Call Request. Если в процессе передачи данных виртуальный канал отказывает по какой-либо причине, продолжение передачи данных возможно только после создания нового виртуального канала. Необходимо также учитывать, что из-за большого числа коммуникационных устройств, поддерживающих функционирование виртуального канала, вероятность отказов существенно выше, чем в процедурах канального уровня. Поэтому на сетевом уровне необходимы более жесткие процедуры контроля работы и восстановления корректной работы после сбоев.
Совершенствование техники виртуальных каналов тесно связано с развитием технологий передачи данных в телефонных сетях. Первые такие сети стандарта X.25 создавались для работы в аналоговых телефонных сетях, поэтому X.25 обеспечивают относительно низкую производительность, но весьма высокую надежность при передаче данных. Сети ISDN используют исключительно цифровые алгоритмы передачи данных с более высокой скоростью и помехоустойчивостью. Это позволило упростить процедуры контроля сообщений для повышения производительности и создать технологию Frame Relay, как одну из сетевых служб ISDN. Frame Relay обеспечивает не только передачу данных между DTE, но и может гарантировать определенное качество сервиса при доставке сообщений. Появление высокоскоростных цифровых магистральных каналов стандартов SDH/SONET привело к разработке сетей ATM, которые обеспечивают весьма высокую производительность при высоком качестве сервиса.
Сервисы ISDN обладают гораздо более высоким качеством, чем аналоговых телефонных сетей. Кроме более высокой помехоустойчивости ISDN предоставляет два типа интерфейсов для пользователей: базовый (BRI) и первичный (PRI) интерфейсы. BRI содержит 2 B канала и D канал (2х64+16) с суммарной пропускной способностью 144 кбит/с. PRI – по европейским стандартам 30 B и D канал (30х64+64) с суммарной пропускной способностью 1984 кбит/с. Телефонные аппараты подключаются через S интерфейс (B+D). Стандарты определяют три нижних уровня, на сетевом уровне определены процедуры установления соединения (коммутация каналов).
Сети АТМ
Технология ATM наиболее полно совмещает особенности коммутации пакетов и коммутации каналов. Данные передаются в виде пакетов в виртуальных каналах, пакеты имеют строго фиксированный небольшой объем.
Все это позволяет обеспечить предсказуемые задержки в сети, заказать при установлении соединения требуемые параметры качества сервиса и обеспечивать их для разных видов трафика. Организация передачи данных ориентирована на технологии магистральных каналов SDH/SONET, поэтому базовой скоростью для ATM является скорость 155 Мбит/с. Основное назначение ATM – обеспечить асинхронный режим передачи данных в синхронных каналах SDH/SONET. Хотя ядро стандартов было утверждено в 1993 г., работа по стандартизации различных аспектов этой технологии еще далеко не завершена.
ATM – технология передачи данных, способная обслуживать разные виды трафика в соответствии с их требованиями. Классы обслуживания имеют ряд градаций от передачи данных “по возможности” до “малых задержек и малых потерь”. Для идентификации конечных узлов используются 20-байтовые адреса, имеющие классическую иерархическую структуру.
Как и в других сетях этого класса, адреса используются только для маршрутизации при установлении соединения. В виртуальном соединении коммутация пакетов производится идентификатором из двух элементов: идентификатор виртуального пути (VPI), идентификатор виртуального канала (VCI). VPI используется для ускорения коммутации и одинаков для виртуальных каналов, имеющих одинаковый маршрут на данном участке сети. Его можно рассматривать как старшую часть локального адреса, используемую для коммутации пакетов с общим маршрутом.
Пакеты ATM – ячейки (cell) имеют размер 53 байта (5 байт служебных). Размер ячейки установлен компромиссный для разнородных требований. Уменьшение размера облегчает синхронизацию передающей и принимающей стороны, увеличение – снижает долю служебной информации в передаваемых данных. Кроме стандартизованного размера ячейки в АТМ еще более полно реализована идея заказа пропускной способности и качества обслуживания. В зависимости от предъявляемых требований имеется 5 классов трафика, определяющих качественные характеристики:
A – трафик с постоянной битовой скоростью (CBR), временной синхронизацией передающей и принимающей стороны, с установлением соединения (на транспортном уровне).
B – трафик с переменной битовой скоростью (VBR), временной синхронизацией передающей и принимающей стороны, с установлением соединения (на транспортном уровне).
C – трафик с переменной битовой скоростью (VBR), без синхронизации передающей и принимающей стороны, с установлением соединения (на транспортном уровне).
D – трафик с переменной битовой скоростью (VBR), без синхронизации передающей и принимающей стороны, без установления соединения (на транспортном уровне).
X – тип трафика определяется пользователем.
Количественные характеристики, поддерживаемые АТМ, следующие:
- максимальная скорость передачи данных – PCR,
- средняя скорость передачи данных – SCR,
- минимальная скорость передачи данных – MCR,
- максимальный размер пульсации – MBS,
- доля потерянных ячеек – CLR,
- задержка передачи ячеек – CTD,
- вариации задержки ячеек – CDV.
При создании виртуального соединения между пользователем и сетью определяется уровень сервиса, так называемым трафик-контрактом, в котором определяется класс трафика и необходимые количественные характеристики соединения. Если не требуется строгое поддержание параметров пропускной способности, предусмотрен тип трафика с неопределенной скоростью –UBR. Для UBR сеть выделяет ресурсы “по возможности”, т.е. те ресурсы, которые в данный момент свободны.
Стэк протоколов АТМ не полностью соответствует модели OSI. В технологии АТМ решаемые задачи представлены в двух уровнях: уровне адаптации – AAL, уровне АТМ. Уровень AAL по решаемым задачам ближе к протоколам транспортного уровня и состоит из подуровня конвергенции CS и подуровня сегментации и реассемблирования SAR. CS отвечает за взаимодействие с верхними уровнями и обеспечивает требуемый класс трафика, синхронизацию между передающим и принимающим узлом, контроль данных и целостности сообщений для верхних уровней.
SAR преобразует поступающие с верхнего уровня пакеты в последовательность стандартных ячеек АТМ при передаче и выполняет обратное преобразование при приеме. Уровень АТМ в большей степени включает задачи сетевого и канального уровней: маршрутизацию, управление потоком, обработку приоритетов. Служебные заголовки AAL находятся в поле данных ячейки и коммутаторами АТМ не обрабатываются. С помощью этих служебных полей в конечном узле происходит восстановление исходного сообщения из принятых ячеек. Процедуры восстановления потерянных данных в AAL не предусмотрены. При используемых средствах физического уровня искажение сообщений полагается крайне маловероятным, поэтому AAL предусматривает только уведомление вышестоящих уровней при обнаружении искажений.
Протокол AAL1 предназначен для обслуживания трафика классов А или B и эмулирует выделенные цифровые линии, в частности этот протокол должен сглаживать неоднородности во времени поступления ячеек.
Протокол AAL3/4 предназначен для обработки пульсирующего трафика классов C, D, иногда B (при не очень жестких требованиях). Протокол предусматривает довольно строгие процедуры контроля сообщений: нумеруется каждая ячейка исходного сообщения, каждая ячейка содержит контрольное поле (CRC). При обнаружении ошибки все сообщение стирается, так как процедуры восстановления не предусмотрены.
Протокол AAL5 является дальнейшим упрощением (классы C и D), контрольное поле вычисляется для всего сообщения и помещается в последнюю ячейку. Этот протокол предназначен для передачи не только пользовательских данных, но и служебных.
В коммутаторах АТМ этот протокол поддерживает процедуры установления виртуальных соединений. Протоколы подуровня AAL только определяют условия трафик-контракта, выполнение его условий обеспечивается работой коммутаторов, которые должны передавать ячейки с заданным уровнем качества обслуживания.
Процедуры, определяющие работу коммутаторов, являются основным содержанием протокола ATM. Протокол ATM обеспечивает передачу ячеек в установленном виртуальном соединении: выполняет коммутацию по номеру виртуального соединения, контролирует соблюдение трафик-контракта конечным узлом, отбрасывает ячейки-нарушители при перегрузке сети, управляет потоком ячеек для повышения производительности.
Контрольное поле заголовка позволяет исправлять однократные ошибки и некоторые виды двукратных ошибок.
Установление соединения производится по протоколу Q.2931. Формат адреса размером 20 байт описан в стандарте ISO 7498, адрес имеет типичную иерархическую структуру. При запросе на установление соединения конечный узел передает требуемые значения параметров трафика, коммутатор сети их анализирует и при наличии необходимых свободных ресурсов производит создание нового виртуального соединения. Если ресурсов недостаточно, заявка отклоняется.