Язык операций 1

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Язык операций 1 (англ. Transaction Language 1, сокр. TL1) — широко используемый в телекоммуникациях протокол. Это общий для производителей, технологий человеко-машинный язык, широко использующийся для управления инфраструктурой оптического (SONET) и широкополосного доступа в Северной Америке.

TL1 применяется во входных и выходных сообщениях, которые передаются между OSS и сетевыми элементами (СЭ). В таких областях, как наблюдение, управление памятью, а также доступа и тестирования, определяют и используют TL1 сообщения для выполнения конкретных функций между OSS и СЭ. TL1 описан в Telcordia Technologies (прежде Bellcore) Generic Requirements document GR-831-CORE.

История[править | править исходный текст]

TL1 разработан компанией Bellcore в 1984 для Regional Bell Operating Companies (RBOCs), как стандартный человеко-машинный язык для управления сетевыми элементами. Он основан на группе стандартов человеко-машинного языка Z.300. TL1 был разработан, как стандартный протокол читаемый как машинами, так и людьми для замены разнообразных протоколов основанных на ASCII используемых разными производителями сетевых элементов. Язык расширяем и способен включить все специфические команды производителей.

Telcordia OSS такие как NMA (Network Monitoring and Analysis) используют TL1 как протокол (EMS) управления сетевыми элементами. Это вынудило производителей сетевых элементов реализовать поддержку TL1 в своих устройствах.

Описание языка[править | править исходный текст]

Синтаксис[править | править исходный текст]

Имя команды и модификаторы[править | править исходный текст]

TL1 — это текстовая команда, которая состоит из набора полей, разделенных двоеточиями, и оканчивается точкой с запятой.

Общий формат команды

VERB:TID:AID:CTAG:GENBLOCK:OPTIONS

В каждой команде обязательно должны быть: verb (имя команды), точка с запятой и двоеточия.


VERB - аббревиатура имени выполняемой команды. В общем это команды, которые запрашивают или изменяют данные. Например, команда запроса даты и времени: RTRV-DAT

TID (Target Identifier) - идентификатор цели. Необязателен для большинства команд. Перед выполнением команды некоторые устройства могут проверять соответствие TID, указанного в команде, и SID (Source Identifier - идентификатор источника). Если TID и SID совпадают, то команда будет выполнена, иначе отклонена.

AID (Access Identifier) - идентификатор доступа. Указывает объект в отношении которого будет выполнена команда. Формат AID зависит от выбранного объекта.

  • Для указания двух объектов используется амперсанд (&). Например, чтобы указать slot 1/port 3 и slot 1/port 7 используйте формат: 1-3&-7.
  • Чтобы указать диапазон - используется двойной амперсанд (&&). Например, чтобы указать порты 3-7 слота 1, используйте формат: 1-3&&-7

CTAG - (correlation tag) - метка взаимосвязи. Необязательна для большинства команд. Это поле используется для нахождения соответствия между командой и ответом. Указанный в команде CTAG возвращается в ответе. Если CTAG оставлен пустым, в заголовке ответа значение CTAG будет 0.

GENBLOCK (general block) - общий блок. Необязателен для команд, в которых не заполнено поле OPTIONS. Для команд с заполненным полем OPTIONS, общий блок должен быть пустым (null).

OPTIONS - параметры команды. Параметры используемые для выполнения команды.

Основные элементы TL1 сообщения[править | править исходный текст]

Элемент Символ Роль Пояснение
Точка с запятой ; терминатор Точка с запятой означает конец сообщения TL1.
Двоеточие : отделитель Двоеточие используется для разделения "полей" данных в сообщении TL1.
Запятая , делитель и местозаполнитель Запятые используются для разделения аргументов сообщений и для указания мест, где опущены аргументы.

Например, аргументы от A до E must должны быть разделены запятой - :A,B,C,D,E;

Аргументы могут быть просто исключены с конца - :A,B;
Пробелы в аргументах требуют использования запятых в качестве заполнителей - :,B,,,E;

Обозначения[править | править исходный текст]

Обозначения в TL1 ответах[править | править исходный текст]

Для описания ответов на TL1 команды используется синтаксис BNF, как определено в документе Tltcordia GR-831-CORE. Следующая таблица определяет формат обозначений, используемых в ответах на входные команды.

Символ Описание
^ Представляет пробел
* Означает, что предыдущий блок параметров может повторятся 0 или более раз
+ Означает, что предыдущий блок параметров должен повторятся 1 или более раз
/* Начало ASCII текста комментария в свободной форме
*/ Конец ASCII текста комментария в свободной форме
( Начало дополнительного блока
) Конец дополнительного блока
<cr> Представляет символ возврата каретки
<lf> Представляет символ перевода строки

Сообщения TL1[править | править исходный текст]

Язык TL1 состоит из наборов сообщений. Есть 4 типа сообщений:

  1. Входное сообщение — это команда посылаемая пользователем или системой OSS.
  2. Выходное или Ответное сообщение — это сообщение присылаемое СЭ (сетевым элементом) в ответ на входное сообщение.
  3. Сообщение подтверждения приёма — это подтверждение приема вводного сообщения TL1, оно посылается если ответное сообщение будет задерживаться более 2 секунд.
  4. Независимое сообщение — это асинхронное сообщение присылаемое сетевым элементом (обычно уведомления или аварии).

Структура сообщения TL1[править | править исходный текст]

TL1 сообщения имеют фиксированную структуру, и все команды должны соответствовать ей. Тем не менее, команды сами расширяемы и новые команды могут быть добавлены производителями СЭ.

Вот несколько компонентов сообщения:

  • Идентификатор объекта (TID) и Идентификатор источника (SID) — TID/SID это уникальное имя назначенное каждому СЭ. TID используется для переправки сообщения СЭ, SID используется для определения источника независимого сообщения.
  • Идентификатор доступа (Access identifier) — AID определяет объект внутри сетевого элемента.
  • Метка взаимосвязи (Correlation tag) и метка независимой взаимосвязи (Autonomous correlation tag) — CTAG/ATAG числа используемые для взаимосвязи сообщений.

Входное сообщение TL1[править | править исходный текст]

Структура:

Входное сообщения TL1
Код команды Подготовительный блок Блок с полезной нагрузкой
Имя команды атрибут1 атрибут2 TID AID CTAG Общий блок Блок данных
ENT USER SECU MyNE sridev 101 password

Пример:

ENT-USER-SECU:MyNE:sridev:101::password;

Выходное сообщение TL1[править | править исходный текст]

Структура:

Выходное сообщение TL1
Заголовок ответа Идентификатор ответа Блок ответа Указатели конца
SID Дата Время M CTAG Код завершения операции
MyNE 04-08-14 09:12:04 M 101 COMPLD «UID=sridev:CID=CRAFT,UAP=1:» ;

Пример:

ENT-USER-SECU:MyNE:sridev:101::password;

Сообщение подтверждения приёма TL1[править | править исходный текст]

Структура:

Сообщение подтверждения приёма TL1
Код подтверждения приема CTAG Признак конца
OK 101 >

Пример:

OK 101
>

Независимое сообщение TL1[править | править исходный текст]

Передача независимого сообщения TL1

Структура:

Независимое сообщение TL1
Заголовок сообщения Идентификатор Данные Признаки конца
SID Дата Время Код аварии ATAG Имя команды
MyNE 04-08-14 09:12:04 A 101 REPT EVT SESSION

Пример:

MyNE 04-08-14 09:12:04
A 101 REPT EVT SESSION
«root:NO,»
 ;

Ссылки[править | править исходный текст]