О применении данного документа в отношении федерального государственного контроля в области связи см. Распоряжение Правительства РФ от 15.12.2020 N 3340-р.

Приложение N 2.1

к Правилам применения

оборудования систем коммутации,

включая программное обеспечение,

обеспечивающего выполнение

установленных действий при проведении

оперативно-розыскных мероприятий.

Часть III. Правила применения

оборудования коммутации

и маршрутизации пакетов

информации сетей передачи данных,

включая программное обеспечение,

обеспечивающего выполнение

установленных действий при проведении

оперативно-розыскных мероприятий

ПРОТОКОЛ ВЗАИМОДЕЙСТВИЯ ТЕХНИЧЕСКИХ СРЕДСТВ ОРМ С ИС БД ОРМ

Список изменяющих документов

(введен Приказом Минкомсвязи России от 15.04.2019 N 139)

1. Общие принципы протокола взаимодействия ТС ОРМ с ИС БД ОРМ.

Протокол взаимодействия (обмена информацией) ТС ОРМ с ИС БД ОРМ должен обеспечивать передачу статистической информации о соединениях пользователей сети передачи данных, а также содержимого соединений сети передачи данных от ТС ОРМ на ПУ и состоит из трех протоколов:

управления;

передачи статистических данных;

протокола передачи содержимого соединений пользователей сети передачи данных.

На логическом уровне соединение ИС БД ОРМ и ТС ОРМ реализуется в виде нескольких TCP-сессий, при этом в качестве транспортного и сетевого протоколов должны использоваться протоколы TCP и IP. Для управления ТС ОРМ и передачи информации на ИС БД ОРМ должны использоваться отдельные TCP-соединения.

Инициатором соединения выступает ИС БД ОРМ. В качестве номеров портов должны применяться номера, находящиеся вне диапазона номеров портов стандартных служб и не задействованные для подключения ПУ. Номера портов задаются при конфигурировании ТС ОРМ.

Функция управления передачей данных на ИС БД ОРМ должна осуществляться стандартным ПУ (головной ПУ по каналу 0). ПУ должен выполнять конфигурирование фильтрации данных, передаваемых на ИС БД ОРМ, параметров серверов аутентификации, а также получать извещения о состоянии соединений передачи данных.

2. Общие принципы передачи данных в канале ТС ОРМ - ИС БД ОРМ.

ИС БД ОРМ должен состоять из одного или нескольких узлов приема статических данных и узлов приема содержимого потоков трафика сети передачи данных. Узлы должны идентифицироваться уникальными номерами NodeNumber.

TCP-соединения должны идентифицироваться уникальными номерами ConnNumber. Номера соединений присваиваются ИС БД ОРМ и передаются на ТС ОРМ в первом фрейме канала передачи данных после установления соединения вместе с номерами узлов. Один узел приема данных может установить одно или несколько TCP-соединений.

Допускается установление нескольких TCP-соединений с разными номерами ConnNumber к одной и той же конечной ТС ОРМ. Номера ConnNumber используются для того, чтобы различать разные TCP-соединения, подключенные к одной конечной точке.

Если при попытке установления TCP-соединения с конечной точкой ТС ОРМ устанавливается, что TCP-соединение с заданным номером ConnNumber уже создано, то предыдущее соединение разрывается, а ТС ОРМ начинает использовать новое соединение.

С целью равномерного распределения нагрузки по конечным точкам и каналам связи ТС ОРМ - ИС БД ОРМ должно обеспечивать установление соединения между каждой своей конечной точкой и каждой точкой подключения ТС ОРМ. ТС ОРМ должно обеспечивать равномерное распределение нагрузки по доступным подключениям.

Для связи статистических данных и содержимого потока трафика сети передачи данных должен использоваться уникальный идентификатор потока FlowId, который должен передаваться как во фреймах передачи статистических данных, так и во фреймах передачи содержимого.

Выбор TCP-соединения для передачи отобранных данных должен осуществляться на основе идентификаторов потоков FlowId. При этом первоначально требуется определить узел приема данных (идентифицируемый номером NodeNumber), а затем выбрать соответствующее ему TCP-соединение. Равенство количества узлов приема данных и количества узлов приема содержимого гарантирует одинаковую балансировку статистических данных и содержимого по узлам.

3. Протокол управления.

Протокол управления используется для:

идентификации ИС БД ОРМ при подключении к ТС ОРМ;

определения параметров установления соединений передачи статистических данных и соединений передачи содержимого.

3.1. Структура сообщений протокола управления.

Общая структура сообщений протокола управления ИС БД ОРМ ТС ОРМ соответствует структуре сообщений протокола управления ПУ ОРМ ТС ОРМ, приведенной в приложении N 2 к настоящим Правилам, и включает в себя:

команды, передаваемые с ИС БД ОРМ;

ответы, передаваемые с технического средства ОРМ на ИС БД ОРМ и содержащие результаты выполнения команд.

3.2. Команды протокола управления.

ИС БД ОРМ использует следующие команды протокола управления:

команда идентификации - согласно подпункту 2.2.1 приложения N 2 к настоящим Правилам;

команда проверки работоспособности канала связи с ИС БД ОРМ и состояния ТС ОРМ - согласно подпункту 2.2.4 приложения N 2 к настоящим Правилам;

команда запроса параметров подключения передачи данных (подпункт 3.2.1 настоящего приложения);

команда запуска передачи данных (подпункт 3.2.2 настоящего приложения).

3.2.1. Команда запроса параметров подключения передачи данных.

Команда запроса параметров подключения передачи данных должна направляться ИС БД ОРМ перед установлением соединений передачи статистических данных или передачи содержимого.

В информационных элементах команды ИС БД ОРМ передает количество конечных точек со своей стороны для приема статистических данных и содержимого.

ТС ОРМ при получении указанной команды ИС БД ОРМ формирует ответ, содержащий сведения о координатах конечных точек подключения со своей стороны (IP-адрес и порт).

Структура команды запроса параметров подключения передачи данных приведена на рисунке 1.

CodCom

IdentCom

LengthCom

Data

ItemConnection

Рисунок 1

CodCom - поле кода команды. Целочисленная переменная, размер поля равен 1 байту. Содержимое поля равно 23.

IdentCom - поле идентификатора команды. Содержимое поля равно значению идентификатора предыдущей команды, увеличенному на 1. Размер поля равен 2 байтам.

LengthCom - поле длины команды. Размер поля равен 4 байтам.

Data - поле, содержащее элемент данных команды, состоит из элемента ItemConnection.

ItemConnection - элемент данных, характеризующий запрос параметров подключения передачи статистических данных. Структура элемента данных ItemConnection приведена на рисунке 2.

CodItem

LengthItem

Value

StatCount

StatEndpoints1

...

DataCount

DataEndpoints1

...

Рисунок 2

CodItem - поле кода элемента данных. Размер поля равен 1 байту, содержимое равно 1.

LengthItem - поле длины элемента данных. Содержит длину всех полей элемента данных. Размер поля равен 4 байтам.

Value - поле, содержащее элементы данных StatCount, StatEndpoints1, ..., DataCount, DataEndpoints1, ....

StatCount - количество узлов приема статистических данных. Определяет число полей StatEndpoints в настоящем элементе данных. Размер поля равен 1 байт.

StatEndpoints1, ... - поля количества доступных конечных точек для приема статистических данных на узле 1, 2 и далее соответственно. Целочисленная переменная, размер поля равен 4 байтам.

DataCount - количество узлов приема содержимого потоков сети передачи данных. Определяет число полей DataEndpoints в настоящем элементе данных. Размер поля 1 байт.

DataEndpoints1, ... - поля количества доступных конечных точек для приема содержимого потоков сети передачи данных на узле 1, 2 и далее соответственно. Целочисленная переменная, размер поля равен 4 байтам.

3.2.2. Команда запуска передачи данных.

Команда запуска передачи данных должна быть отправлена ИС БД ОРМ после установления всех соединений передачи данных, разрешающая передачу данных по всем соединениям. Структура команды запуска передачи данных приведена на рисунке 3.

CodCom

IdentCom

Рисунок 3

CodCom - поле кода команды. Целочисленная переменная, размер поля равен 1 байт. Содержимое поля равно 24.

IdentCom - поле идентификатора команды. Содержимое поля равно значению идентификатора предыдущей команды, увеличенному на 1. Размер поля равен 2 байтам.

3.3. Ответы по результатам выполнения команд.

3.3.1. Ответ на команду запроса параметров подключения передачи данных.

Ответ на команду запроса параметров подключения передачи данных используется для передачи на ИС БД ОРМ запрошенных параметров подключения.

Формат ответа приведен на рисунке 4.

CodAnsw

IdentAnsw

LengthAnsw

Data

ItemConnl

...

ItemConnM

Рисунок 4

CodAnsw - поле кода ответа. Содержимое поля равно 151. Размер поля равен 1 байту.

IdentAnsw - поле идентификатора ответа. Значение равно значению поля IdentCom команды запроса параметров подключения передачи данных. Размер поля равен 2 байтам.

LengthAnsw - поле длины ответа. Содержит длину всех полей ответа в байтах. Размер поля равен 4 байтам.

Data - поле, содержащее элементы данных ответа, состоит из подполей ItemConnl, ..., ItemConnM.

ItemConnl, ..., ItemConnM - элементы данных ответа. Каждый элемент данных ItemConn характеризует параметры подключения передачи данных (координаты конечной точки подключения в виде пары IP-адрес-порт). Порядок передачи элементов данных в ответе на команду соответствует порядку передачи элементов запросов в команде.

Формат элемента данных ItemConn приведен на рисунке 5.

CodItem

LengthItem

Value

SormIP

SormPort

Рисунок 5

CodItem - поле кода элемента данных. Размер поля равен 1 байту, содержимое может принимать следующие значения:

1 - для соединений передачи статистических данных;

2 - для соединений передачи содержимого.

LengthItem - поле длины элемента данных. Содержит длину всех полей элемента данных. Размер поля равен 4 байтам.

Value - поле значения элемента. Состоит из двух подполей:

SormIP - IP-адрес для установления соединения передачи данных. Поле переменной длины, содержит IP-адрес в сетевом порядке (IPv4 или IPv6). Размер поля равен 4 байтам для IPv4, 16 байтам для IPv6.

SormPort - номер порта установления соединения передачи данных. Целочисленная переменная, размер поля равен 2 байтам.

3.3.2. Формат ответа на команду запуска передачи данных приведен на рисунке 6.

CodAnsw

IdentAnsw

Result

Рисунок 6

CodAnsw - поле кода ответа. Содержимое поля равно 152. Размер поля равен 1 байту.

IdentAnsw - поле идентификатора ответа. Значение равно значению поля IdentCom команды запуска передачи данных. Размер поля равен 2 байтам.

Result - поле результата выполнения команды. Целочисленная переменная, размер поля равен 1 байту. Значение равно 1 в случае успешного включения передачи данных и 2 в случае ошибки выполнения команды.

4. Протокол передачи статистических данных.

4.1. Для передачи статистических данных могут использоваться несколько отдельных TCP-соединений. Инициатором соединения выступает ИС БД ОРМ.

4.2. Сразу после установления соединения передачи статистических данных ИС БД ОРМ отправляет на ТС ОРМ извещение об установлении соединения вида, представленного на рисунке 7:

CodDataConn

Length

ItemConnNumber

ItemRestore

Рисунок 7

CodDataConn - поле кода фрейма. Содержимое поля равно 254 (фрейм установления соединения). Размер поля равен 1 байту.

Length - поле длины фрейма, включает длину всех полей фрейма. Целочисленная переменная, размер равен 4 байтам.

ItemConnNumber - элемент данных, описывающий уникальный номер подключения передачи данных. Формат элемента приведен на рисунке 8.

CodItem

NodeNumber

ConnNumber

Рисунок 8

CodItem - поле кода элемента, размер равен 1 байту, значение равно 2.

NodeNumber - поле номера узла приема статистических данных. Целочисленная переменная, размер поля равен 4 байтам.

ConnNumber - поле номера подключения. Целочисленная переменная, размер поля равен 4 байтам. Содержимое представляет собой уникальный идентификатор подключения передачи данных.

