Приказ Минтранса РФ от 31.07.2012 г. N 285 Приложение N 6

Приложение N 6
к приказу Министерства транспорта
Российской Федерации
от 31 июля 2012 г. N 285

 


Приложение N 6 вступает в силу с 1 июля 2013 года (пункт 2 данного документа).

 
СПЕЦИФИКАЦИЯ ПРОТОКОЛА ТРАНСПОРТНОГО УРОВНЯ

 

  • 1. Введение
  •  
  • 1.1. Обмен данными между абонентским терминалом и системами и аппаратно-программными комплексами осуществляется при помощи сетей подвижной радиотелефонной связи стандартов GSM и UMTS.
  • 1.2. Сетевая модель OSI имеет следующие уровни: физический, канальный, сетевой, транспортный, сеансовый, представления данных и приложений. Для передачи данных между абонентскими терминалами и системами и аппаратно-программными комплексами используются следующие протоколы: транспортный уровень - протокол TCP, сетевой уровень - протокол IP. Соответствие уровней сетевой модели OSI, стека протоколов TCP/IP и протоколов системы представлено в Таблице N 1.
  •  
  • Таблица N 1. Соответствие уровней сетевой модели OSI, стека
  • протоколов TCP/IP и протоколов системы
  •  
  • 1.3. Общая длина пакета протокола транспортного уровня не превышает значения 65535 байт.
  • 2. Протокол транспортного уровня
  • 2.1. Обеспечение маршрутизации.
  • В качестве адресов маршрутизации используются идентификаторы аппаратно-программных комплексов, которые уникальны в рамках одной сети.
  • 2.2. Механизм проверки целостности данных.
  • Для части пакета Транспортного уровня используется алгоритм вычисления циклического избыточного кода CRC-8.
  • Для части пакета Уровня поддержки услуг используется алгоритм вычисления циклического избыточного кода CRC-16.
  • 2.3. Обеспечение надежности доставки.
  • Отправляющая сторона после передачи пакета ожидает на него подтверждение в виде пакета определенного типа, содержащего идентификатор ранее переданного пакета и код результата его обработки на принимающей стороне. Ожидание производится в течение определенного промежутка времени, зависящего от типа используемого протокола транспортного уровня (значение данного параметра TL_RESPONSE_TO указано в Таблице N 13).
  • После получения подтверждения отправляющая сторона производит анализ кода результата. Коды результатов обработки регламентированы протоколом и представлены в Таблице N 14. Пакет считается недоставленным в случае, если подтверждение не приходит по истечении времени TL_RESPONSE_TO. Недоставленные пакеты отправляются повторно (количество попыток отправки регламентировано протоколом. В Таблице N 13 указано значение данного параметра - TL_RESEND_ATTEMPTS). По достижении предельного количества попыток отправки канал передачи данных считается ненадежным и производится уничтожение установленной сессии (разрыв соединения в случае использования TCP/IP протокола в качестве транспортного протокола) и попытка создания новой сессии (соединения) через время, определяемое параметром TL_RECONNECT_TO (Таблица N 13).
  • 3. Построение систем и аппаратно-программных комплексов 
  • на основе протокола Транспортного уровня
  • 3.1. Все сервисы в рамках одного аппаратно-программного комплекса соединяются с Диспетчером (часть аппаратно-программного комплекса, выполняющая функции координации межсистемного взаимодействия и маршрутизации) и не имеют непосредственных связей между собой.
  • 3.2. Абонентский терминал также осуществляет взаимодействие с сервисами аппаратно-программного комплекса через компонент Диспетчер. При этом он идентифицируется по специальным пакетам, содержащим уникальный номер абонентского терминала UNIT_ID, назначаемый ему при регистрации в сети, а также другие учетные данные и информацию о состоянии модулей и блоков абонентского терминала.
  • 3.3. Протоколом Транспортного уровня (далее - протокол) зарезервирован диапазон номеров типов сервисов до 63. Пользовательские сервисы имеют типы с номерами, начиная с 64.
  • 4. Описание типов данных
  • 4.1. Протоколом определены и используются несколько различных типов данных полей и параметров, указанных в Таблице N 2.
  • Таблица N 2. Типы данных Протокола
  •  
  • 4.2. Многобайтовые типы данных USHORT, UINT, ULONG, FLOAT и DOUBLE используют порядок следования байт little - endian (младший байт вперед). Байты, составляющие последовательность в типах STRING и BINARY, интерпретируются как есть, т.е. обрабатываются в порядке их поступления.
  • 4.3. Определены следующие типы полей и параметров:
  • M (Mandatory) - обязательный параметр;
  • O (Optional) - необязательный параметр.
  • 5. Структуры данных
  • 5.1. Состав пакета протокола Транспортного уровня представлен на Рисунке N 1.
  •  
  • Рисунок N 1. Состав пакета протокола Транспортного уровня
  • 5.2. Пакет данных протокола Транспортного уровня состоит из заголовка, поля данных Уровня поддержки услуг, а также поля контрольной суммы данных Уровня поддержки услуг.
  • 5.3. Общая длина пакета протокола Транспортного уровня не превышает значения 65535 байт, что соответствует максимальному значению параметра Window Size (максимальный размер целого пакета, принимаемый на стороне приемника) заголовка протокола TCP. Таблица N 3 определяет состав пакета протокола Транспортного уровня.
  • Таблица N 3. Состав пакета протокола Транспортного уровня
  •  
  • 5.4. Заголовок протокола Транспортного уровня состоит из следующих полей: PRV, PRF, PR, CMP, ENA, RTE, HL, HE, FDL, PID, PT, PRA, RCA, TTL, HCS. Протокол Уровня поддержки услуг представлен полем SFRD, контрольная сумма поля Уровня поддержки услуг содержится в поле SFRCS.
  • 5.5. Параметр PRV содержит значение 0x01. Значение данного параметра инкрементируется каждый раз при внесении изменений в структуру заголовка.
  • 5.6. Параметр SKID определяет идентификатор ключа, используемого при шифровании.
  • 5.7. Параметр PRF определяет префикс заголовка Транспортного уровня и содержит значение 00.
  • 5.8. Поле RTE (Route) определяет необходимость дальнейшей маршрутизации данного пакета на удаленный аппаратно-программный комплекс, а также наличие опциональных параметров PRA, RCA, TTL, необходимых для маршрутизации данного пакета. Если поле имеет значение 1, то необходима маршрутизация и поля PRA, RCA, TTL присутствуют в пакете. Данное поле устанавливает Диспетчер того аппаратно-программного комплекса, на котором сгенерирован пакет, или абонентский терминал, сгенерировавший пакет для отправки на аппаратно-программный комплекс, в случае установки в нем параметра "HOME_DISPATCHER_ID", определяющего адрес аппаратно-программного комплекса, на котором данный абонентский терминал зарегистрирован.
  • 5.9. Поле ENA (Encryption Algorithm) определяет код алгоритма, используемый для шифрования данных из поля SFRD. Если поле имеет значение 00, то данные в поле SFRD не шифруются.
  • 5.10. Поле CMP (Compressed) определяет, используется ли сжатие данных из поля SFRD. Если поле имеет значение 1, то данные в поле SFRD считаются сжатыми.
  • 5.11. Поле PR (Priority) определяет приоритет маршрутизации данного пакета и может принимать следующие значения:
  • 00 - наивысший
  • 01 - высокий
  • 10 - средний
  • 11 - низкий
  • При получении пакета Диспетчер производит маршрутизацию пакета с более высоким приоритетом быстрее, чем пакетов с низким приоритетом.
  • 5.12. Поле HL - длина заголовка Транспортного уровня в байтах с учетом байта контрольной суммы (поля HCS).
  • 5.13. Поле HE определяет применяемый метод кодирования следующей за данным параметром части заголовка Транспортного уровня.
  • 5.14. Поле FDL определяет размер в байтах поля данных SFRD, содержащего информацию протокола Уровня поддержки услуг.
  • 5.15. Поле PID содержит номер пакета Транспортного уровня, увеличивающийся на 1 при отправке каждого нового пакета на стороне отправителя. Значения в данном поле изменяются по правилам циклического счетчика в диапазоне от 0 до 65535, т.е. при достижении значения 65535 следующее значение 0.
  • 5.16. Поле PT - тип пакета Транспортного уровня. Поле PT может принимать следующие значения.
  • 0 - EGTS_PT_RESPONSE (подтверждение на пакет Транспортного уровня);
  • 1 - EGTS_PT_APPDATA (пакет, содержащий данные протокола Уровня поддержки услуг);
  • 2 - EGTS_PT_SIGNED_APPDATA (пакет, содержащий данные протокола Уровня поддержки услуг с цифровой подписью).
  • 5.17. Поле PRA - адрес аппаратно-программного комплекса, на котором данный пакет сгенерирован. Данный адрес является уникальным в рамках сети и используется для создания пакета-подтверждения на принимающей стороне.
  • 5.18. Поле RCA - адрес аппаратно-программного комплекса, для которого данный пакет предназначен. По данному адресу производится идентификация принадлежности пакета определенного аппаратно-программного комплекса и его маршрутизация при использовании промежуточных аппаратно-программных комплексов.
  • 5.19. Поле TTL - время жизни пакета при его маршрутизации между аппаратно-программными комплексами. Использование данного параметра предотвращает зацикливание пакета при ретрансляции в системах со сложной топологией адресных пунктов. Первоначально TTL устанавливается аппаратно-программным комплексом, сгенерировавшим данный пакет. Значение TTL устанавливается равным максимально допустимому числу аппаратно-программных комплексов между отправляющим и принимающим аппаратно-программным комплексом. Значение TTL уменьшается на единицу при трансляции пакета через каждый аппаратно-программный комплекс, при этом пересчитывается контрольная сумма заголовка Транспортного уровня. При достижении данным параметром значения 0 и при обнаружении необходимости дальнейшей маршрутизации пакета происходит уничтожение пакета и выдача подтверждения с соответствующим кодом PC_TTLEXPIRED, описанным в Таблице N 14.
  • 5.20. Поле HCS - контрольная сумма заголовка Транспортного уровня (начиная с поля "PRV" до поля "HCS", не включая поле "HCS"). Для подсчета значения поля HCS ко всем байтам указанной последовательности применяется алгоритм CRC-8.
  • 5.21. Поле SFRD - структура данных, зависящая от типа пакета и содержащая информацию Протокола уровня поддержки услуг.
  • 5.22. Поле SFRCS - контрольная сумма поля уровня Протокола поддержки услуг. Для подсчета контрольной суммы по данным из поля SFRD используется алгоритм CRC-16. Данное поле присутствует только в том случае, если есть поле SFRD.
  • 5.23. Блок-схема алгоритма обработки пакета данных протокола Транспортного уровня при приеме представлена на Рисунке N 2.
  •  
  • Рисунок 2. Блок-схема алгоритма обработки пакета данных
  • протокола Транспортного уровня при приеме
  • 6. Структуры данных
  • 6.1. Структура данных пакета EGTS_PT_APPDATA.
  • Таблица N 4 описывает формат поля SFRD для пакета типа EGTS_PT_APPDATA.
  • Таблица N 4. Формат поля SFRD для пакета
  • типа EGTS_PT_APPDATA
  •  
  • Структуры SDR 1, SDR 2, SDR n содержат информацию Протокола уровня поддержки услуг.
  • 6.2. Структура данных пакета EGTS_PT_RESPONSE.
  • Он содержит информацию о результате обработки данных Протокола транспортного уровня, полученного ранее. Таблица N 5 описывает формат поля SFRD для пакета типа EGTS_PT_RESPONSE.
  • Таблица N 5. Формат поля SFRD для пакета
  • типа EGTS_PT_RESPONSE
  •  
  • 6.3.1. Параметр RPID - идентификатор пакета Транспортного уровня, подтверждение на который сформировано.
  • 6.3.2. Параметр PR - код результата обработки части пакета, относящейся к Транспортному уровню. Список возможных кодов результата обработки представлен в Таблице N 14.
  • 6.3.4. Структуры SDR 1, SDR 2, SDR n содержат информацию Уровня поддержки услуг.
  • 6.4. Структура данных пакета EGTS_PT_SIGNED_APPDATA.
  • Таблица N 6 определяет формат поля SFRD для пакета типа EGTS_PT_SIGNED_APPDATA.
  • Таблица N 6. Формат поля SFRD для пакета
  • типа EGTS_PT_SIGNED_APPDATA
  •  
  • 6.9. Параметр SIGL определяет длину данных "цифровой подписи" из поля SIGD.
  • 6.10. Параметр SIGD содержит непосредственно данные "цифровой подписи".
  • 6.11. Структуры SDR 1, SDR 2, SDR n содержат информацию Уровня поддержки услуг.
  • 6.12. На каждый пакет типа EGTS_PT_APPDATA или EGTS_PT_SIGNED_APPDATA, поступающий от абонентского терминала на аппаратно-программный комплекс или от аппаратно-программного комплекса на абонентский терминал, отправляется пакет типа EGTS_PT_RESPONSE, содержащий в поле PID номер пакета из пакета EGTS_PT_APPDATA или EGTS_PT_SIGNED_APPDATA. На Рисунке N 3 представлена последовательность обмена пакетами при взаимодействии абонентского терминала и аппаратно-программного комплекса.
  •  
  • Рисунок N 3. Взаимодействие абонентского терминала
  • и аппаратно-программного комплекса на уровне пакетов
  • Транспортного уровня
  • 7. Структура данных при использовании SMS-сервиса
  • в качестве резервного канала передачи
  • 7.1. При использовании SMS для передачи пакетов данных Протокола используется режим PDU. Режим PDU позволяет передавать не только текстовую, но и бинарную информацию через SMS-сервис оператора подвижной радиотелефонной связи.
  • 7.2. Для передачи используется структура SMS-SUBMIT с 8-ми битной кодировкой. Таблица N 7 описывает формат SMS сообщения для отправки в PDU режиме.
  •  
  • Таблица N 7. Формат SMS с использованием PDU
  • режима (SMS-SUBMIT)
  •  
  • 7.3. SMSC AL - длина полезных данных адреса SMSC в октетах плюс 1 октет поля SMSC AT.
  • 7.4. SMSC AT - тип формата адреса SMSC. Возможные значения параметров SMSC AT представлены в Таблице N 7. Поле опциональное, его наличие зависит от значения параметра SMSC AL (если значение SMSC AL > 0, то данное поле присутствует).
  • 7.5. SMSC A - адрес SMSC. Каждая десятичная цифра номера представлена в виде 4-х бит (младшие 4 бита - цифра более старшего разряда, старшие 4 бита - цифра меньшего разряда). При этом, если количество цифр в номере нечетное, то в битах с 4 по 7 последнего байта номера устанавливается значение 0xF (1111b). Данный параметр опциональный и его наличие зависит от значения параметра SMSC AL. В случае отсутствия параметра SMSC A используется SMSC из SIM карты.
  • 7.6. TP MTI - (Message Type Indicator) тип сообщения (содержит бинарное значение 01).
  • 7.7. TP RD - (Reject Duplicates) определяет, необходимо ли SMSC принимать данное сообщение на обработку, если существует предыдущее необработанное отправленное с данного номера сообщение, которое имеет такое же значение поля TP MR и такой же номер получателя в поле TP DA.
  • 7.8. TP VPF - (Validity Period Format) формат параметра TP VP.
  • 7.9. TP SRR - (Status Report Request) определяет необходимость отправки подтверждения со стороны SMSC на данное сообщение (если данный бит имеет значение 1, то требуется подтверждение).
  • 7.10. TP UDHI - (User Data Header Indicator) определяет, передается ли заголовок пользовательских данных TP UD HEADER (если поле имеет значение 1, то заголовок присутствует).
  • 7.11. TP RP - (Reply Path) определяет, присутствует ли поле RP в сообщении.
  • 7.12. TP MR - идентификатор сообщения (увеличивается на 1 при каждой отправке нового сообщения).
  • 7.13. TP DA L - длина полезных данных адреса получателя (определяется как количество символов в номере получателя). Например, если адрес получателя "79991234567", то TP DA L = 0Bh (11).
  • 7.14. TP DA T - тип формата адреса получателя. Возможные значения параметров TP DA T и SMSC AT представлены в Таблице N 9.
  • 7.15. TP DA - адрес получателя. Кодировка номера производится по тем же правилам, что и в параметре SMSC A.
  • 7.16. TP PID - идентификатор протокола (содержит значение 00).
  • 7.17. TP DCS - тип кодировки данных (содержит значение 0x04, определяющий 8-битную кодировку сообщения, отсутствие компрессии).
  • 7.18. TP VP - время актуальности данного сообщения. Таблица N 8 описывает формат данного параметра.
  • 7.19. TP UDL - длина данных сообщения из поля TP DL, в байтах для используемой 8-битной кодировки.
  • 7.20. TP UD - непосредственно передаваемые пользовательские данные. Таблица N 10 описывает формат данного поля.
  • Таблица N 8. Формат поля TP_VP в зависимости от значения
  • поля TP_VPF
  •  
  • Таблица N 9. Формат полей TP_DA_T и SMSC_AT (тип адреса)
  •  
  • 7.21. TON - (Type Of Number) тип номера. TON может принимать следующие значения:
  • 000 - неизвестный;
  • 001 - международный формат;
  • 010 - национальный формат;
  • 011 - специальный номер, определяемый сетью;
  • 100 - номер абонента;
  • 101 - буквенно-цифровой (коды с 7-битной кодировкой по умолчанию);
  • 110 - укороченный;
  • 111 - зарезервировано.
  • 7.22. NPI - (Numeric Plan Identification) тип плана нумерации (применимо для значений поля TON = 000, 001, 010). NPI может принимать следующие значения:
  • 0000 - неизвестный;
  • 0001 - план нумерации ISDN телефонии;
  • 0011 - план нумерации при передаче данных;
  • 0100 - телеграф;
  • 1000 - национальный;
  • 1001 - частный;
  • 1111 - зарезервировано.
  • Таблица N 10. Формат поля TP_UD
  •  
  • 7.23. LUDH - длина заголовка пользовательских данных в байтах без учета размера данного поля.
  • 7.24. IEI "A", IEI "B", IEI "N" - идентификатор информационного элемента "A", "B" и "N" соответственно, который определяет тип информационного элемента и может принимать следующие значения (в шестнадцатеричной системе):
  • 00 - часть конкатенируемого SMS сообщения;
  • 01 - индикатор специального SMS сообщения;
  • 02 - зарезервировано;
  • 03 - не используется;
  • 04 - 7F = зарезервировано;
  • 80 - 9F = для специального использования SME;
  • A0 - BF = зарезервировано;
  • C0 - DF = для специального использования SC;
  • E0 - FF = зарезервировано.
  • 7.25. LIE "A", LIE "B", LIE "N" - параметры, определяющие размер данных информационных элементов "A", "B" и "N" соответственно, в байтах без учета размера данного поля.
  • 7.26. IED "A", IED "B", IED "N" - данные информационных элементов "A", "B" и "N" соответственно.
  • 7.27. UD - данные пользователя. Размер данного поля определяется наличием заголовка пользовательских данных PT UD HEADER, состоящего из полей LUDH, IEI, LIE, IED. Если заголовок не передается, то размер равен значению из поля TP UDL из Таблицы N 7. Если заголовок передается, то размер поле вычисляется как разность (TP UDL - LUDH-1).
  • 7.28. В случае если идентификатор информационного элемента IEI заголовка пользовательских данных TP_UD_HEADER имеет значение 00, структура поля IED будет иметь вид, представленный в Таблице N 11.
  • Таблица N 11. Формат поля данных информационного элемента,
  • характеризующего часть конкатенируемого SMS сообщения
  •  
  • 7.29. CSMRN - номер конкатенируемого SMS сообщения. Имеет одинаковое значение для всех частей длинного SMS сообщения.
  • 7.30. MNSM - общее количество сообщений, из которых состоит длинное SMS. Содержит значения в диапазоне от 1 до 255.
  • 7.31. SNCSM - номер передаваемой части длинного SMS сообщения. Инкрементируется при отправке каждой новой части длинного сообщения. Содержит значение в диапазоне от 1 до 255. Если значение данного поля превышает значение из поля MNSM или равно нулю, то принимающая сторона игнорирует весь информационный элемент.
  • 7.32. При приеме SMS используется формат SMS-DELIVER с 8-битной кодировкой. Таблица N 12 определяет формат SMS сообщения в PDU режиме при получении.
  • Таблица N 12. Формат принимаемого SMS сообщения
  • в PDU режиме (SMS-DELIVER)
  •  
  • 7.33. SMSC_AL - длина полезных данных адреса SMSC в октетах плюс 1 октет поля SMSC_AT.
  • 7.34. SMSC_AT - тип формата адреса SMSC. Возможные значения параметров SMSC_AT представлены в Таблице N 7. Поле опциональное и его наличие зависит от значения параметра SMSC_AL (если значение SMSC_AL > 0, то данное поле присутствует).
  • 7.35. SMSC_A - адрес SMSC. Каждая десятичная цифра номера представлена в виде 4-х бит (младшие 4 бита - цифра старшего разряда, старшие 4 бита - цифра младшего разряда), при этом если количество цифр в номере нечетное, то в битах с 4 по 7 последнего байта номера устанавливается значение 0xF(1111b).
  • 7.36. TP_MTI - (Message Type Indicator) тип сообщения (содержит бинарное значение 00).
  • 7.37. TP_MMS - (More Messages to Send) определяет, существуют ли сообщения на стороне SMSC, ожидающие доставки данному получателю. Параметр может иметь следующие значения:
  • 0 - есть еще SMS сообщения для доставки;
  • 1 - сообщений для доставки нет.
  • 7.38. TP_SRI - (Status Report Indication) показывает, запрашивает ли сторона, отправившая данное сообщение, уведомление о доставке. Может принимать следующие значения:
  • 0 - уведомление не будет передаваться отправителю;
  • 1 - уведомление будет отправлено.
  • 7.39. TP_UDHI - (User Data Header Indicator) определяет, передается ли заголовок пользовательских данных TP_UD_HEADER (если поле имеет значение 1, то заголовок присутствует).
  • 7.40. TP_RP - (Reply Path) определяет, присутствует ли поле RP в сообщении.
  • 7.41. TP_OA_L - длина полезных данных адреса отправителя.
  • 7.42. TP_OA_T - тип формата адреса отправителя. Возможные значения параметров TP_OA_T и SMSC_AT представлены в Таблицах N 7,12.
  • 7.43. TP_OA - адрес отправителя. Кодировка номера производится по тем же правилам, что и в параметре SMSC_A.
  • 7.44. TP_PID - идентификатор протокола.
  • 7.45. TP_DCS - тип кодировки данных (содержит значение 0x04, определяющее 8-битную кодировку сообщения, отсутствие компрессии).
  • 7.46. TP_SCTS - время, когда данное сообщение было передано в транспортный уровень SMSC. Формат данного параметра определяется значением из таблицы N 12.
  • 7.47. TP_UDL - длина данных сообщения из поля TP_DL, в байтах для используемой 8-битной кодировки.
  • 7.48. TP_UD - непосредственно передаваемые пользовательские данные. Формат данного поля в зависимости от значения поля TP_UDHI представлен в Таблице N 7.
  • 8. Формат передаваемой информации
  • 8.1. При использовании SMS - сервиса для обмена данными между абонентским терминалом и аппаратно-программным комплексом пакеты, упакованные по правилам Протокола транспортного уровня и Уровня поддержки услуг, помещаются в поле TP_UD (Таблица N 10), при этом полный размер пакета Протокола не превышает 140 байт.
  • 8.2. Для отправки SMS, содержащего "цифровую подпись", используется пакет Транспортного уровня типа EGTS_PT_SIGNED_APPDATA.
  • 8.3. В случае если размер пакета данных протокола превышает 140 байт, используется механизм конкатенации SMS сообщений. Суть данного механизма состоит в том, что передаваемые пользовательские данные разбиваются на части и отправляются отдельными SMS сообщениями. Каждое такое сообщение содержит специальную структуру, определяющую общее количество частей передаваемых данных и порядок их сборки на принимающей стороне. В качестве такой структуры используется поле TP_UD_HEADER, которое содержит информационный элемент, характеризующий часть конкатенируемого SMS сообщения.
  • Максимально возможный размер пакета при использовании 8-битной кодировки составляет 34170 байт.
  • 9. Временные и количественные параметры
  • протокола транспортного уровня при использовании пакетной
  • передачи данных
  • 9.1. Таблица N 13 содержит описание временных и количественных параметров протокола Транспортного уровня.
  • Таблица N 13. Временные и количественные параметры
  • протокола Транспортного уровня
  •  
  • Таблица N 14. Коды результатов обработки