Для различных видов информации (голос, видеоинформация и данные), передаваемой с помощью ATM, определены следующие классы сервисов:
класс А используется для передачи с постоянной скоростью потока данных (Constant Bit Rate, CBR), обеспечивает эмуляцию коммутированного канала, подходит для голосовых данных;
класс В используется для передачи с переменной скоростью потока данных (Variable Bit Rate, VBR), например для видеоконференций;
класс С используется для передачи данных с установлением соединения;
класс D используется для передачи данных без установления соединения.
В уровне адаптации имеется подуровень сегментации и обратной сборки SAR (Segmentation And Reassembly), предназначенный для взаимного преобразования блоков высших протоколов в ячейки и обратно. Для каждого класса сервиса первоначально были определены соответствующие уровни адаптации AAL1-AAL4, но в процессе развития стандарта остались следующие:
АAL1 – сервис с установлением соединения, эмулирующий линию связи (circuit-emulation), предназначен для передачи данных с постоянной скоростью (класс А). Он удобен для передачи голоса, организации видеоконференций и эмуляции – подключения через выделенную линию. AAL1 требует синхронизации между источником и конечным приемником, которая обеспечивается используемыми линиями связи (например, SONET/ SDH). В контейнер кроме собственно данных помещается последовательный номер ячейки SN (Sequence Number) и поле SNP (Sequence Number Protection), его защищающее. По этим полям AAL1 на приемной стороне может убедиться в корректности порядка приема ячеек.
AAL3/4 – сервисы с установлением соединения и без установления соединения. Форматы ячеек для обоих классов (С и D) оказались одинаковыми. Здесь из пользовательских данных формируются протокольные блоки PDU (Protocol Data Unit), добавляя перед началом данных заголовок и поле длины после данных. Далее этот блок фрагментируется на порции маленького размера, каждая порция снабжается заголовком SAR для нее подсчитывается контрольное поле (CRC-10), добавляемое в конце. Эти порции с CRC помещаются в поле данных ячеек, которые снабжаются заголовком и спускаются на уровень ATM для передачи. Таким образом, каждый фрагмент протокольного блока имеет контроль достоверности передачи. В заголовке SAR имеется поле типа (первая, промежуточная или последняя ячейка в сообщении), последовательный номер (для сборки в правильном порядке) и идентификатор мультиплексирования (multiplexing identifier), который позволяет выявлять трафик конкретного источника, чередующегося с другими в одном виртуальном соединении.
AAL5 изначально предназначен для передачи данных установлением соединения без установления соединения. Он используется, например, для классической реализации IР поверх ATM (classical IP over ATM) и эмуляции локальных сетей LANE (LAN Emulation). Здесь упаковка происходит проще: к блоку пользовательских данных добавляется заполнитель и хвостовик (trailer). Хвостовик содержит поле длины и 32-битную контрольную последовательность (CRC), благодаря которой можно выявлять продажу ячеек и искажение данных. Заполнитель обеспечивает длину результирующего блока, кратную 48 байт. Далее весь этот блок 48-байтными порциями укладывается в поля данных последовательных ячеек. У последней ячейки сообщения в заголовке устанавливается соответствующий бит в поле РТ. Здесь избыточность значительно меньше, но невозможно мультиплексирование: ячейки одного сообщения в виртуальном канале не могут чередоваться с ячейками другого сообщения, они должны идти друг за другом.
Уровень AAL2 был задуман для класса В, но его изъяли, поскольку этот класс может с успехом пользоваться AAL1, AAL3/4 или AAL5.
Адресация
Для сетей ATM с постоянными виртуальными цепями, где соединения устанавливаются вручную, специальная адресация не требуется. В сетях с коммутируемыми виртуальными цепями используется специальная система адресации, построенная по иерархическому принципу. Адресация ATM не связана с адресацией, используемой в протоколах верхнего уровня. Большой размер адреса (20 байт) позволяет не опасаться дефицита адресов в обозримом будущем. В частных сетях возможно использование трех форматов адресов, приведенных на рис. 39. В любом случае адрес состоит из части начального домена IDР (Initial Domain Part) и доменно-специфичной части DSP (Domain Specific Part). Поля имеют следующие назначения:
AFI (Authority and Format Identifier) – идентификатор формата: 39=DCC, 47=ICD, 45=E.164.
DCC (Data Country Code) – идентификатор страны.
HО-DSP (High-Order Domain Specific Part) – старшая часть адреса, построенная по доменному принципу. Состоит из идентификатора корневого домена RD (Routing Domain) и идентификатора области (AREA). Комбинация этих полей поддерживает гибкую многоуровневую иерархию адресов для протоколов маршрутизации, основанных на префиксах.
ESI (End System Identifier) – идентификатор конечной системы, 48-битный МАС-адрес, назначаемый IEЕЕ.
SEL (Selector) – селектор, используемый конечными станциями (для сети значения не имеет).
ICD (International Code Designator) – код организации международного уровня, назначаемый Британской организацией по стандартизации.
Е.164 – адрес BISDN в формате Е.164 (аналогично телефонной нумерации).
Рис. 39. Форматы адресов ATM: а – формат DCC ATM,
б – формат ICD ATM, в – формат NASP Е.164
Полный адрес конечной системы собирается из адреса порта и собственного идентификатора устройства, он должен быть уникальным в пределах сети. В пределах сети желательна уникальность адресов и портов коммутаторов, в противном случае возникнут проблемы с маршрутизацией. Для конечных систем имеется возможность регистрации адресов с помощью интерфейса ILMI (Interim Local Management Interface), обеспечивающего обмен управляющей информацией в UNI. Если коммутаторы, к которым подключаются конечные системы, поддерживают ILMI, то перенос конечной системы с одного порта на другой по адресации будет отработан автоматически (не потребует ручного администрирования).
Соединения ATM
ATM поддерживает два типа соединений: точка-точка и точка-множество точек. Двухточечное соединение может быть как однонаправленным, так и двунаправленным. Соединение точка—множество точек может быть только однонаправленным: от одного источника – корневого узла (root node) к множеству получателей “листьев” (leaves). “Листья” в таком соединении не могут передавать данные ни к “корню”, ни к другим “листьям”. Размножением ячеек при множественном соединении занимаются коммутаторы, в которых происходит разветвление соединений. Широковещательные возможности и групповая передача в том виде, как они существуют в локальных сетях с разделяемой средой передачи, когда любой узел может послать кадр всем остальным или группе, с использованием AAL5 невозможны. Это обусловлено отсутствием в AAL5 идентификатора принадлежности конкретной ячейки к конкретному узлу, в результате чего корректная сборка сообщений от множества узлов в одном виртуальном соединении невозможна.
Для организации многоадресных групповых передач (multicasting), используя AAL5, имеется три потенциальных возможности:
Групповая передача по виртуальному пути (VP multicasting) подразумевает, что все узлы группы соединяются одним виртуальным путем (VP), но каждому из них назначается уникальный VCI, по которому их ячейки идентифицируются при чередовании пакетов. Для этого требуется протокол уникального назначения VCI, которого пока нет, и не ясно, поддерживают ли этот метод конкретные SAR-устройства.
Сервер группового вещания (multicast server) – специальный узел – принимает сообщения ото всех узлов группы по двухточечным виртуальным соединениям. К узлам, желающим получать групповой трафик, сервер подключается однонаправленным соединением точка – множество точек и по этому соединению поочередно передает сообщения, полученные от участников группы. Ячейки этих сообщений не чередуются – каждое сообщение сервером передается целиком, непрерывной цепочкой ячеек.
Перекрывающие соединения точка – множество точек (overlaid point-to-multipomt connection). Каждый вещающий узел группы устанавливает групповое однонаправленное соединение с остальными принимающими узлами группы. При этом требуется установление и поддержание большего количества соединений (а не двух, как при использовании сервера). Для входа в группу (и выхода) требуется выполнение процедуры регистрации, в результате которой каждый вещатель должен узнавать о появлении нового узла для установления дополнительных соединений. Данный метод плохо масштабируется из-за роста числа поддерживаемых соединений. Однако использование группового сервера может ограничивать производительность секвенсера, упорядочивающего сообщения, а также он является единой точкой отказа.