Протоколы сетей X.25
В 1976 году был принят стандарт X.25, который стал основой всемирной системы PSPDN (Packet-Switched Public Data Networks), базирующейся на 7-уровневой модели ISO OSI. Стандарт X.25 был усовершенствован в 1984. X.25 — протокол (ISO 8208:1989; RFC-887, -1381, -1382, -1461, -1598, -1613), который определяет синхронный интерфейс между терминальным оборудованием (DTE — Data Terminal Equipment) и оборудованием передачи данных (DCE — Data Communication Equipment) для терминалов, работающих в пакетном режиме. По существу это протокол связи оборудования с сетью.
Главный недостаток протокола X.25 — большие задержки отклика (типовое значение 0.6 сек). Терминалом может служить ЭВМ или любая другая система, удовлетворяющая требованиям X.25. Соединение DTE — DTE осуществляется через DCE. В протоколе X.25 DCE и DTE используют статистическое мультиплексирование с делением по времени. Одновременно могут реализовываться несколько обменных процессов. Схема взаимодействия DTE и DCE выглядит как:
DTE — <логический канал> — DCE <виртуальное соединение> — DCE — <логический канал> — DTE
Асинхронный старт-стопный терминал подключается к сети коммутации пакетов через пакетный адаптер данных ПАД (PAD — packet assemble/disassemble) и отвечает рекомендациям X.3, X.28 и X.29. Один ПАД обеспечивает интерфейс для 8, 16 или 24 асинхронных терминалов. Пакет данных состоит обычно из 128 байтов, которые передаются по адресу, содержащемуся в пакете. Но длина пакета может лежать в пределах 64-4096 байтов. Размер пакета также как и величина окна (число пакетов, принимаемых без подтверждения) определяются на фазе установления канала. Прежде чем пакет будет передан, необходимо установить связь между исходными ЭВМ/ПАД и адресуемыми ЭВМ/ПАД. Существуют два вида соединений: коммутируемый виртуальный канал (SVC) и постоянный виртуальный канал (PVC). Предусмотрены две процедуры доступа к каналу:
-
Процедура доступа к каналу (LAP — link access procedure), в основе которой лежат симметричные операции режима асинхронного ответа (ARM — asynchronous response mode) протокола HDLC.
-
Балансная процедура доступа к каналу (LAPB — link access procedure balanced) на основе асинхронного балансного режима (ABM — asynchronous balanced mode) протокола HDLC. Сетевой уровень реализуется с использованием 14 различных типов пакетов.
Виртуальный канал описывается в общем формате пакета, как «логический канал». Логический канал имеет идентификатор, состоящий из 12 бит. Этот идентификатор обычно состоит из номера группы (4 бита) и номера логического канала (8 бит). В группе может быть до 256 логических каналов (за исключением группы 0, которая может иметь только 255 логических каналов). Возможное число групп — 16, поэтому теоретически возможное число виртуальных каналов для каждого соединения x.25 равно 4095 (16×256-1).
Постоянный виртуальный канал (PVC — permanent virtual circuit) является аналогом выделенного канала.
Коммутируемый виртуальный канал (SVC — switched virtual circuit — напоминает традиционный телефонный вызов) реализует обмен данными. Имеются три типа коммутируемых виртуальных каналов, работающие в дуплексном режиме, но отличающиеся направлением устанавливаемых соединений: входящий SVC, двунаправленный SVC и выходящий SVC. Адресат каждого пакета распознается с помощью идентификатора логического канала (LCI) или номера логического канала (LCN).
SVC используются только на время соединения и становятся доступными для повторного использования после разъединения. Все типы пакетов, за исключением пакетов запроса повторного пуска, содержат идентификатор логического канала. Пакет запрос соединения в SVC является единственным типом пакетов, которые содержат адреса в соответствии с рекомендацией X.121.
Для установки выходящего соединения через svc ЭВМ выбирает логический канал с наибольшим номером в группе и посылает пакет запрос соединения, содержащий выбранный номер группы канала, адрес получателя (в соответствии с рекомендацией X.121) и в отдельных случаях свой собственный адрес. При установлении входящего соединения центр коммутации пакетов (ЦКП) выбирает свободный логический канал с наименьшим номером в группе каналов порта адресуемой ЭВМ и помещает этот логический номер группы и канала в пакет входящий запрос соединения. После того как соединение через svc установлено, ЭВМ направляют свои пакеты, используя номера своих логических групп/каналов, а ЦПК в сети осуществляет транспортировку пакетов и преобразование номеров логических групп/каналов. Как только установленное по svc логическое соединение разъединяется, номера логических групп/каналов на обоих концах соединения освобождаются и становятся доступными для повторного использования. Соответствие между ЦКП/портом, выделенным для терминального оборудования, адресами (согласно рекомендациям x.121) и номерами логических каналов известно в сети только ЦКП.
Выбор ЭВМ свободного канала с наибольшим номером при каждом выходящем соединении и выбор в ЦКП свободного канала с наименьшим номером для каждого входящего позволяют избежать конфликтов. С этой же целью используются две логические группы: одна только для входящих соединений, а другая только для выходящих. Перед подключением к сети пользователь должен определить, сколько pvc и svc требуется на каждую точку физического интерфейса x.25. Асинхронные терминалы подключаются к сети коммутации пакетов через встроенные или удаленные пакетные адаптеры данных (ПАД).
Встроенный ПАД обычно располагается вместе с ЦКП в его стойке. В этом случае каждый асинхронный терминал, расположенный в удаленном месте, подключается к своему встроенному ПАД через отдельный канал связи (протокол Х.28). В альтернативном случае удаленный ПАД (небольшое отдельное устройство) может быть расположен в удаленном месте и подключается к своему ЦКП через канал связи (X.25). С помощью удаленного ПАД к ЦКП подключается 8-16 асинхронных терминалов.
Встроенный ПАД может быть совместно использован несколькими терминалами, расположенными в различных местах, в то время как удаленный ПАД обслуживает терминалы, расположенные обычно в одном месте. Существует еще один аспект размещения ПАД, связанный с помехами в каналах связи и использованием протоколов. Удаленный ПАД подключается к ЦКП на канальном уровне в соответствии с рекомендацией X.25. В качестве протокола канала данных в рекомендации X.25 реализуется подмножество HDLC, обеспечивающее автоматическую повторную передачу данных в случае их искажения при возникновении помех в линии. Асинхронный терминал использует для диалога с групповым ПАД процедуры, описанные в рекомендации X.28, в которых не предусмотрена возможность повторной передачи в случае ошибки. Поэтому канал между синхронным терминалом и групповым ПАД не защищен от возникновения ошибок данных в результате линейных помех. Процедуры ПАД определены в рекомендациях МККТТ (см. приложение 10.1).
-
Рекомендация X.3: «Пакетный адаптер данных (ПАД) в сети передачи данных общего пользования».
-
Рекомендация X.28: «Интерфейс между терминальным оборудованием и оборудованием передачи данных (DCE) для старт-стопного оконечного оборудования, осуществляющего доступ к пакетному адаптеру данных в сетях общего пользования».
-
Рекомендация X.29: «Процедуры обмена управляющей информацией между терминальным оборудованием пакетного типа и пакетным адаптером (ПАД)».
Основные функции ПАД соответствуют рекомендациям X.3:
-
сборка символов (полученных от асинхронных терминалов) в пакеты;
-
разборка полей данных в пакетах и вывод данных на асинхронные терминалы;
-
управление процедурами установления виртуального соединения и разъединения, сброса и прерывания;
-
обеспечение механизма продвижения пакетов при наличии соответствующих условий, таких как заполнение пакета, получение символа (сигнала) на передачу пакета, истечение времени ожидания;
-
передача символов, включающих стартстопные сигналы и биты проверки на четность, по требованию подключенного асинхронного терминала;
-
обнаружение сигнала разрыв соединения от асинхронного терминала;
-
редактирование последовательностей команд ПАД.
В постоянном запоминающем устройстве ПАД хранятся параметры. Эти параметры могут быть установлены либо асинхронным терминалом, подключенным к ПАД, либо любой ЭВМ в сети, которая удовлетворяет условиям рекомендации X.29. В рекомендации X.29 МККТТ эти параметры названы управляющей информацией. Поэтому необходимо квалифицировать данные, проходящие между ЭВМ и ПАД, либо как управляющую информацию (сообщения ПАД), либо как собственно данные от асинхронного терминала.
Сеть X.25 предоставляет пользователю старт-стопного терминала средства, позволяющие выбрать параметры ПАД с заранее определенными значениями. Пользователь посылает в ПАД команду выбора профайла, которая включает идентификатор профайла. Этим определяется один из нескольких стандартных профайлов, хранящихся в ПАД.
Идентификатор профайла и параметр 11 ПАД (скорость терминала) включаются в «поле данных пользователя» пакетов типа запрос соединения, посылаемых ПАД. ЭВМ (ПАД) использует это поле, извлекая из него информацию о терминале, пославшем запрос.
Пакетный терминал является интеллектуальным устройством (например, ЭВМ, или внешним ПАД’ом), которое обеспечивает синхронный обмен с сетью на скорости 2400, 4800, 9600 бит/c или 48 Кбит/с, используя трехуровневый протокол X.25. Возможная схема подключения терминальных устройств к сети X.25 показана на рис. 1.
Из рисунка 4.3.2.1 видно, что подключение ЭВМ и другого терминального оборудования возможно как к встроенному, так и удаленному ПАД (протокол X.28), а также непосредственно к ЦКП (протокол X.25, X.29). Связи с удаленными объектами осуществляются через соответствующие модемы (на рисунке не показаны).
Для международного соединения необходимо указать код страны из трех цифр, а также набрать одну цифру 9 перед сетевым адресом пользователя. Таким образом, всего требуется не более 15 цифровых символов. Для установления коммутируемого соединения оператор вначале вручную набирает номер ПАД и ждет подтверждения соединения с телефонным узлом общего пользования. Как только соединение установлено, оператор набирает 12-символьный код «сетевого идентификатора пользователя». ПАД обеспечивает операцию эхо-контроля, которая позволяет оператору терминала визуально проверять данные, посылаемые в ПАД. Наиболее серьезным недостатком встроенного ПАД является отсутствие какого-либо линейного протокола, предусматривающего устранение ошибок в данных, посылаемых от ПАД к терминалу. В удаленном ПАД предусмотрена процедура восстановления ошибочных данных, однако он подключается к сети как «пакетный терминал».
Рис. 1. Возможная топология сети X.25
Сетевой адрес пользователя состоит из 12 десятичных цифр. 1-4 — идентификатор сети передачи данных (3 — страна, 4 — сеть); 5-12 — национальный номер (5-7 местная область, 8-12 — местный номер). Международная система адресации для систем передачи данных общего пользователя описана в рекомендациях X.121 международного комитета по телефонии и телеграфии. Каждое подключение к сети коммутации пакетов имеет свой национальный номер. Протокол X.25 не определяет технику маршрутизации пакетов по сети. Для целей управления в сетях X.25 используется протокол snmp и база данных MIB (как и в сетях Интернет). Три базовых уровня протокола X.25 и схема потоков информации отображены на рис. 4.3.2.2.
Для подключения по виртуальному каналу ЭВМ/ПАД посылается пакет (call request), содержащий сетевой адрес пользователя. После подтверждения соединения и передачи/приема данных виртуальное соединение может быть разорвано путем передачи пакета (clear request), инициатором в этом случае выступает удаленная ЭВМ. При невозможности установить связь clear request посылается сетью. Такой пакет содержит два информационных октета. Первый содержит код причины, второй является диагностическим кодом. Ниже в таблице 1 приведены коды причин ошибки.
Таблица 1. Коды причины ошибки
Код причины | Причина |
0x0 | Удаленный сброс (remote cleared) |
0x1 | Адресат занят (number busy) |
0x3 | Нелегальный запрос (invalid facility request) |
0x5 | Перегрузка сети (network congestion) |
0x9 | Нарушен порядок (out of order) |
0x11 | Ошибка при выполнении удаленной процедуры |
0xb | Доступ блокирован (access barred) |
0xd | Не доступно, нет в наличии (not obtainable) |
0x21 | Несовместимость у адресата (ошибка при выполнении удаленной процедуры) |
0x23 | Ошибка при выполнении местной процедуры |
0x29 | Сигнал быстрой выборки не воспринят (fast select not accepted) |
Один физический канал связи X.25 может поддерживать несколько коммутируемых виртуальных каналов. Постоянный виртуальный канал подобен выделенной линии — обмен возможен в любой момент. X.25 определяет первые три уровня соединения открытых систем (см. рис. 4.3.2.2).
-
— физический x.21 (X.21bis)
-
— канальный (HDLC — high data link communication — протокол высокого уровня управления каналом). Этот уровень и последующие реализуются программным образом.
-
— сетевой (пакетный)
X.21 — универсальный интерфейс между оконечным оборудованием (DTE) и аппаратурой передачи данных (DCE) для синхронного режима работы в сетях общего пользования. X.21bis – тоже, но для модемов, удовлетворяющих рекомендациям серии V. Для канального уровня используется подмножество протокола HDLC (являющегося развитием стандарта SDLC IBM), обеспечивающее возможность автоматической повторной передачи в случае возникновения ошибок в линии.
Рис. 2. Три уровня X.25
Формат кадра для протокола HDLC показан на рис.3 (байты передаются, начиная с младшего бита):
Рис. 3. Формат кадра X.25
Открывающий и закрывающий флаги для бит-ориентированного формата несут в себе код 0x7e. Когда не передается никакой информации, по каналу пересылается непрерывный поток флагов 01111110. Посылка более 6 единиц подряд воспринимается как флаг абортирования связи. Если необходимо передать информационную последовательность 01111110, после первых пяти единиц вводится дополнительный нуль, приемник восстанавливает истинную информацию, удаляя эти лишние нули. В случае байт-ориентированных кадров открывающий и завершающий флаги имеют по два байта [DLE (Символы кодов стандарта ISO 646-1973 (МТК-5, ГОСТ 13059-74). Здесь и далее используется русская терминология в соответствии со стандартом ГОСТ 26556-85, STX и DLE, ETX, соответственно, для информационного кадра и DLE, STX и DLE, ETX для управляющего]. Адрес в пакете X.25 занимает всего один байт, что определяет предельное число терминальных устройств, подключаемых к одному каналу. Кадр на уровне 2 имеет двухбайтовый заголовок, содержащий байт адреса и байт типа. Для нумерации кадров на уровне 2 используется 3 бита. При работе со скользящим окном откликов это позволяет иметь до 7 кадров в очереди. При использовании спутниковых каналов с большими задержками можно переходить в режим расширенной нумерации (7 бит), где длина очереди может достигать 128. Если удаленный партнер не способен работать в режиме расширенной нумерации, он отклонит запрос соединения. При работе в режиме расширенной нумерации возможно применение 3-байтовых заголовков вместо двухбайтовых.
Значения поля идентификатора общего формата (GFI — general format identifier) приведено в таблице 2. Бит 8 этого поля (Q) используется в информационных пакетах как индикатор уровня передаваемых данных. Групповой номер логического канала и номер логического канала присваиваются по соглашению с администрацией сети во время постановки на обслуживание. Поля групповой номер логического канала и номер логического канала присутствуют во всех пакетах кроме пакетов регистрации и повторного пуска, где они принимают нулевое значение.
Таблица 2. Значения кодов идентификатора общего формата (GFI)
Тип пакета | Модуль нумерации | Номера битов | |||
8 | 7 | 6 | 5 | ||
Установка соединения | 8 128 |
0 0 |
x x |
0 1 |
1 0 |
Разрыв соединения, управление потоком, повторный пуск, регистрация, диагностика |
8 128 |
0 0 |
0 0 |
0 1 |
1 0 |
Данные | 8 128 |
x x |
x x |
0 1 |
1 0 |
Расширение | — | 0 | 0 | 1 | 1 |
x — бит может принимать значения 0 или 1.
Допустимые значения кодов в поле тип пакета приведены в таблице 3.
Таблица 3. Значения кодов тип пакета
Тип пакета | Октет 3 |
Биты | 8 7 6 5 4 3 2 1 |
Запрос | 0 0 0 0 1 0 1 1 |
Запрос принят | 0 0 0 0 1 1 1 1 |
Запрос завершения | 0 0 0 1 0 0 1 1 |
Подтверждение завершения | 0 0 0 1 0 1 1 1 |
Данные | x x x x x x x 0 |
Прерывание | 0 0 1 0 0 0 1 1 |
Подтверждение прерывания | 0 0 1 0 0 1 1 1 |
Готовность к приему по модулю 8 (RR) | x x x 0 0 0 0 1 |
Готовность к приему по модулю 128 (RR) |
0 0 0 0 0 0 0 1 |
Неготовность к приему по модулю 8 (RNR) |
x x x 0 0 1 0 1 |
Неготовность к приему по модулю 128 (RNR) |
0 0 0 0 0 1 0 1 |
Запрос повторной установки |
0 0 0 1 1 0 1 1 |
Подтверждение повторной установки |
0 0 0 1 1 1 1 1 |
Запрос повторного пуска |
1 1 1 1 1 0 1 1 |
Подтверждение повторного пуска |
1 1 1 1 1 1 1 1 |
Диагностика | 1 1 1 1 0 0 0 1 |
Запрос регистрации | 1 1 1 1 0 0 1 1 |
Подтверждение регистрации | 1 1 1 1 0 1 1 1 |
x — отмечет разряды, которые могут принимать значения 0 или 1.
Четырехбитовые поля длина адреса отправителя и длина адреса получателя характеризуют длины последующих полей переменной длины. Длина выражается в полуоктетах. Далее следуют соответствующие адреса. В каждом полуоктете записывается десятичная цифра адреса, при необходимости поле адреса дополняется нулями до целого числа октетов. Для пакетов установления связи кадры имеют формат, показанный на рис. 4.
Рис. 4. Формат кадра запроса на соединение и соединение установлено
Поле опции содержит целое число октетов, но не более 109, следующее же поле может содержать до 128 байт. Опция типа fast select позволяет поместить до 64 байтов в информационном поле пользователя, во многих случаях этого оказывается достаточно и исключается необходимость переходить в режим пересылки данных.
Если вызываемое DTE не присылает сообщения вызов принят или запрос завершения (установление связи отвергнуто) за отведенное для этого время, процедура завершается и процессу, инициализировавшему запрос, присылается соответствующий код ошибки. При успешной обработке запроса (прислано сообщение соединение установлено) система переходит в режим обмена данными. DTE может в любой момент инициировать процедуру разрыва связи, послав сообщение запрос завершения. DCE сообщает о завершении соединения путем присылки пакета индикация завершения, на который DTE должно прислать отклик подтверждение завершения. Формат пакетов запроса и подтверждения завершения отображен на рис.4. и 5. Байты 1 и 2 на рисунке 5 не показаны, так как они идентичны тому, что представлено на рис. .4.
Рис. 5. Формат пакетов запроса завершения
Коды причины завершения связи приведены в таблице 1. Однобайтовое поле диагностический код позволяет уточнить причину. В таблице 4 приведены коды причины повторного пуска. Формат пакетов подтверждения завершения представлен на рис. .6.
Таблица 4. Коды причин повторного пуска
Код причины | Причина повторного пуска |
0x1 | Ошибка локальной процедуры |
0x3 | Перегрузка сети |
0x7 | Сеть работоспособна |
Рис. .6. Формат пакетов подтверждения завершения
Для инициализации обмена информацией (первичного или повторного), а также для прерывания виртуальной связи и возвращения виртуальных каналов в исходное состояние используются запросы повторного пуска (и подтверждение повторного пуска). DTE может выдать запрос повторного пуска (к DCE) в любой момент времени, переводя логический канал в исходное состояние. DCE в ответ должно послать сообщение подтверждение повторного пуска. Инициатором повторного пуска может быть и dce, для этого оно посылает сообщение индикация повторного пуска. DTE в результате устанавливает логический канал в исходное состояние и посылает dce сообщение подтверждение повторного пуска. Форматы пакетов, несущих эти сообщения показаны на рис. 6 и 47. Эти пакеты не имеют полей группового номера логического канала и LCN (см. рис.7 и .8). Процедура повторной установки во многом аналогична повторному пуску и используются всякий раз при выявлении сбоя, чтобы вернуть виртуальную связь или постоянный виртуальный канал в исходное состояние.
Рис. 7. Формат пакета запроса повторного пуска (слева) и повторной установки
Таблица 5. Коды причин повторной установки
Причина повторной установки | Код причины |
Установка по инициативе dte | 0x0 |
Повреждение постоянного виртуального канала | 0x1 |
Ошибка при исполнении удаленной процедуры | 0x3 |
Ошибка при выполнении локальной процедуры | 0x5 |
Перегрузка сети | 0x7 |
Удаленное DTE работоспособно (постоянный виртуальный канал) | 0x9 |
Сеть работоспособна (постоянный виртуальный канал) | 0xf |
Несовместимость партнеров | 0x11 |
Партнер — получатель этого запроса должен прислать сообщение подтверждение повторной установки (рис..8). При этом возможны потери информации (также как и в случае повторного пуска), так как некоторые пакеты, находящиеся в сети в момент реализации запроса повторной установки или повторного пуска будут потеряны.
Инициатором посылки запроса повторной установки может быть dte и dce. Коды причин повторной установки представлены в таблице 5.
Рис. 8. Формат пакета подтверждения повторного пуска (слева) и повторной установки (справа)
Пакеты данных передаются по постоянным виртуальным каналам или через виртуальные соединения после их создания. Пакеты данных распознаются по нулевому младшему биту (бит с номером 1) в третьем октете. Остальные биты этого октета используются для управления. Форматы пакетов данных показаны на рис. .9.
Информационное поле начинается с четвертого байта (при расширенной нумерации с пятого) и может иметь длину 16-4096, хотя в рекомендациях стандарта x.25 оговорена величина 128 октетов. Если принимающая сторона не способна принять пакет данной длины, связь должна быть переустановлена, а стороне-инициатору соединения послано сообщение об ошибке. Каждому пакету данные присваивается порядковый номер N(S), значение которого при установлении соединения равно нулю.
Рис. 9. Форматы пакетов данные. Слева — по модулю 8, справа — по модулю 128
Q —бит определяет тип кадра-пакета, Q=1 — управляющий пакет для PAD, Q=0 — информационный пакет. Бит D используется для запроса специального отклика на пакет со стороны удаленного конца виртуального канала. Бит M указывает на то, что данный пакет является частью более крупного пакета, который должен быть воссоздан позднее.
Индекс S (send) соответствует отправке, а индекс R — приему (receive). Если используется нумерация пакетов по модулю 8, N(S) занимает биты 2-4 включительно, при нумерации по модулю 128 для этого отводятся биты 2-8. Нумерация пакетов позволяет выявить потерю пакетов или изменение порядка их доставки. N(R) является номером пакета с принимающей стороны. Бит подтверждения доставки D (идентификатор формата) служит для указания необходимости сообщения о доставке данных получателем. Если D=1, то DTE обязано подтвердить доставку. Обязательность процедуры подтверждения определяется уже на фазе установления связи (сообщение запрос на установление связи принят). Если какой-либо узел по пути пересылки пакета не поддерживает процедуру подтверждения доставки, он пошлет сообщение запрос завершения (причина — несовместимость у адресата) и связь должна быть сформирована заново с учетом необходимости подтверждения во всех узлах-участниках. Размер поля данные в пакете может быть разным для разных узлов, участвующих в обмене. По этой причине число полученных пакетов может оказаться больше (или меньше) числа посланных. Для таких случаев предусмотрен флаг m (дополнительные данные). Возможность фрагментации и последующей сборки пакетов определяется управляющими битами M и D (см. таблицу 4.3.2.6).
Таблица 6. Управление фрагментацией и сборкой пакетов с помощью битов M и D
Бит m | Бит d | Выполнение объединения с последующим пакетом (реализуется сетью) |
0 | 0 | Нет |
0 | 1 | Нет |
1 | 0 | Да |
1 | 1 | Нет |
Таким образом, при фрагментации исходного сообщения все пакеты кроме последнего должны иметь бит m=1. Нумерация пакетов по модулю 8 означает, что им последовательно присваиваются номера 0,1,2,3,4,5,6,7,0,1,2 и т.д. Аналогично при нумерации по модулю 128 — 0,1,2,…127,0,1,2,3 и т.д. Форма нумерации пакетов определяет также размер “окна”, то есть число пакетов, которые могут быть переданы, не дожидаюсь подтверждения получения. По умолчанию размер окна равен 2, другие значения могут быть согласованы на фазе установления соединения. Принцип использования окон при передаче пакетов более подробно описан в разделе “3.6.2 Протокол TCP”.
Для управления процессом передачи данных используются сообщения “готов к приему” и “не готов к приему”. Форматы этих пакетов показаны на рис. 10 и 11.
Рис 10. Формат пакетов готовность к приему и неготовность к приему при нумерации по модулю 8.
Рис 11. Формат пакетов готовность к приему и неготовность к приему при нумерации по модулю 128.
Код N(R) на входе DCE должен лежать в пределах между N(R) последнего принятого пакета и N(S) следующего пакета, который должен быть послан из DCE к DTE. При невыполнении этого условия связь будет переустановлена и передача повторена. Пакеты готовность к приему используются для сообщения о готовности принять пакеты, с номерами, начиная с номера N(R), приведенного в пакете. Пакеты неготовность к приему служат для того, чтобы сообщить о временной неспособности принять данные. При поступлении этого сообщения отправитель должен прервать передачу до получения сообщения готовность к приему. DTE может передавать данные удаленному DTE, не следуя правилам управления потоком данных. Для реализации такой возможности предусмотрена операция прерывания. Эта операция не влияет на передачу данных и управление. Формат пакета прерывание и подтверждение прерывания показан на рис. 12.
Рис. 12. Формат пакетов прерывание и подтверждение прерывания
Идентификатор формата равен 0x1 для нумерации по модулю 8 и 0x2 при нумерации по модулю 128. Передав сообщение прерывание, DTE должно ожидать получение пакета подтверждение прерывания. Максимальный размер поля данные пользователя в пакете прерывание не должен превышать 32 байт.
Иногда в сетях для сообщения об ошибке используется пакет “диагностика”. Этот пакет посылается DCE, адресуется DTE и несет информацию о неустранимых на уровне пакетов ошибках. Пакет диагностика посылается лишь один раз сразу после выявления ошибки. Подтверждения его получения не требуется. Формат пакета показан на рис. 4.3.2.13.
Рис. 13. Формат пакета диагностика
Поле код диагностики несет в себе информацию об ошибке, вызвавшей посылку этого пакета. Если же пакет диагностика передается в качестве отклика на пакет с ошибками от DTE, то поле уточнение диагностики содержит первые три байта пакета DTE.
Современные сети создаются ради доступа к определенным услугам. В протоколе X.25 предусмотрена процедура, которая позволяет получить текущие значения параметров услуг (опций) и модифицировать их. Эта процедура называется регистрацией и не является обязательной. Форматы пакетов запроса регистрации и подтверждения регистрации показаны на рис. 14 и 15. Максимальный размер поля регистрация составляет 109 байт. Инициатором регистрации всегда является dte, которое передает запрос регистрации. В качестве отклика dce посылает пакет подтверждение регистрации, в котором содержатся информация о параметрах доступных услуг. Для выявления доступных услуг может быть послан запрос регистрации, не содержащий списка запрашиваемых услуг.
Рис. 14. Формат пакетов запрос регистрации
Рис. 15. Формат пакетов подтверждение регистрации
Получив список доступных услуг из сообщения подтверждение регистрации, может поменять параметры некоторых из них. Если значение какого-либо параметра услуги (опции) не разрешено, DCE должно сообщить разрешенное значение параметра и максимальное и или минимальное разрешенное значение (в зависимости от того больше или меньше допустимого оказалось значение запрошенного параметра).
Неисправность сети может привести к тому, что та или иная согласованная ранее услуга станет недоступной. В этом случае DCE должно инициировать процедуру повторного пуска, чтобы уведомить DTE о случившихся изменениях.
Кроме процедуры регистрации к необязательным процедурам относятся услуги для замкнутой группы, идентификация пользователей сети, группа поиска, ускоренный обмен, переадресация вызовов, выбор транзитной сети, сообщения о модифицированном адресе, согласование параметров управления потоком и некоторые другие.
Повторная передача пакетов согласуется на определенное время и может использоваться во всех логических каналах DTE-DCE. DTE запрашивает повторную передачу одного или нескольких пакетов данные путем посылки сообщения отказ reject), которое определяет логический канал и порядковый номер пакета N(R). Получив пакет отказ DCE, DTE начинает повторную передачу пакетов. Формат пакетов отказ для случаев нумерации по модулю 8 и 128 показан на рис. 16.
Рис. 16. Форматы пакетов типа отказ для нумерации по модулю 8 (слева) и 128
Программное обеспечение принимающей и передающей сторон должно иметь переменные состояния V(R) и V(S), содержащие, соответственно, номера пакетов, которые предстоит получить и послать (см. описание процедуры HDLC). После посылки очередного пакета с N(S) значение V(S) увеличивается на 1. Принимающая сторона сравнивает V(R) с N(S) полученного пакета, при совпадении укладывает N(S) в поле N(R) пакета-отклика и инкрементирует V(R). Отправитель при получении пакета проверяет равенство переменной V(S) и кода поля N(R) в пакете-отклике. Если при получении пакета выясняется, что V(R) не равно N(S), V(R) не инкрементируется, а принимающая сторона отправляет отклик с N(R)=V(R). Отправитель, получив этот отклик и обнаружив, что V(S) не равно N(R), узнает о происшедшем сбое. Номер логического канала (LCN) служит для того, чтобы определить соответствие межу DTE и местным DCE. LCN вместе с полем группового номера логического канала занимают 12 бит, что позволяет иметь до 4095 логических каналов (LCN=0 зарезервировано для использования DCE).
4 бита первого байта управляющего пакета содержат в себе код типа сообщения (таблица 7):
Таблица 7 Коды типов сообщений
Код типа сообщения | Команда PAD | Отправитель |
0001 | Команда разъединения | ЭВМ |
0010 | Установление параметров | ЭВМ |
0011 | Индикация разъединения | ЭВМ или PAD |
0100 | Чтение параметров | ЭВМ |
0101 | Ошибка | PAD |
0110 | Установка и чтение параметров | ЭВМ |
В поле управляющего сообщения PAD может быть включено любое число параметров, которое допускает максимальный размер пакета. Каждый параметр имеет свой код-номер, за которым в пакете следует значение параметра (таблица 8):
Таблица 8. Коды параметров PAD
Код параметра | Описание |
1 | Обращение к ПАД с использованием управляющего символа |
2 | Эхо-контроль |
3 | Выбор сигнала посылки пакета |
4 | Выбор продолжительности ожидания для таймера |
5 | Управление вспомогательным устройством |
6 | Подавление управляющих сигналов ПАД |
7 | Выбор действий ПАД при получении сигнала разрыва |
8 | Прерывание вывода |
9 | Кодовая последовательность после сигнала «возврат каретки» |
10 | Перенос строки, длина которой ограничена размерами экрана дисплея |
11 | Скорость работы старт-стопного терминала |
12 | Управление потоком ПАД |
13 | Вставка символа «перевод строки» после символа «возврат каретки» |
14 | Заполнение после сигнала «перевод строки» |
15 | Редактирование |
16 | Стирание символа |
17 | Стирание строки |
18 | Вывод строки на экран дисплея |
19 | Редактирование сигналов управления ПАД |
20 | Маскирование эхо-контроля |
21 | Обработка символов контроля на четность |
22 | Ожидание страницы |
При работе TCP/IP сети через каналы X.25 и наоборот следует учитывать некоторые отличия кодов предпочтения в полях TOS. Таблица 9 содержит соответствие этих кодов для этих сетей.
Таблица 9. Соответствие кодов TOS для сетей TCP/IP и X.25
IP | X.25 | IP | X.25 |
000 | 00 | 001 | 01 |
010 |
10 |
011 — 111 |
11 |
Для реализации работы сетей ISDN по существующим каналам сети X.25 разработан протокол X.31. X.31 организует канал пользователь-маршрутизатор X.25 (через посредство ISDN) и регламентирует работу ISDN с пакетами X.25.
Для решения первой задачи используется сообщение SETUP. Вторая задача решается, когда канал до маршрутизатора сформирован. На этом этапе привлекается набор протоколов X.25, возможно применение протокола X.75 (ISO 8208), который является расширением X.25 для
Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru