|---------------------+----------------------| TCP/IP | системы |

|Номер|Название уровня|Номер |Название уровня| | |

|уров-| |уровня| | | |

| ня | | | | | |

|-----+---------------+------+---------------+----------+---------------|

| 7 | Приложений | 4 | Приложений | FTP, | Уровень |

|-----+---------------| | | HTTP, |поддержки услуг|

| 6 | Представления | | | РОР3, | |

| | данных | | | IMAP, | |

|-----+---------------| | | telnet, |---------------|

| 5 | Сеансовый | | | SMTP, | Транспортный |

| | | | |DNS, TFTP | уровень |

|-----+---------------+------+---------------+----------+---------------|

| 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 указано в Таблице 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. Типы данных Протокола

+-----------------------------------------------------------------------+

| Тип | Размер, байт | Диапазон значений | Описание |

| данных | | | |

|---------+---------------+-------------------------+-------------------|

|BOOLEAN | 1 |TRUE=1, FALSE=0 |Логический тип, |

| | | |принимающий только |

| | | |два значения TRUE |

| | | |или FALSE |

|---------+---------------+-------------------------+-------------------|

|BYTE | 1 |0 ... 255 |Целое число без |

| | | |знака |

|---------+---------------+-------------------------+-------------------|

|USHORT | 2 |0 ... 65535 |Целое число без |

| | | |знака |

|---------+---------------+-------------------------+-------------------|

|UINT | 4 |0 ... 4294967295 |Целое число без |

| | | |знака |

|---------+---------------+-------------------------+-------------------|

|ULONG | 8 |0 ... |Целое число без |

| | |18446744073709551615 |знака |

|---------+---------------+-------------------------+-------------------|

|SHORT | 2 |-32768 ... + 32767 |Целое число со |

| | | |знаком |

|---------+---------------+-------------------------+-------------------|

|INT | 4 |-2147483648 ... |Целое число со |

| | |+2147483647 |знаком |

|---------+---------------+-------------------------+-------------------|

|FLOAT | 4 |* Е - 38 ... 3.4 Е + 38 |Дробное число со |

| | | |знаком |

|---------+---------------+-------------------------+-------------------|

|DOUBLE | 8 |* Е - 308 ... 1.7 Е + 308|Дробное число со |

| | | |знаком |

|---------+---------------+-------------------------+-------------------|

|STRING | Переменный. | |Содержит |

| | Размер | |последовательность |

| | определяется | |печатных символов в|

| | внешними | |кодировке по |

| |параметрами или| |умолчанию CP-1251 |

| | применением | | |

| | специального | | |

| |символа-терми - | | |

| | натора (код | | |

| | 0x00) | | |

|---------+---------------+-------------------------+-------------------|

|BINARY | Переменный. | |Содержит |

| | Размер | |последовательность |

| | определяется | |данных типа BYTE |

| | внешними | | |

| | параметрами | | |

|---------+---------------+-------------------------+-------------------|

|ARRAY OF | Переменный. | |Содержит |

|TYPE | Размер | |последовательность |

| | определяется | |одного из |

| | внешними | |вышеуказанных типов|

| | параметрами | |(TYPE), кроме |

| | | |BINARY. Экземпляры |

| | | |типов идут |

| | | |последовательно |

| | | |один за другим. |

+-----------------------------------------------------------------------+

4.2. Многобайтовые типы данных USHORT, UINT, ULONG, FLOAT и DOUBLE

используют порядок следования байт little - endian (младший байт вперёд).

Байты, составляющие последовательность в типах STRING и BINARY,

интерпретируются как есть, т. е. обрабатываются в порядке их поступления.

4.3. Определены следующие типы полей и параметров:

М (Mandatory) - обязательный параметр;

О (Optional) - необязательный параметр.

5. Структуры данных

5.1. Состав пакета протокола Транспортного уровня представлен на

Рисунке N 1.

+-----------------------------------------------------------------------+

| Заголовок Протокола | Данные Уровня Поддержки | Контрольная Сумма |

| Транспортного Уровня | Услуг | Данных Уровня |

| | | Поддержки Услуг |

+-----------------------------------------------------------------------+

Рисунок N 1. Состав пакета протокола Транспортного уровня

5.2. Пакет данных протокола Транспортного уровня состоит из

заголовка, поля данных Уровня поддержки услуг, а также поля контрольной

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

5.3. Общая длина пакета протокола Транспортного уровня не превышает

значения 65535 байт, что соответствует максимальному значению параметра

Window Size (максимальный размер целого пакета, принимаемый на стороне

приёмника) заголовка протокола TCP. Таблица N 3 определяет состав пакета

протокола Транспортного уровня.

Таблица N 3. Состав пакета протокола Транспортного уровня

+--------------------------------------------------------------------------------------------------+

|Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 |Бит 0 | Тип | Тип данных |Размер, байт |

|--------------------------------------------------------------+--------+------------+-------------|

| PRV (Protocol Version) | M | BYTE | 1 |

|--------------------------------------------------------------+--------+------------+-------------|

| SKID (Security Key ID) | М | BYTE | 1 |

|--------------------------------------------------------------+--------+------------+-------------|

| PRF | RTE | ENA | CMP | PR | М | BYTE | 1 |

| (Prefix) | | | | | | | |

|--------------------------------------------------------------+--------+------------+-------------|

| HL (Header Length) | М | BYTE | 1 |

|--------------------------------------------------------------+--------+------------+-------------|

| HE (Header Encoding) | М | BYTE | 1 |

|--------------------------------------------------------------+--------+------------+-------------|

| FDL (Frame Data Length) | М | USHORT | 2 |

|--------------------------------------------------------------+--------+------------+-------------|

| PID (Packet Identifier) | М | USHORT | 2 |

|--------------------------------------------------------------+--------+------------+-------------|

| PT (Packet Type) | М | BYTE | 1 |

|--------------------------------------------------------------+--------+------------+-------------|

| PRA (Peer Address) | О | USHORT | 2 |

|--------------------------------------------------------------+--------+------------+-------------|

| RCA (Recipient Address) | О | USHORT | 2 |

|--------------------------------------------------------------+--------+------------+-------------|

| TTL (Time To Live) | О | BYTE | 1 |

|--------------------------------------------------------------+--------+------------+-------------|

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17