Спецификация протокола транспортного уровня
А.1 Введение
А.1.1 Обмен данными между АСН и системами и аппаратно-программными комплексами осуществляется при помощи сетей подвижной радиотелефонной связи стандартов GSM.
А.1.2 Сетевая модель OSI имеет следующие уровни: физический, канальный, сетевой, транспортный, сеансовый, представления данных и приложений. Для передачи данных между АСН и системами и аппаратно-программными комплексами используются следующие протоколы: транспортный уровень - протокол TCP, сетевой уровень - протокол IP. Соответствие уровней сетевой модели OSI, стека протоколов TCP/IP и протоколов системы представлено в таблице А.1.
Таблица А.1 - Соответствие уровней сетевой модели OSI, стека протоколов TCP/IP и протоколов системы
Модель OSI | Стек протоколов TCP/IP | Протокол TCP/IP | Протокол системы | ||
Номер | Название уровня | Номер | Название уровня | ||
7 | Приложений | 4 | Приложений | FTP, HTTP, POP3, IMAP, telnet, SMTP, DNS, TFTP | Уровень поддержки услуг |
6 | Представления данных | ||||
5 | Сеансовый | Транспортный уровень | |||
4 | Транспортный | 3 | Транспортный | TCP, UDP | TCP |
3 | Сетевой | 2 | Межсетевой | IP | IP |
2 | Канальный | 1 | Доступ к сети | ||
1 | Физический |
А.1.3 Общая длина пакета протокола транспортного уровня не превышает значения 65535 байт.
А.2 Протокол транспортного уровня
А.2.1 Обеспечение маршрутизации
В качестве адресов маршрутизации используются идентификаторы аппаратно-программных комплексов, которые уникальны в рамках одной сети.
А.2.2 Механизм проверки целостности данных
Для части пакета транспортного уровня используется алгоритм вычисления циклического избыточного кода CRC-8.
Для части пакета уровня поддержки услуг используется алгоритм вычисления циклического избыточного кода CRC-16.
А.2.3 Обеспечение надежности доставки
Отправляющая сторона после передачи пакета ожидает на него подтверждение в виде пакета определенного типа, содержащего идентификатор ранее переданного пакета и код результата его обработки на принимающей стороне. Ожидание производится в течение определенного промежутка времени, зависящего от типа используемого протокола транспортного уровня (значение данного параметра TL_RESPONSE_TO указано в таблице А.13).
После получения подтверждения отправляющая сторона производит анализ кода результата. Коды результатов обработки регламентированы протоколом и представлены в таблице А.14. Пакет считается недоставленным в том случае, если подтверждение не приходит по истечении времени TL_RESPONSE_TO. Недоставленные пакеты отправляются повторно (количество попыток отправки регламентировано протоколом. В таблице А.13 указано значение данного параметра - TL_RESEND_ATTEMPTS). По достижении предельного числа попыток отправки канал передачи данных считается ненадежным и производится уничтожение установленной сессии (разрыв соединения в случае использования TCP/IP протокола в качестве транспортного протокола) и попытка создания новой сессии (соединения) через время, определяемое параметром TL_RECONNECT_TO (таблица А.13).
А.3 Построение систем и аппаратно-программных комплексов на основе протокола транспортного уровня
А.3.1 Все сервисы в рамках одного аппаратно-программного комплекса соединяются с диспетчером (часть аппаратно-программного комплекса, выполняющая функции координации межсистемного взаимодействия и маршрутизации) и не имеют непосредственных связей между собой.
А.3.2 АСН также осуществляет взаимодействие с сервисами аппаратно-программного комплекса через компонент "диспетчер". При этом он идентифицируется по специальным пакетам, содержащим уникальный номер АСН UNIT_ID, назначаемый ему при регистрации в сети, а также другие учетные данные и информацию о состоянии модулей и блоков АСН.
А.3.3 Протоколом транспортного уровня (далее - протокол) зарезервирован диапазон номеров типов сервисов до 63. Пользовательские сервисы имеют типы с номерами, начиная с 64.
А.4 Описание типов данных
А.4.1 Протоколом определены и используются несколько различных типов данных полей и параметров, указанных в таблице А.2.
Таблица А.2 - Типы данных протокола
Тип | Размер, байт | Диапазон значений | Описание |
BOOLEAN | 1 | TRUE=1, FALSE=0 | Логический тип, принимающий только два значения TRUE или FALSE |
BYTE | 1 | 0...255 | Целое число без знака |
USHORT | 2 | 0...65535 | Целое число без знака |
UINT | 4 | 0...4294967295 | Целое число без знака |
ULONG | 8 | 0... | Целое число без знака |
SHORT | 2 | -32768...+32767 | Целое число со знаком |
INT | 4 | -2147483648... +2147483647 | Целое число со знаком |
FLOAT | 4 | +/-1.2 E - 38...3.4 E + 38 | Дробное число со знаком |
DOUBLE | 8 | +/- 2.2 E - 308...1.7 E + 308 | Дробное число со знаком |
STRING | Переменный. Размер определяется внешними параметрами или применением специального символа - терминатора (код 0x00) | Содержит последовательность печатных символов в кодировке по умолчанию CP-1251 | |
BINARY | Переменный. Размер определяется внешними параметрами | Содержит последовательность данных типа BYTE | |
ARRAY OF TYPE | Переменный. Размер определяется внешними параметрами | Содержит последовательность одного из вышеуказанных типов (TYPE), кроме BINARY. Экземпляры типов идут последовательно один за другим |