ItemRestore - опциональный элемент. Используется для организации повторной передачи неподтвержденных фреймов после восстановления соединения передачи статистических данных. Структура и содержание элемента данных ItemRestore приведена на рисунке 9.

CodItem

Value

FRs

Рисунок 9

CodItem - код элемента. Размер поля равен 1 байту. Содержимое равно 5.

Value - поле значения элемента. Состоит из подполя FRs.

FRs - номер фрейма, ожидаемого от ТС ОРМ по каналу передачи данных. Все неподтвержденные фреймы, начиная с фрейма с заданным номером, должны быть повторно отправлены ТС ОРМ после восстановления соединения. Целочисленная переменная, размер поля равен 2 байтам.

Элемент ItemRestore должен быть использован при восстановлении подключения ИС БД ОРМ к техническим средствам ОРМ после нештатного разрыва TCP-соединения, т.е. без выполнения команды прекращения передачи данных. В случае невозможности восстановления указанного состояния технические средства ОРМ в ответ на команду не включают элемент ItemRestore.

4.3. В ответ на извещение об установлении соединения ТС ОРМ должен отправить на ИС БД ОРМ фрейм подтверждения, представленный на рисунке 10.

CodDataConn

Length

ItemRestore

Рисунок 10

CodDataConn - поле кода фрейма. Содержимое поля равно 253 (фрейм подтверждения соединения). Размер поля равен 1 байту.

Length - поле длины фрейма, включает длину всех полей фрейма. Целочисленная переменная, размер равен 4 байтам.

Элемент ItemRestore должен участвовать только при выполнении процедуры восстановления соединения с повторной отправкой неподтвержденных фреймов. Данный элемент должен определить номер фрейма FRs, который будет использоваться ТС ОРМ в качестве начального значения номера фрейма при отправке. Если элемент ItemRestore в ответе отсутствует, то ИС БД ОРМ не должна инициировать повторную отправку фреймов (в этом случае счетчики номеров фреймов должны обнулиться ТС ОРМ).

4.4. После получения извещения о соединении и получении по протоколу управления команды запуска передачи данных ТС ОРМ должен начать передачу в ИС БД ОРМ фреймов извещений, содержащих статистические данные. Структура фреймов приведена на рисунке 11.

CodData

FRs

LengthData

Data

InterceptAT

InterceptData

Рисунок 11

CodData - поле кода данных. Содержимое поля зависит от типа содержимого и определено в подпунктах 4.4.1, 4.4.2. Размер поля равен 1 байту.

FRs - поле номера фрейма. Целочисленная переменная, размер поля равен 2 байтам.

LengthData - поле длины фрейма. Содержит длину всех полей, включая CodData и LengthData. Размер поля равен 4 байтам.

Data - поле, содержащее элементы данных извещения, состоит из элементов InterceptAT, InterceptData.

InterceptAT - поле времени перехвата. Содержит текущее значение времени в формате АТ ТС ОРМ на момент перехвата данных. Размер поля равен 4 байтам.

InterceptData - элемент данных, содержащий отобранные данные. Структура элемента InterceptData детализирована в подпунктах 4.4.1, 4.4.2 настоящего приложения.

4.4.1. Для фреймов описания событий подключения/отключения пользователей к сети передачи данных (событий аккаунтинга) формат элемента InterceptData должен соответствовать формату, приведенному в подпункте 3.3.3.4 приложения N 2 к настоящим Правилам. Значение поля CodData равно 126.

4.4.2. Для фреймов описания потоков сети передачи данных значение поля CodData равно 125.

Статистические данные о потоках сети передачи данных должны передаваться в виде следующей последовательности извещений (составного сообщения), имеющих одинаковые значения номера Nnode:

извещение открытия потока данных;

опциональные извещения, содержащие дополнительные служебные данные;

извещение закрытия потока данных.

Элементы InterceptData должны иметь формат, приведенный на рисунке 12.

CNn

Nnode

Data

TR

FB

FE

RV

ItemD1

...

ItemDn

Рисунок 12

CNn - поле управления. Размер поля равен 1 байту. Поле состоит из следующих подполей:

TR - подполе типа блока данных. Размер подполя равен 1 биту. Значение подполя равно 0 - блок служебных данных. Размещение подполя: 7-ой бит - старший, номер байта - 0;

