|
Протокол АТМ
Протокол АТМ занимает в стеке
протоколов АТМ примерно то же место, что
протокол IP
в стеке TCP/IP
или протокол LAP-F
в стеке протоколов технологии frame
relay. Протокол АТМ занимается
передачей ячеек через коммутаторы при
установленном и настроенном виртуальном
соединении, то есть на основании готовых
таблиц коммутации портов. Протокол АТМ
выполняет коммутацию по номеру
виртуального соединения, который в
технологии АТМ разбит на две части
- идентификатор виртуального
пути (Virtual Path Identifier,
VPI) и идентификатор
виртуального канала (Virtual
Channel Identifier, VCI). Кроме этой
основной задачи протокол АТМ выполняет ряд
функций по контролю за соблюдением трафик -
контракта со стороны пользователя сети,
маркировке ячеек-нарушителей, отбрасыванию
ячеек-нарушителей при перегрузке сети, а
также управлению потоком ячеек для
повышения производительности сети (естественно,
при соблюдении условий трафик - контракта
для всех виртуальных соединений).
Протокол АТМ работает с ячейками
следующего формата, представленного на рис. 6.32.
Рис. 6.32.
Формат ячейки АТМ
Поле Управление потоком (Generic
Flow Control) используется только
при взаимодействии конечного узла и
первого коммутатора сети. В настоящее время
его точные функции не определены.
Поля Идентификатор
виртуального пути (VitualPath
Identifier, VPI) и Идентификатор
виртуального канала (Vitual
Channel Identifier, VCI) занимают
соответственно 1 и 2
байта. Эти поля задают номер виртуального
соединения, разделенный на старшую
(VPI) и младшую (VCI) части.
Поле Идентификатор типа данных
(Payload Type Identifier,
PTI) состоит из 3-х бит и задает
тип данных, переносимых ячейкой,
- пользовательские или
управляющие (например, управляющие
установлением виртуального соединения).
Кроме того, один бит этого поля
используется для указания перегрузки в
сети -
он называется Explicit
Congestion Forward Identifier, EFCI - и играет ту
же роль, что бит FECN
в технологии frame relay,
то есть передает информацию о перегрузке по
направлению потока данных.
Поле Приоритет потери кадра (Cell
Loss Priority, CLP) играет в данной
технологии ту же роль, что и поле DE
в технологии frame relay
- в нем коммутаторы АТМ отмечают ячейки,
которые нарушают соглашения о параметрах
качества обслуживания, чтобы удалить их при
перегрузках сети. Таким образом, ячейки с CLP=0
являются для сети высокоприоритетными, а
ячейки с CLP=1
- низкоприоритетными.
Поле Управление ошибками в
заголовке (Header
Error Control, НЕС)
содержит контрольную сумму, вычисленную
для заголовка ячейки. Контрольная сумма
вычисляется с помощью техники
корректирующих кодов Хэмминга, поэтому она
позволяет не только обнаруживать ошибки, но
и исправлять все одиночные ошибки, а также
некоторые двойные. Поле НЕС обеспечивает не
только обнаружение и исправление ошибок в
заголовке, но и нахождение границы начала
кадра в потоке байтов кадров SDH,
которые являются предпочтительным
физическим уровнем технологии АТМ, или же в
потоке бит физического уровня, основанного
на ячейках. Указателей, позволяющих в поле
данных кадра STS-n (STM-n)
технологии SONET/SDH
обнаруживать границы ячеек АТМ (подобных
тем указателям, которые используются для
определения, например, границ виртуальных
контейнеров подканалов Т1/Е1), не существует.
Поэтому коммутатор АТМ вычисляет
контрольную сумму для последовательности
из 5
байт, находящихся в поле данных кадра
STM-n, и, если вычисленная
контрольная сумма говорит о корректности
заголовка ячейки АТМ, первый байт
становится границей ячейки. Если же это не
так, то происходит сдвиг на один байт и
операция продолжается. Таким образом,
технология АТМ выделяет асинхронный поток
ячеек АТМ в синхронных кадрах SDH
или потоке бит физического уровня,
основанного на ячейках.
Рассмотрим методы коммутации
ячеек АТМ на основе пары чисел VPI/VCI.
Коммутаторы АТМ могут работать в двух
режимах -
коммутации виртуального пути и коммутации
виртуального канала. В первом режиме
коммутатор выполняет продвижение ячейки
только на основании значения поля
VPI, а значение поля VCI
он игнорирует. Обычно так работают
магистральные коммутаторы территориальных
сетей. Они доставляют ячейки из одной сети
пользователя в другую на основании только
старшей части номера виртуального канала,
что соответствует идее агрегирования
адресов. В результате один виртуальный путь
соответствует целому набору виртуальных
каналов, коммутируемых как единое целое.
После доставки ячейки в
локальную сеть АТМ ее коммутаторы начинают
коммутировать ячейки с учетом как VPI,
так и VCI,
но при этом им хватает для коммутации
только младшей части номера виртуального
соединения, так что фактически они работают
с VCI,
оставляя VPI
без изменения. Последний режим называется
режимом коммутации виртуального канала.
Для создания коммутируемого
виртуального канала в технологии АТМ
используются протоколы, не показанные на
рис. 6.30.
Подход здесь аналогичен подходу в сети ISDN
- для установления соединения разработан
отдельный протокол
Q.2931, который весьма условно
можно отнести к сетевому уровню. Этот
протокол во многом похож на протоколы Q.931
и Q.933 (даже
номером), но в него внесены, естественно,
изменения, связанные с наличием нескольких
классов трафика и дополнительных
параметров качества обслуживания. Протокол
Q.2931 опирается на достаточно
сложный протокол канального уровня SSCOP,
который обеспечивает надежную передачу
пакетов Q.2931
в своих кадрах. В свою очередь, протокол
SSCOP работает поверх протокола AAL5,
который необходим для разбиения кадров
SSCOP на ячейки АТМ и сборки этих
ячеек в кадры при доставке кадра
SSCOP в коммутатор назначения.
ПРИМЕЧАНИЕ
Протокол Q.2931
появился в стеке протоколов технологии АТМ
после принятия версии интерфейса UNI
3.1, а до этого в версии
UNI 3.0 вместо него использовался
протокол Q.93B.
Из-за несовместимости протоколов
Q.2931 и
Q.93B версии пользовательского
интерфейса UNI 3.0
и UNI 3.1
также несовместимы. Версия
UNI 4.0 обратно совместима с
UNI 3.1, так как основана на тех же
служебных протоколах, что и версия
UNI 3.1.
Виртуальные соединения,
образованные с помощью протокола
Q.2931, бывают симплексными (однонаправленными)
и дуплексными.
Протокол
Q.2931 позволяет также
устанавливать виртуальные соединения типа
«один-к-одному» (point-to-point)
и «один-ко-многим» (point-to-multipoint).
Первый случай поддерживается во всех
технологиях, основанных на виртуальных
каналах, а второй характерен для технологии
АТМ и является аналогом мультивещания, но с
одним ведущим вещающим узлом. При
установлении соединения «один-ко-многим»
ведущим считается узел, который является
инициатором этого соединения. Сначала этот
узел устанавливает виртуальное соединение
всего с одним узлом, а затем добавляет к
соединению с помощью специального вызова
по одному новому члену. Ведущий узел
становится вершиной дерева соединения, а
остальные узлы - листьями
этого дерева. Сообщения, которые посылает
ведущий узел, принимают все листья
соединения, но сообщения, которые посылает
какой-либо лист (если соединение дуплексное),
принимает только ведущий узел.
Пакеты протокола
Q.2931, предназначенные для
установления коммутируемого виртуального
канала, имеют те же названия и назначение,
что и пакеты протокола Q.933,
рассмотренные выше при изучении технологии
frame relay,
но структура их полей, естественно, другая.
Адресом конечного узла в
коммутаторах АТМ является 20-байтный адрес.
Этот адрес может иметь различный формат,
описываемый стандартом ISO
7498. При работе в публичных сетях
используется адрес стандарта Е.164, при этом
1 байт составляет AFI,
8 байт занимает IDI
- основная часть адреса Е.164
(15 цифр телефонного номера), а
остальные 11
байт части DSP (Domain
Specific Part) распределяются
следующим образом.
4 байта занимает
поле старшей части DSP
- High-Order Domain Spesific Part (HO-DSP), имеющее
гибкий формат и, в сущности, представляющее
собой номер сети АТМ, который может
делиться на части для агрегированной
маршрутизации по протоколу PNNI,
подобной той, которая используется в
технике CIDR
для сетей IP.
6 байт занимает
поле идентификатора конечной системы
- End System Identifier (ESI), которое имеет
смысл МАС - адреса узла АТМ, причем формат
его также соответствует формату МАС -
адресов IEEE.
1 байт составляет
поле селектора, которое не используется при
установлении виртуального канала, а имеет
для узла локальное назначение.
При работе в частных сетях АТМ
обычно применяется формат адреса,
соответствующий домену международных
организаций, причем в качестве
международной организации выступает АТМ Forum.
В этом случае поле IDI
занимает 2
байта, которые содержат код АТМ
Forum, данный ISO,
а структура остальной части
DSP соответствует описанной выше
за исключением того, что поле
HO-DSP занимает не
4, а 10 байт.
Адрес ESI
присваивается конечному узлу на
предприятии-изготовителе в соответствии с
правилами IEEE,
то есть 3
первых байта содержат код предприятия, а
остальные три байта
- порядковый номер, за
уникальность которого отвечает данное
предприятие.
Конечный узел при подключении к
коммутатору АТМ выполняет так называемую
процедуру регистрации. При этом конечный
узел сообщает коммутатору свой ESI - адрес, а
коммутатор сообщает конечному узлу старшую
часть адреса, то есть номер сети, в которой
работает узел.
Кроме адресной части пакет CALL
SETUP протокола Q.2931,
с помощью которого конечный узел
запрашивает установление виртуального
соединения, включает также части,
описывающие параметры трафика и требования
QoS. При
поступлении такого пакета коммутатор
должен проанализировать эти параметры и
решить, достаточно ли у него свободных
ресурсов производительности для
обслуживания нового виртуального
соединения. Если да, то новое виртуальное
соединение принимается и коммутатор
передает пакет CALL
SETUP дальше в соответствии с
адресом назначения и таблицей
маршрутизации, а если нет, то запрос
отвергается.
|