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

(перенаправлено с «TL1»)

Язык операций 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,»
;

Ссылки править