FB - подполе типа блока служебных данных. Размер подполя равен 1 биту. Значение подполя равно: 0 - блок начала потока данных, 1 - блок дополнительных служебных данных. Размещение подполя: 6-ой бит, номер байта - 0;

FE - подполе признака закрытия потока данных. Размер равен 1 биту. Значение подполя равно: 0 - поток данных не закрывается, 1 - поток закрывается. Размещение подполя: 5-ый бит, номер байта - 0;

RV - резервное подполе. Размер подполя равен 5 битам. Размещение подполя: с 4 по 0 биты, номер байта - 0. Значение подполя: резерв - биты не используются.

Nnode - поле идентификатора составного сообщения. Целочисленная переменная, размер равен 8 байтам. Используется для сопоставления блоков открытия потока данных, блоков закрытия потока данных и блоков дополнительных служебных данных; идентификаторы составных сообщений должны быть уникальными в пределах одного соединения передачи статистических данных.

Data - содержит элементы описания ItemDl, ..., ItemDn согласно подпунктам 4.7, 4.8 настоящего приложения.

4.5. Фреймы извещений подтверждения получения данных должны направляться ИС БД ОРМ на ТС ОРМ при получении фреймов, содержащих отобранные данные. Формат фрейма приведен на рисунке 13.

CodAckData

FRs

Рисунок 13

CodAckData - поле кода подтверждения. Содержимое поля равно 255 (подтверждение приема сообщения). Размер поля равен 1 байту.

FRs - поле номера фрейма на стороне технического средства ОРМ. Целочисленная переменная, размер поля равен 2 байтам.

4.6. Фреймы извещений контроля работоспособности канала передачи статистических данных должны направляться ТС ОРМ периодически в случае отсутствия активности в канале передачи статистических данных. Формат фрейма приведен на рисунке 14.

CodData

FRs

LengthData

Рисунок 14

CodData - поле кода данных. Содержимое поля равно 125 (передача данных). Размер поля равен 1 байту.

FRs - поле номера фрейма на стороне ТС ОРМ. Целочисленная переменная, размер поля равен 2 байтам.

LengthData - поле длины фрейма. Содержит значение 0. Размер поля равен 4 байтам.

4.7. В каждом блоке начала потока данных для фреймов извещений, содержащих статистические данные, должен передаваться дополнительный элемент данных ItemFlowId - уникальный идентификатор потока. В случае использования нескольких логических каналов, для каждого логического канала должен передаваться элемент данных ItemFlowId (в блоке начала потока данных или в блоке дополнительных служебных данных).

Формат элемента данных ItemFlowId приведен на рисунке 15.

CodItem

FlowId

Рисунок 15

CodItem - поле кода элемента данных. Размер поля равен 1 байту. Содержимое поля равно 254.

FlowId - поле уникального идентификатора потока. Целочисленная переменная, размер равен 8 байтам.

4.8. При использовании нескольких TCP-соединений ТС ОРМ должно равномерно распределять фреймы данных по активным соединениям таким образом, чтобы сообщения, относящиеся к одному потоку (имеющие один номер Flowld), отправлялись с использованием одного TCP-соединения.

4.9. Элементы описания данных.

4.9.1. Структура элементов описания данных.

Элементы описания данных, входящих в блоки служебных данных, имеют структуру в соответствии с подпунктом 3.3.4.1 приложения N 2 к настоящим Правилам. При этом должны быть использованы элементы описания, приведенные в подпункте 3.3.4 приложения N 2 к настоящим Правилам.

4.10. При использовании нескольких TCP-соединений ТС ОРМ должно равномерно распределять фреймы данных по активным соединениям таким образом, чтобы сообщения, относящиеся к одному потоку (имеющие один номер Nnode), были отправлены с использованием одного TCP-соединения.

4.11. При разрыве связи по одному из соединений ТС ОРМ автоматически распределяет следующие отправляемые потоки по оставшимся активным соединениям.

4.12. Порядок передачи статистических данных.

Процедуры передачи данных используют следующие внутренние переменные:

Ws - значения окна на стороне ТС ОРМ (количество неподтвержденных ИС БД ОРМ фреймов);

Tw - таймер неактивности передачи (на стороне ИС БД ОРМ и ТС ОРМ);

Ntw - счетчик срабатывания таймера неактивности передачи;

NFs - количество подтверждаемых ИС БД ОРМ фреймов;

MaxNtw - максимальное число срабатываний таймера Tw (на стороне ИС БД ОРМ и технического средства ОРМ);

FRs - номер фрейма на стороне технического средства ОРМ.

Значение внутренней переменной MaxNtw определяется на этапе инсталляции системы.

Передача каждого фрейма от ТС ОРМ на ИС БД ОРМ сопровождается обнулением таймера Tw и увеличением на 1 циклической переменной FRs.

В случае отсутствия данных для передачи на ИС БД ОРМ, в момент достижения таймером Tw своего максимального значения, ТС ОРМ обнуляет таймер, увеличивает величину счетчика Ntw на 1 и ожидает подтверждения. Если по достижении таймером Tw своего максимального значения подтверждение о получении фрейма не получено, техническое ТС ОРМ повторяет передачу на ИС БД ОРМ фрейма извещения контроля работоспособности канала передачи данных, не изменяя переменной FRs, при этом таймер обнуляется и величина счетчика Ntw увеличивается на 1. Подобная процедура выполняется до тех пор, пока не будет получено подтверждение от ИС БД ОРМ, что означает восстановление канала после возможного сбоя, или переменная Ntw достигнет своего максимального значения MaxNtw. Это означает пропадание канала на недопустимо большой промежуток времени. По достижении счетчиком своего максимального значения MaxNtw ТС ОРМ разрывает данное соединение передачи статистических данных и передает на головной ПУ извещение с указанием номера соединения ИС БД ОРМ согласно подпункту 2.4.8 приложения N 2 к Правилам.

Если ИС БД ОРМ не получает от ТС ОРМ фреймов в течение работы таймера Tw, ИС БД ОРМ увеличивает свой счетчик Ntw на 1, обнуляет таймер Tw и посылает подтверждение о получении последнего принятого извещения. В случае если счетчик Ntw достигнет своего максимального значения, равного MaxNtw, что означает пропадание канала на недопустимо большой промежуток времени, ИС БД ОРМ разрывает данное соединение передачи статистических данных.

Если от ТС ОРМ получен фрейм извещения контроля работоспособности канала передачи данных, ИС БД ОРМ посылает в ответ подтверждение, обнуляет таймер Tw и счетчик Ntw. Получив подтверждение от ИС БД ОРМ, ТС ОРМ обнуляет на своей стороне таймер Tw и счетчик Ntw. Посылка фрейма извещения контроля работоспособности канала передачи данных осуществляется только при достижении максимального значения таймера Tw на стороне ТС ОРМ.

Для того, чтобы не подтверждать каждый полученный фрейм, используется переменная Ws, которая определяют число неподтвержденных фреймов. Максимальное значение переменной Ws равно 65535. При достижении этой величиной своего максимального значения передача любой информации должна быть прекращена до момента получения с удаленной стороны любого фрейма, по которому определяется номер последнего успешно принятого фрейма. После получения от ТС ОРМ NFs фреймов ИС БД ОРМ подтверждает последний принятый фрейм. Фреймы с номерами передачи за пределами диапазона окна сбрасываются без обработки.

В процессе обмена фреймами прием каждого фрейма сопровождается обнулением таймера Tw и счетчика Ntw.

5. Протокол передачи содержимого соединений пользователей сети передачи данных.

5.1. Для передачи содержимого могут использоваться несколько отдельных TCP-соединений. Инициатором соединения выступает ИС БД ОРМ.

5.2. Передаваемые по соединениям передачи содержимого фреймы должны иметь формат, приведенный на рисунке 16.

Opcode

FlowId

Offset

Time

Length

Data

FI

OP

DP

TS

RV

Рисунок 16

Фрейм содержит следующие поля:

a) Opcode - поле кода фрейма. Размер равен 1 байту. Содержимое фрейма характеризуется следующими битами поля Opcode:

FI - указывает, присутствует ли поле FlowId в фрейме. Размер поля равен 1 биту, номер бита - 7-ой (старший бит). Возможные значения: 1 - поле FlowId присутствует во фрейме, 0 - поле FlowId отсутствует во фрейме.

OP - указывает, присутствует ли поле Offset во фрейме. Размер поля равен 1 биту, номер бита - 6-ой. Возможные значения: 1 - поле Offset присутствует во фрейме, 0 - поле Offset отсутствует во фрейме.

DP - указывает, присутствуют ли поля Length и Data в фрейме. Размер поля равен 1 биту, номер бита - 5-ый. Возможные значения: 1 - поля Length и Data присутствуют во фрейме, 0 - поля Length и Data отсутствуют во фрейме;

TS - указывает, присутствует ли поле Time во фрейме. Размер поля равен 1 биту, номер бита - 4-ый. Возможные значения: 1 - поле Time присутствует во фрейме, 0 - поле Time отсутствует во фрейме;

RV - зарезервированные биты. Должны быть равны нулю. Размер поля равен 4 битам.

б) FlowId - поле уникального идентификатора потока. Целочисленная переменная, размер поля равен 8 байтам. Если данное поле присутствует во фрейме, оно определяет текущий идентификатор потока, к которому будут привязаны все передаваемые пакеты данных вплоть до следующего фрейма с присутствующим полем FlowId;

в) Offset - поле смещения данных в пакете. Целочисленная переменная, размер поля равен 1 байту. Позволяет передавать не все данные пакета, а только данные, начиная от заданного смещения до конца пакета в том случае, когда пакет имеет заголовок, идентичный заголовку предыдущего переданного пакета (в этом случае ИС БД ОРМ при получении фрейма должна взять Offset байтов из предыдущего фрейма и добавить к ним данные из текущего фрейма, чтобы получить целый пакет). Данное поле позволяет сократить объем передаваемых данных за счет устранения передачи одинаковых заголовков. Если поле Offset отсутствует, пакет передается целиком;

г) Time - поле временной метки пакета (в микросекундах от 00:00:00 01.01.1970 UTC). Целочисленная переменная, размер поля равен 8 байтам. Если данное поле присутствует в фрейме, оно определяет текущую временную метку, к которой будут привязаны все передаваемые пакеты данных вплоть до следующего фрейма с присутствующим полем Time. Первый передаваемый в TCP-соединении на ИС БД ОРМ фрейм должен содержать поле Time в обязательном порядке.

д) Length - поле длины пакета, содержит длину поля PacketData. Целочисленная переменная, размер поля равен 4 байтам;

е) Data - поле, содержащее отобранные данные. Передаются пользовательские данные в виде пакетов с заголовками канального уровня, связанные с данными, передаваемыми по протоколу передачи статистических данных, уникальным идентификатором (номером потока).

5.3. Сразу после установления соединения передачи содержимого ИС БД ОРМ отправляет на ТС ОРМ извещение об установлении соединения, формат фрейма которого приведен на рисунке 17.

Opcode

Length

Data

FI

OP

DP

TS

RV

NodeNumber

ConnNumber

Рисунок 17

FI = 0; OP = 0; DP = 1; TS = 0; RV = 0 (присутствуют только поля Length и Data).

Length - поле длины поля Data, содержит значение, равное 8. Целочисленная переменная, размер поля равен 4 байтам.

Data - содержит уникальный номер узла приема содержимого потоков сети передачи данных NodeNumber (целочисленная переменная, размер поля равен 4 байтам) и уникальный номер TCP-соединения ConnNumber (целочисленная переменная, размер поля равен 4 байтам).

5.4. В случае отсутствия данных для передачи ТС ОРМ периодически отправляет в ИС БД ОРМ фреймы извещения контроля работоспособности канала передачи данных.

Период определяется параметром Tw при конфигурировании ТС ОРМ и ИС БД ОРМ. Если за время, равное Tmw секунд (Tmw > 2Tw), в соединении не было передачи фреймов, соединение разрывается обнаружившей отсутствие фреймов стороной.

Для фреймов извещения контроля работоспособности канала передачи данных значение поля Opcode равно нулю, все прочие поля отсутствуют.

5.5. При использовании нескольких TCP-соединений ТС ОРМ равномерно распределяет фреймы данных по активным соединениям таким образом, чтобы сообщения, относящиеся к одному потоку (имеющие один номер FlowId), отправлялись в одно TCP-соединение.

5.6. При разрыве связи по одному из соединений ТС ОРМ автоматически распределяет следующие отправляемые потоки по оставшимся активным соединениям.

6. Порядок взаимодействия ИС БД ОРМ и ТС ОРМ.

6.1. Установление соединения между ИС БД ОРМ и ТС ОРМ осуществляется в следующем порядке:

6.1.1. ИС БД ОРМ устанавливает TCP-соединение управления, используя известный IP-адрес и порт ТС ОРМ (определяется при конфигурировании ИС БД ОРМ и ТС ОРМ);

6.1.2. ИС БД ОРМ отправляет команду идентификации согласно подпункту 2.2.1 приложения N 2 к настоящим Правилам;

6.1.3. При успешном подключении (заданный порт сконфигурирован для подключения ИС БД ОРМ и не занят) ТС ОРМ отправляет ответ на команду идентификации согласно подпункту 2.3.1 приложения N 2 к настоящим Правилам;

6.1.4. ИС БД ОРМ определяет желаемое количество конечных точек для приема статистических данных и соединений передачи содержимого и отправляет команду запроса параметров подключения;

6.1.5. ТС ОРМ отправляет ответ на команды запроса параметров подключения, в котором приводятся координаты точек подключения для установления соединений (IP-адреса и порты);

6.1.6. ИС БД ОРМ устанавливает соединения со всеми точками подключения;

6.1.7. ИС БД ОРМ отправляет команду запуска передачи данных. До этого момента по всем соединениям передачи данных могут передаваться только фреймы контроля работоспособности;

6.1.8. ТС ОРМ отправляет ответ на команду запуска передачи данных и начинает отправку данных согласно настроенным фильтрам;

6.1.9. Общий порядок обмена сообщениями в канале управления определен в подпункте 4.3 приложения N 2 к настоящим Правилам.

6.2. Передача отобранных данных осуществляется следующим образом:

6.2.1. Для соединений передачи статистических данных согласно подпункту 4.11 настоящего приложения;

6.2.2. Для соединений передачи содержимого:

6.2.2.1. ТС ОРМ формирует фреймы данных на максимальной возможной скорости и отправляет их на ИС БД ОРМ, распределяя по активным TCP-соединениям;

6.2.2.2. Подтверждения передачи фреймов на ТС ОРМ не передаются;

6.2.2.3. При отсутствии данных для передачи ТС ОРМ и ИС БД ОРМ периодически формируют фреймы контроля работоспособности с интервалом в Tw секунд.

6.3. Особенности обработки ошибок:

6.3.1. ТС ОРМ не сбрасывает состояние передачи данных на ИС БД ОРМ при сбоях;

6.3.2. При разрыве соединения управления ТС ОРМ продолжает передачу данных по имеющимся соединениям передачи статистических данных и передачи содержимого;

6.3.3. При разрыве или установлении соединения передачи данных на головной ПУ должно отправляться извещение с указанием номера соединения ИС БД ОРМ согласно подпункту 2.4.8 приложения N 2 к настоящим Правилам;

6.3.4. Если данные невозможно отправить по соединениям передачи данных, они отбрасываются. На головной ПУ должно отправляться извещение о потерях данных с указанием номера соединения ИС БД ОРМ согласно подпункту 2.4.8 приложения N 2 к настоящим Правилам. Извещения о потерях отправляются не чаще, чем один раз в Tnotif секунд (указывается при конфигурировании ТС ОРМ);

6.3.5. После разрыва соединения ИС БД ОРМ повторно устанавливает TCP-соединение, используя тот же идентификатор соединения ConnNumber;

6.3.6. При установлении повторного соединения управления:

должен быть выполнен разрыв предыдущего соединения управления;

если идентификатор ИС БД ОРМ, переданный в команде идентификации, совпадает с идентификатором, используемым в предыдущем соединении, разрыв соединений передачи данных и статистики не производится, и передача данных продолжается. В случае различия идентификаторов существующие соединения передачи данных и статистики разрываются.