Редактирование и дополнения сделаны в НИЦ-КВИУС 2.09.92 по известному всем документу

ОПИСАНИЕ ПРОТОКОЛА AX.25


(с) частичный перевод HamSpirit BBS
Нет никаких гарантий аутентичности перевода.
Все поправки и дополнения с благодарностью принимаются.

2. Описание сетевого протокола AX.25

2.1 Назначение и область применения
Для того, чтобы иметь механизм надежной передачи данных между двумя работающими терминалами, необходимо определить протокол, который позволяет передавать и принимать данные по различным типам линий связи. Протокол транспортного уровня AX.25 разработан для обеспечения передачи данных вне зависимости от того, есть ли другие уровни протокола или нет.

Этот протокол соответствует рекомендациям ISO N 3309, 4335 (включая DAD 1&2) и рекомендации высокого уровня 6256 по управлению передачей данных (HDLC) и использует терминологию, принятую в этих документах. Он также соответствует ANSI X3.66, который описывает симметричный режим ADCCP.

Этот протокол в принципе совпадает с рекомендацией X.25 CCITT, за исключением того, что он предусматривает расширенное поле адреса и дополнительный "Ненумерованный Информационный" (UI) кадр. Он также следует принципам, изложенным в рекомендации CCITT Q.921 (LAPD) в области нескольких соединений, различаемых по полю адреса в одном канале.

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

Этот протокол был разработан как для соединения двух индивидуальных радиостанций, так и для соединения индивидуальной радиостанции с многопортовым контроллером.

Этот протокол позволяет устанавливать более одного соединения на устройство, если устройство предоставляет этот сервис.

Этот протокол не запрещает самосоединение. Cамосоединение это, когда устройство устанавливает связь само с собой, используя свой собственный адрес, как адрес приемника и передатчика в кадре.

Большинство сетевых протоколов с множеством соединений предполагает наличие одого главного (первичного) устройства обычно называемого DCE (Data Circuit-terminating Equipmrnt), к которому подсоединено несколько вторичных (подчиненных) устройств обычно называемых DTE (Data Terminating Equipment). Такой вид несимметричной связи редко используется в распределенных радиосетях. Вместо этого AX.25 предполагает, что оба абонента связи имеют одинаковый класс и, таким образом, исключает два разных класса оборудования. Термин DXE используется в протоколе для описания этого симметричного типа устройства, который обычно встречается в радиосетях.

2.2 Структура кадра (пакета)
Передача информации по протоколу сетевого уровня разбита на небольшие блоки данных, называемые кадрами. Каждый кадр состоит из нескольких групп данных, называемых полями. Рис 1 показывает три основных типа кадра: U, S и I.
  -----------T------------T-----------T----------T-----------¬
  ¦ флаг     ¦ адрес      ¦ управление¦ FCS      ¦флаг       ¦
  +----------+------------+-----------+----------+-----------+
  ¦ 01111110 ¦ 112/560 бит¦ 8 бит     ¦ 16 бит   ¦01111110   ¦
  L----------+------------+-----------+----------+------------

          Рис 1.а - организация кадров U и S



  ---------T----------T----------T----T------T---------T--------¬
  ¦флаг    ¦адрес     ¦управление¦PID ¦Данные¦FCS      ¦флаг    ¦
  +--------+----------+----------+----+------+---------+--------+
  ¦01111110¦112/560бит¦8 бит     ¦8бит¦N*8бит¦16 бит   ¦01111110¦
  L--------+----------+----------+----+------+---------+---------

        Рис 1.б - организация информационного кадра
Каждое поле состоит из целого числа октетов (байт) и имеет определенное назначение, как описано далее.

2.2.1 Поле флага
Поле флага содержит один октет. Так как флаг служит для обозначения границ кадра, то он присутствует в начале и конце каждого кадра. Два кадра могут разделять один флаг, который должен обозначать конец одного кадра и начало следующего кадра. Флаг содержит 0, за которым следует шесть 1, за которыми следует еще один 0, или 01111110 (7Е шестн.). Эта последовательность ни при каких условиях не должна появляться нигде внутри кадра.

2.2.2 Поле адреса
Поле адреса используется для идентификации как передатчика (источника) кадра, так и приемника (места назначения) кадра. Кроме того, поле адреса содержит информацию о команде/ответе и о работе ретранслятора уровня 2. Кодировка поля адреса описана в 2.2.13.

2.2.3 Поле управления
Поле управление используется для идентификации типа кадра и управления некоторыми атрибутами при установлении связи по уровню 2. Это один октет, кодировка которого описана в пункте 2.3.2.1.

2.2.4 Поле PID
Поле идентификатора протокола (PID) должно присутствовать только в информационных кадрах (I и UI). Оно определяет какой уровень протокола третьего уровня (если он существует) использеутся в настоящий момент. Само поле PID не входит в счет октет информационного поля. Расшифровка кодировки PID приведена ниже:
  старший младший
  бит     бит
  |       |
  yy01yyyy - используется 3 уровень AX.25
  yy10yyyy - используется 3 уровень AX.25
  11001100 - используется 3 уровень датаграмм Internet Protocol
  11011101 - используется 3 уровень протокола разрешения адреса
  11110000 - протокол 3 уровня не используется
  11111111 - символ escape следующий октет содержит дополнительную
             информацию о протоколе 3 уровня

      где y - заменяет все используемые комбинации.
Все формы комбинаций yy11yyyy и yy00yyyyy отличные от перечисленных выше в настоящее время зарезервированны для будущих версий протокола 3 уровня. Присвоение кода новому протоколу 3 уровня делается по соглашению с отделом Digital Communications ARRL Ad Hoc Committee.

К настоящему времени известны следующие протоколы верхних уровней, использующие протокол AX.25:

     имя PID           код           протокол
                    hex   binary
     PID_X25        $01 ;00000001-CCIT X25 PLP
     PID_SEGMENT    $08 ;00001000-Segmentation fragment
     PID_TEXNET     $0C3;11000011-TEXNET Datagram Protocol
     PID_LQ         $0C4;11001000-Link Quality Protocol
     PID_APPLETALK  $0CA;11001010-Appletalk
     PID_APPLEARP   $0CB;11001011-Appletalk ARP
     PID_IP         $0CC;11001100-ARPA Internet Protocol
     PID_ARP        $0CD;11001101-ARPA Address Resolution Protocol
     PID_NET_ROM    $0CF;11001111-NET/ROM
     PID_NO_L3      $0F0;11110000-No Level 3 Protocol
Эти данные заимствованы из исходных текстов программы NET Phil Karno.

2.2.5 Информационное поле (I)
Информационное поле используется для переноса данных от одного абонента соединения к другому. I поля могут присутствовать только в 3 типах кадров : I, UI, FRMR. Длина поля I может достигать 256 октетов и должно содержать целое число октетов. Вся информация в поле I должна передаваться без изменений, за исключением вставки нулевых бит (2.2.6), необходимой для предотвращения появления флагов в I поле.

2.2.6 Стаффинг бит
В целях того, чтобы последовательность бит флага не появилась в каком-либо месте кадра передающая станция должна просматривать передаваемую последовательность бит на наличие 5 или более единичных бит. Каждый раз, когда встречается группа из 5 единичных бит, после 5-го единичного бита вставляется 0 бит. Во время приема пакета каждый раз, когда встречается 5 последовательно идущих единичных бит, следующий за ними 0 необходимо удалять.

2.2.7 Последовательность проверки кадра (FCS)
Последовательность проверки кадра (алгоритм CRC-16) - это 16-битовое число, вычиcляемое как передатчиком, так и приемником кадра. Она используется для проверки того, чтобы при передаче кадра от одного терминала к другому, он не был искажен каналом. Это число должно подсчитываться в соответствии с рекомендациями ISO 3309 (HDLC). Вероятность ошибки при приеме бита с проверкой по методу CRC-16: 1 на 1000000000 переданных бит.

2.2.8 Порядок передачи бит
За исключением поля FCS все поля кадра AX.25 должны передаваться начиная с младшего бита. Поле FCS должно передаваться начиная с старшего бита.

2.2.9 Ошибочный кадр
Любой кадр длиной менее 136 бит (включая открывающий и закрывающий флаги), не имеющий открывающего или закрывающего флага или длиной не кратной октету должен рассматриваться протоколом, как ошибочный. Смотри также 2.4.4.4.

2.2.10 Прерывание кадра
Если в силу каких-либо причин кадр должен быть прерван, то необходимо передать не менее 15 последовательных единичных бит без стаффинга бит.

2.2.11 Заполнение времени между кадрами
Если в силу каких-либо причин необходимо держать передатчик DXE включенным, не передавая кадров, то необходимо передавать непрерывно флаги.

2.2.12 Состояние канала связи
Не используется.

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

Поле адреса HDLC расширяется до более одного октета при помощи младшего бита каждого октета, называемого битом расширения. Бит расширения каждого октета устанавливается в 0, если следующий октет содержит продолжение поля адреса, и в 1, если данный октет является последним октетом поля адреса. Для того, чтобы освободить место для этого бита расширения, байты с позывными радиостанций сдвигаются на один бит влево.

2.2.13.1 Кодировка поля адреса без использования ретранслятора
Если ретрансляторы уровня 2 не используются, то поле адреса кодируется в соответствии с рисунком 2. Адрес приемника - это позывной и SSID радиостанции, на которую отправляется кадр, а адрес передатчика - это позывной и SSID станции, которая передает кадр. Эти позывные - позывные только двухточечного соединения по протоколу AX.25 уровня 2.

  -----------------------------------------------¬
  ¦          Поле адреса кадра                   ¦
  +--------------------T-------------------------+
  ¦ Адрес приемника    ¦ Адрес передатчика       ¦
  +--------------------+-------------------------+
  ¦А1 А2 А3 А4 А5 А6 А7¦А8 А9 А10 А11 А12 А13 А14¦
  L--------------------+--------------------------
  ^первый передаваемый октет

   Рис 2 - кодировка поля адреса без ретранслятора
Октеты А1-А14 - это четырнадцать октетов, которые составляеют два подполя адреса поля адреса. Адрес приемника занимает семь октетов А1-А7 и передается первым. Эта последовательность адреса дает приемникам кадров время на проверку подполя адреса приемника и принятие решения о том, кому адресован кадр, в то время, пока принимается остальная часть кадра. Подполе адреса передатчика передается в октетах А8-А14. Оба этих подполя кодируются одинаковым способом, за исключением того, что бит расширения последнего октета поля адреса устанавливается в 1.
В конце каждого подполя адреса есть октет содержащий вторичный идентификатор станции (SSID). Подполе SSID позволяет оператору иметь до 16 работающих радиостанций с одинаковым позывным. Это может быть полезным, если необходимо установить ретранслятор,кроме основной станции. В этом октете такхе передаются биты C (смотри 2.4.1.2) и H (смотри 2.2.13.2) и еще два резервных бита.

На рисунке 3а показан типичный кадр AX.25 при работе без ретранслятора.

 ------T-----T----------T-----------¬
 ¦Октет¦ASCII¦Дв. данные¦Hex данные ¦
 +-----+-----+----------+-----------+
 ¦флаг ¦     ¦01111110  ¦  7E       ¦
 ¦А1   ¦ K   ¦10010110  ¦  96       ¦
 ¦А2   ¦ 8   ¦01110000  ¦  70       ¦
 ¦А3   ¦ M   ¦10011010  ¦  9A       ¦
 ¦А4   ¦ M   ¦10011010  ¦  9A       ¦
 ¦А5   ¦ O   ¦10011110  ¦  9E       ¦
 ¦А6   ¦< >  ¦01000000  ¦  40       ¦
 ¦А7   ¦SSID ¦11100000  ¦  E0       ¦
 ¦А8   ¦ W   ¦10101110  ¦  AE       ¦
 ¦А9   ¦ B   ¦10000100  ¦  84       ¦
 ¦А10  ¦ 4   ¦01101000  ¦  68       ¦
 ¦А11  ¦ J   ¦10010100  ¦  94       ¦
 ¦А12  ¦ F   ¦10001100  ¦  8C       ¦
 ¦А13  ¦ I   ¦10010010  ¦  92       ¦
 ¦А14  ¦SSID ¦01100001  ¦  61       ¦
 ¦Упр  ¦ I   ¦00111110  ¦  3E       ¦
 ¦PID  ¦нет  ¦11110000  ¦  F0       ¦
 ¦FCS  ¦1ч.  ¦XXXXXXXX  ¦  HH       ¦
 ¦FCS  ¦2ч.  ¦XXXXXXXX  ¦  HH       ¦
 ¦флаг ¦     ¦01111110  ¦  7E       ¦
 +-----+-----+----------+-----------+
 ¦номера бит  76543210              ¦
 L-----------------------------------
  Рис 3а - организация кадра AX.25 без ретранслятора
Кадр, приведенный выше - это I кадр, который не использует ретранслятор уровня 2, от WB4JFI (SSID=0) k K8MMO (SSID=0), не использующий протокол 3 уровня. Бит P/F установлен, последовательный номер приема (N(R)) - 1, последовательный номер передачи (N(S)) - 7.

2.2.13.1.1 Кодировка подполя приемника
Рисунок 3 показывает как позывной приемника кадра размещается в подполе приемника в октетах А1-А7.

   ------T-----T----------T-----------¬
   ¦Октет¦ASCII¦Дв. данные¦Hex данные ¦
   +-----+-----+----------+-----------+
   ¦флаг ¦     ¦01111110  ¦  7E       ¦
   ¦А1   ¦ K   ¦10010110  ¦  96       ¦
   ¦А2   ¦ 8   ¦01110000  ¦  70       ¦
   ¦А3   ¦ M   ¦10011010  ¦  9A       ¦
   ¦А4   ¦ M   ¦10011010  ¦  9A       ¦
   ¦А5   ¦ O   ¦10011110  ¦  9E       ¦
   ¦А6   ¦< >  ¦01000000  ¦  40       ¦
   ¦А7   ¦SSID ¦CRRSSID0  ¦  E0       ¦
   +-----+-----+----------+-----------+
   ¦номера бит  76543210              ¦
   L-----------------------------------

   Рис 3 - кодировка подполя приемника.
где:
  1. Верхний октет (А1) - это первый передаваемый октет, 0-вой бит этого октета передается первым, а 7 бит передается последним.
  2. Младший (или нулевой) бит каждого октета - это бит расширения адреса HDLC, который устанавливается в 0 во всех октетах, кроме последнего октета поля адреса, в котором он устанавливается в 1.
  3. Биты обозначенные R - это зарезервированные биты. Они могут использоваться по соглашению в некоторых частных применениях. Если они не используются, то их необходимо установить в 1.
  4. Бит обозначенный C используется как бит команды/ответа кадра AX.25, как описано в 2.4.1.2
  5. Символы позывного радиостанции должны быть стандартными 7-ми битовыми символами ASCII верхнего регистра, код которых помещен в старшие 7 бит октета для того, чтобы освободить место для бита расширения. Если позывной содержит менее 6 символов, то он должен быть дополнен пробелами до 6 символов.
  6. SSID 0000 зарезервирован для первой персональной станции AX.25. Это устанавливает один стандартный SSID для "нормальных" станций, который необходимо использовать для первой станции.
2.2.13.2 Кодировка адреса с использованием ретранслятора 2-го уровня.
Если кадр должен передаваться через ретранслятор пакетов 2-го уровня, то в конец поля адреса добавляется дополнительное подполе адреса. Это подполе содержит позывной (позывные) используемого ретранслятора (ретрансляторов). Это позволяет использовать один радиоканал несколькими ретрансляторами. Если это подполе существует, то бит расширения последнего октета поля адреса передатчика устанавливается в 0, что означает что далее следуют дополнительные поля адреса. Подполе адреса ретранслятора кодируется таким-же способом, что и подполя передатчика и приемника за исключением того, что старший бит последнего октета называется битом H. H бит используется для индикации был пакет ретранслирован или нет.

Для индикации того, был пакет передан ретранслятором или нет, бит H устанавливается в 0, когда кадр передается ретранслятору. Ретранслятор устанавливает бит H, когда кадр передается им дальше. Станция-ретранслятор должна наблюдать за битом H и отбрасывать уже ретранслированные пакеты. Рисунок 4 показывает кодировку подполя адреса ретранслятора. Рисунок 4а показывает пример полного кадра после повтора его ретранслятором.

  ------T-----T----------T-----------¬
  ¦Октет¦ASCII¦Дв. данные¦Hex данные ¦
  +-----+-----+----------+-----------+
  ¦А15  ¦ W   ¦10101110  ¦  AE       ¦
  ¦А16  ¦ B   ¦10000100  ¦  84       ¦
  ¦А17  ¦ 4   ¦01101000  ¦  68       ¦
  ¦А18  ¦ J   ¦10010100  ¦  94       ¦
  ¦А19  ¦ F   ¦10001100  ¦  8C       ¦
  ¦А20  ¦ I   ¦10010010  ¦  92       ¦
  ¦А21  ¦SSID ¦HRRSSID1  ¦           ¦
  +-----+-----+----------+-----------+
  ¦номера бит  76543210              ¦
  L-----------------------------------
где:
  1. Верхний октет (А15) - это первый передаваемый октет, 0-вой бит этого октета передается первым, а 7 бит передается последним.
  2. Младший ( или нулевой) бит каждого октета - это бит расширения адреса HDLC, который устанавливается в 0 во всех октетах, кроме последнего октета поля адреса, в котором он устанавливается в 1.
  3. Биты обозначенные R - это зарезервированные биты. Они могут использоваться по соглашению в некоторых частных применениях. Если они не используются, то их необходимо установить в 1.
  4. Бит H - это бит ретранслирования кадра. Он устанавлен в 0, если кадр еще не ретранслирован , и в 1 - при передаче кадра ретранслятором.
  ------T-----T----------T-----------¬
  ¦Октет¦ASCII¦Дв. данные¦Hex данные ¦
  +-----+-----+----------+-----------+
  ¦флаг ¦     ¦01111110  ¦  7E       ¦
  ¦А1   ¦ K   ¦10010110  ¦  96       ¦
  ¦А2   ¦ 8   ¦01110000  ¦  70       ¦
  ¦А3   ¦ M   ¦10011010  ¦  9A       ¦
  ¦А4   ¦ M   ¦10011010  ¦  9A       ¦
  ¦А5   ¦ O   ¦10011110  ¦  9E       ¦
  ¦А6   ¦< >  ¦01000000  ¦  40       ¦
  ¦А7   ¦SSID ¦11100000  ¦  E0       ¦
  ¦А8   ¦ W   ¦10101110  ¦  AE       ¦
  ¦А9   ¦ B   ¦10000100  ¦  84       ¦
  ¦А10  ¦ 4   ¦01101000  ¦  68       ¦
  ¦А11  ¦ J   ¦10010100  ¦  94       ¦
  ¦А12  ¦ F   ¦10001100  ¦  8C       ¦
  ¦А13  ¦ I   ¦10010010  ¦  92       ¦
  ¦А14  ¦SSID ¦01100000  ¦  60       ¦
  ¦А15  ¦ W   ¦10101110  ¦  AE       ¦
  ¦А16  ¦ B   ¦10000100  ¦  84       ¦
  ¦А17  ¦ 4   ¦01101000  ¦  68       ¦
  ¦А18  ¦ J   ¦10010100  ¦  94       ¦
  ¦А19  ¦ F   ¦10001100  ¦  8C       ¦
  ¦А20  ¦ I   ¦10010010  ¦  92       ¦
  ¦А21  ¦SSID ¦11100011  ¦  E3       ¦
  ¦Упр  ¦ I   ¦00111110  ¦  3E       ¦
  ¦PID  ¦нет  ¦11110000  ¦  F0       ¦
  ¦FCS  ¦1ч.  ¦XXXXXXXX  ¦  HH       ¦
  ¦FCS  ¦2ч.  ¦XXXXXXXX  ¦  HH       ¦
  ¦флаг ¦     ¦01111110  ¦  7E       ¦
  +-----+-----+----------+-----------+
  ¦номера бит  76543210              ¦
  L-----------------------------------

  Рис 4а - кадр AX.25 в режиме ретранслятора.
Приводимый выше кадр это тот же кадр, что и на рисунке 3а, за исключением того, что добавлено подполе адреса ретранслятора (WB4JFI SSID=1). Бит H установлен в 1, что означает, что кадр был передан ретранслятором.

2.2.13.3 Работа с несколькими ретрансляторами
Протокол сетевого уровня AX.25 позволяет использовать более одного ретранслятора, обеспечивая таким образом примитивный механизм маршрутизации пакетов. В подполе адреса ретранслятора может содержаться до 8 позывных ретрансляторов. Когда присутствует более 1 ретранслятора, то первое подполе адреса ретранслятора должно рассматриваться как адрес первого ретранслятора в цепочке ретрансляторов. По мере продвижения кадра по цепочке ретрансляторов каждый ретранслятор будет устанавливать соответствующий бит Н в своем октете SSID, индицируя, что кадр был успешно передан ретранслятором. Никаких других изменений в кадре не производится ( за исключением вычислений соответствующей суммы FCS). Приемник кадра может восстановить путь кадра анализируя поле адреса.

Число адресов ретрансляторов является переменным. Все октеты адресов ретрансляторов (кроме последнего октета SSID последнего адреса ретранслятора) должны содержать бит расширения установленный в 0. В последнем октете последнего поля адреса ретранслятора бит расширения должен устанавливаться в 1, индицируя конец поля адреса.

Необходимо отметить, что возможно придется настраивать различные таймеры (смотри 2.4.7), для адаптации ко времени задержки распространения кадра по цепочке ретрансляторов и распространения подтверждения по цепочке ретрансляторов назад.

Подразумевается, что многоретрансляторный режим работы - это временный метод соединения станций на больших расстояниях до того времени, пока не будет использоваться протокол 3 уровня. Как только протокол 3 уровня вступит в строй, цепочки ретрансляторов не должны использоваться.

2.3. Элементы процедур

2.3.1 Элементы процедур обсуждаются в терминах действий, которые происходят при приеме кадров.

2.3.2 Формат поля управления и переменные состояния

2.3.2.1 Форматы поля управления
Поле управления отвечает за идентификацию типа передаваемого кадра, а также передает команды и ответы с одного конца соединения на другой в целях поддержания правильного функционирования соединения. Управляющие поля, используемые в AX.25, применяют управляющие поля CCITT X.25 для симметричного режима (LAPB) с дополнительным полем управления, взятым из ADCCP, для обеспечения работы без соединения и работы в режиме круглого стола.

Существует 3 главных типа кадра AX.25. Это: информационный кадр (I), кадр супервизора (S), и ненумерованный кадр (U). Рисунок 5 показывает базовый формат поля управления для этих типов кадров.

  --------------------T---------------------¬
  ¦Тип поля управления¦ Биты поля управления¦
  ¦                   +------T---T----T--T--+
  ¦                   ¦ 7 6 5¦ 4 ¦3 2 ¦1 ¦ 0¦
  +-------------------+------+---+----+--+--+
  ¦Фрейм I            ¦N(R)  ¦P  ¦  N(S) ¦ 0¦
  +-------------------+------+---+----+--+--+
  ¦Фрейм S            ¦N(R)  ¦P/F¦S S ¦0 ¦ 1¦
  +-------------------+------+---+----+--+--+
  ¦Фрейм U            ¦ M M M¦P/F¦M M ¦1 ¦ 1¦
  L-------------------+------+---+----+--+---
   Рисунок 5 Форматы поля управления.
где:
  1. Бит 0 - это первый передаваемый, а бит 7 - последний передаваемый бит поля управления.
  2. N(S) - последовательный номер передачи ( 1 бит - младший)
  3. N(R) - последовательный номер приема ( 5 бит- младший)
  4. Биты S - биты функции супервизора, кодировка которых обсуждается в 2.3.4.2.
  5. Биты M - биты модификатора ненурованного кадра, кодировка которых обсуждается в 2.3.4.3.
  6. Бит P/F - это бит пул/финал. Его назначение описано в 2.3.3. Различие между командами и ответами, а значит и битами P и F осуществляется в соответствии с правилами адресации, описанными в 2.4.1.2.
2.3.2.1.1 Формат передачи информации
У всех I кадров 0 бит поля управления установлен в 0. N(S) - это последовательный номер передачи (последовательный номер передаваемого передатчиком кадра). N(R) - последовательный номер приема (ожидаемый передатчиком последовательный номер следующего принимаемого кадра). Эти номера описаны в 2.3.2.4. Кроме того, бит P/F используется так как, описано в 2.4.2.

2.3.2.1.2 Формат кадра супервизора (S-кадр)
Кадры супервизора имеют 0-ой бит поля управления, установленный в 1,и 1-ый бит, установленный в 0. S кадр обеспечивает управление соединением, - подтверждение или запрос I кадров и управление окном на уровне соединения. Так как S кадры не имеют поля информации, то последовательный номер передачи не используется. Бит P/F используется так, как описано в 2.4.2.

2.3.2.1.3 Формат ненумерванного кадра (U-кадр)
У Ненумерованных кадров одновременно биты 1 и 0 поля управления установлены в 1. Эти кадры отвечают за поддержание дополнительного управления соединением, осуществляемого S кадрами. Они также отвечают за установление и окончание соединения. U кадры также позволяют осуществлять передачу и прием информации вне рамок обычного управления потоком. Некоторые U кадры могут содержать поля информации и PID. Кроме того, бит P/F используется так, как описано в 2.4.2.

2.3.2.2 Параметры поля управления

2.3.2.3 Последовательные номера
Каждому I кадру AX.25 должен быть присвоен последовательный номер по модулю 8. Это позволяет обнаружить пропажу до 7 кадров за одно соединение 2 уровня.

2.3.2.4 Переменные кадра и последовательные номера

2.3.2.4.1 Переменная состояния передачи V(S)
Переменная состояния передачи - это переменная, которая является внутренней для DXE и никогда не передается. Она содержит следующий последовательный номер, присваемый следующему передаваемуму I кадру. Эта переменная обновляется после передачи каждого I кадра.

2.3.2.4.2 Последовательный номер передачи N(S)
Последовательный номер передачи находится в поле управления всех I- кадров. Он содержит последовательный номер передаваемого I-кадра. Перед передачей I-кадра N(S) приравнивается к переменной V(S) состояния передачи.

2.3.2.4.3 Переменная состояния приема V(R)
Переменная состояния приема - это переменная, которая является внутренней для DXE и никогда не передается. Она содержит последовательный номер следующего ожидаемого I-кадра. Эта переменная обновляется после приема без ошибок каждого I-кадра, чей последовательный номер равен текущему значению переменной состояния приема.

2.3.2.4.4 Последовательный номер приема N(R)
Последовательный номер приема присутствует как в I-кадре, так и в S-кадре. До передачи кадров I и S эта переменная приравнивается переменной состояния приема, таким образом подтверждая правильный прием всех I-кадров, включая до N(R)-1.

2.3.3 Функции бита Пул/Финал (P/F)
Бит P/F используется во всех типах кадров. Он используется в командном (пул) режиме для запроса немедленного ответа на кадр. Ответ на этот пул индицируется установкой бита ответа (финал) в соответствующем кадре. Разрешается только одно активное состояние (пул) в одном направлении. Процедура работы бита P/F описывается в 2.4.2

2.3.4 Кодировка поля управления для команд и ответов
Следующие далее команды и ответы, задаваемые их кодировкой в поле управления, должны выполняться DXE.

2.3.4.1 Поле управления информационного кадра
Функция команды информации (I) заключается в передаче по линии связи последовательно пронумерованных кадров с информационным полем. Поле управления информационного кадра закодировано так, как показано на рисунке 6. Эти кадры последовательно нумеруются в подполе N(S) для поддержания управления их прохождением по соединению сетевого уровня.
  ------------------------¬
  ¦Биты поля управления   ¦
  +-------T--T--------T---+
  ¦7  6  5¦ 4¦ 3  2  1¦ 0 ¦
  +-------+--+--------+---+
  ¦  N(R) ¦ P¦   N(S) ¦ 0 ¦
  L-------+--+--------+----

  Рис 6 - поле управления I-кадра
2.3.4.2 Поле управления кадра супервизора
Кодировка поля управления кадра супервизора показана на рисунке 7.
  --------------------- T--------T---T--T--T--T--¬
  ¦Биты поля управления ¦ 7  6  5¦ 4 ¦ 3¦ 2¦ 1¦ 0¦
  +-------------------- +--------+---+--+--+--+--+
  ¦Готов к приему    RR ¦  N(R)  ¦P/F¦ 0¦ 0¦ 0¦ 1¦
  +-------------------- +--------+---+--+--+--+--+
  ¦Не готов к приему RNR¦  N(R)  ¦P/F¦ 0¦ 1¦ 0¦ 1¦
  +-------------------- +--------+---+--+--+--+--+
  ¦Повторить         REJ¦  N(R)  ¦P/F¦ 1¦ 0¦ 0¦ 1¦
  L-------------------- +--------+---+--+--+--+---

   Рис 7 - поле управления кадра S.
2.3.4.2.1 Команда и ответ Готов к приему (RR)
Команда "Готов к Приему" используется для следующих целей:
  1. Индикации того, что передатчик RR готов принять следующие I кадры
  2. Подтверждения правильного приема I-кадров вплоть до и включая N(R)-1
  3. Сброса ранее установленного состояния "Занят", созданного ранее переданной командой RNR.
Статус DXE на другом конце соединения может быть запрошен посылкой кадра с командой RR и установленным в 1 битом P.

2.3.4.2.2 Команда и ответ Не Готов к Приему (RNR)
Команда "Не готов к приему" используется для информирования передатчика I-кадра о том, что принимающий DXE временно занят и не может больше принимать I-кадры. Кадры вплоть до N(R)-1 подтверждаются. Все кадры с номерами N(R) и выше, которые были переданы перед командой RNR и не подтверждены, считаются не подтвержденными.

Состояние RNR может быть сброшено посылкой кадров UA, RR, REJ или SABM.

Статус DXE на другом конце связи может быть запрошен посылкой команды RNR с битом P установленным в 1.

2.3.4.2.3 Команда и ответ "повторить" (REJ)
Ответ REJ используется для запроса повторной передачи I-кадров, начиная с N(R). Подтверждются все кадры, переданные с последовательными номерами N(R)-1 и меньше. К повторной передаче могут быть добавлены дополнительные I-кадры, если они имеются у отправителя. В каждом соединении после передачи ответа REJ одновременно допукается только одно такое состояние, называемое "отказ". Состояние "отказ" сбрасывается правильным приемом I-кадров до кадра, вызвавшего ответ "повторить". Командой REJ с битом Р, установленным в 1, может быть запрошен статус DXE на другом конце радиолинии связи.

2.3.4.3 Управляющие поля ненумерованных кадров.
Управляющие поля ненумерованных кадров являются или командами или ответами. Рис 8 показывает кодировку управляющего поля в ненумерованном кадре.

  -----------------T-----T----------------------¬
  ¦Управляющее поле¦ тип ¦биты управляющего поля¦
  ¦                ¦     ¦7 6 5 ¦ 4  ¦3 2  ¦ 1 0¦
  +----------------+-----+------+----+-----+----+
  ¦Установить      ¦     ¦      ¦    ¦     ¦    ¦
  ¦асинхронный     ¦     ¦      ¦    ¦     ¦    ¦
  ¦симм. режим SABM¦ ком ¦0 0 1 ¦ P  ¦1 1  ¦ 1 1¦
  +----------------+-----+------+----+-----+----+
  ¦Рассоединение   ¦     ¦      ¦    ¦     ¦    ¦
  ¦DISC            ¦ ком ¦0 1 0 ¦ P  ¦0 0  ¦ 1 1¦
  +----------------+-----+------+----+-----+----+
  ¦Рассоединенный  ¦     ¦      ¦    ¦     ¦    ¦
  ¦режим         DM¦ отв ¦0 0 0 ¦ F  ¦1 1  ¦ 1 1¦
  +----------------+-----+------+----+-----+----+
  ¦Ненумерованное  ¦     ¦      ¦    ¦     ¦    ¦
  ¦подтверждение UA¦ отв ¦0 1 1 ¦ F  ¦0 0  ¦ 1 1¦
  +----------------+-----+------+----+-----+----+
  ¦Отказ от кадра  ¦     ¦      ¦    ¦     ¦    ¦
  ¦FRMR            ¦ отв ¦1 0 0 ¦ F  ¦0 1  ¦ 1 1¦
  +----------------+-----+------+----+-----+----+
  ¦Ненумерованная  ¦     ¦      ¦    ¦     ¦    ¦
  ¦информация UI   ¦ оба ¦0 0 0 ¦F/P ¦0 0  ¦ 1 1¦
  L----------------+-----+------+----+-----+-----

         Рис 8 - управляющие поля кадра U
2.3.4.3.1 Команда "установить асинхронный симметричный режим" (SABM)
Команда SABM используется для перевода двух DXE в асинхронный симметричный режим. Это именно тот симметричный режим, известный как LAPB, при котором оба устройства являются равноправными.

В команде SABM не допускаются информационные поля. Любой оставшийся на момент поступления команды SABM I-кадр останется неподтвержденным.

DXE подтверждает прием команды SABM, посылая при ближайшей возможности кадр ответа UA. Если DXE не может выполнять команду SABM, то он должен, если это возможно, ответить кадром DM.

2.3.4.3.2 Команда Рассоединение DISC
Команда DISC посылается для окончания сеанса связи между двумя станциями. В команде DISC не должно присутствовать поля информации.

Для ответа на кадр DISC принимающий DXE подтверждает прием DISC, передавая кадр UA при первой возможности. DXE ,передавший DISC, переходит в рассоединенное состояние после приема ответа UA.

Все неподтвержденные кадры I, оставшиеся на момент прихода команды DISC, останутся неподтвержденными.

2.3.4.3.3 Ответ отказ от кадра (FRMR)

2.3.4.3.3.1 Кадр ответа (FRMR)
передается для индикации состояния того, что приемник кадра не может успешно обработать этот кадр и что состояние ошибки не может быть скорректировано повторной передачей вызвавшего ошибку кадра. Обычно это состояние возникает,когда принят кадр с правильной FCS в одном из следующих состояний:

  1. Принят кадр с неправильной или не поддерживаемой командой или ответом.
  2. Принят I-кадр, информационное поле которого превышает максимально допустимую длину. (Смотри 2.4.7.3)
  3. Принят неправильный N(R). Это обычно происходит когда кадр N(R) уже был принят и подтвержден, или N(R) не совпадает с ожидаемыой последовательностью номеров.
  4. Принят кадр с полем информации там где, оно не допускается, или U или S-кадр с неправильной длиной. В 2.3.4.3.3.2 описаны биты W и Y,предназначенные для индикации этого состояния. Они должны оба устанавливаться в 1.
  5. Принят кадр супервизора с установленным битом F, за исключением состояния восстановления таймера (см 2.4.4.9) и ответа на управляющий кадр, переданный с установленным битом P.
  6. Принят неожидаемый кадр UA или DM. Бит W должен быть установлен в 1.
  7. Принят кадр с неправильным N(S). Бит W должен быть установлен в 1.
Неправильным N(R) считается N(R), указывающий на I-кадр, который уже был передан и подтвержден, или I-кадр, который не был передан и не является следующим последовательным ожидаемым I-кадром.

Неправильным N(S) считается N(S), равный последнему переданному N(S)+k и равный значению переменной состояния приема V(R), где k- максимальное число выставляемых информационных кадров,как описывается в 2.4.7.4 ниже.

Неправильная или неопределенная команда или ответ определяется как кадр с управляющим полем, значение которого неизвестно приемнику этого кадра.

2.3.4.3.3.2 Когда передается кадр FRMR,
то к кадру добавляется информационное поле содержащее информацию о том, где произошел сбой. Это информационное поле содержит 3 октета и его формат показан на рисунке 9.

 -------------------------------------------------¬
 ¦        биты информационного поля               ¦
 ¦2¦2¦2¦2¦1¦1¦1¦1¦1 1 1¦1¦1 1  ¦ ¦                ¦
 ¦3¦2¦1¦0¦9¦8¦7¦6¦5 4 3¦2¦1 0 9¦8¦7 6 5 4 3 2 1 0 ¦
 +-+-+-+-+-+-+-+-+-----+-+-----+-+----------------+
 ¦0¦0¦0¦0¦Z¦Y¦X¦W¦V(R) ¦C¦V(S) ¦0¦управляющее поле¦
 ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦     ¦R¦     ¦ ¦отброшенного    ¦
 ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦     ¦ ¦     ¦ ¦кадра           ¦
 L-+-+-+-+-+-+-+-+-----+-+-----+-+-----------------

    Рис 9. - информационное поле кадра FRMR
где:
  1. В области управляющего поля отброшенного кадра содержится управляющее поле кадра вызвавшего ошибку. Оно занимает биты 0-7 информационного поля.
  2. V(S) - текущее значение переменной состояния передачи устройства сообщающего об ошибке (9 бит- младщий бит)
  3. Бит CR - устанавливается в 0 если отброшенный кадр был командой и в 1 если отброшенный кадр был ответом.
  4. V(R) - текущее значение переменной состояния приема устройства сообщающего об ошибке (13 бит- младший)
  5. Если W установлен в 1, то принятое поле управления содержало неправильную или неизвестную команду.
  6. Если X установлен в 1, то ошибка была вызвана тем, что в кадре типа U или S было неразрешенное информационное поле. Если бит X установлен в 1, то бит W также должен быть установлен в 1.
  7. Если Y установлен в 1, то ошибка вызвана тем, что длина информационного поля принятого кадра больше максимально допустимой (см 2.4.7.3)
  8. Если Z установлен в 1, то ошибка вызвана неправильным значением N(R) принятой команды.
  9. Биты 8, 20,21,22,23 устанавливаются в 0.
2.3.4.3.4 Ответ "ненумерованное подтверждение".
Кадр ответа UA передается для подтверждения приема кадра с командой SABM или DISC. Полученная команда не выполняется до тех пор, пока не будет передан кадр ответа UA. Наличие информационного поля в кадре запрещено.

2.3.4.3.5 Ответ "отсоединенный режим" DM
Ответ DM посылается когда DXE принимает кадр, отличный от SABM или UI и находится в отсоединенном режиме. Он также передается на запрос установки режима для индикации того, что станция не может участвовать в соединении в настоящее время.

При приеме кадра SABM и если установка соединения в настоящий момент невозможна, необходимо передать кадр DM. Это индицирует, что вызываемая станция не может участвовать в связи.

Если DXE находится в отсоединенном режиме, то оно отвечает на все кадры, кроме SABM и UI, кадром DM с установленным битом P/F.

2.3.4.3.6 Ненумерованный кадр информации
Ненумерованный кадр информации содержит поле PID и информационное поле и используется для передачи информации по линии без применения обычного управления. Это позволяет передавать информационные поля по линии во всех направлениях без управления потоком. Так как эти кадры не подтверждаются, то если при их приеме возникнет ошибка, то нет способа восстановить этот пакет. UI кадр, принятый с установленным битом P, вызывает передачу ответа. Этим ответом должен быть кадр DM в отсоединенном состоянии или кадр RR (или RNR) в состоянии передачи информации.

2.3.5 Сообщения об ошибках связи и устранение ошибок
Существует несколько ошибок сетевого уровня, которые можно устранить без окончания соединения. Эти ситуации могут возникнуть в результате неисправностей в DXE или при ошибках при приеме.

2.3.5.1 Состояние DXE занят
Если DXE временно не может принимать I-кадры (например его буфер полон), то он передает кадр RNR (не готов к приему). Это информирует другой DXE о том, что этот DXE не может больше обрабатыватьI-кадры. Это состояние сбрасывается передачей кадров UA ,RR, REJ, SABM.

2.3.5.2 Ошибка последовательного номера передачи
Если последовательный номер передачи N(S) правильно принятого I кадра не совпадает с переменной состояния приема V(R), то возникает ошибка последовательности передачи и информационный пакет должен быть отброшен. Приемник не должен подтверждать этот кадр или любые другие кадры до тех пор, пока N(S) не совпадет с V(R).

Управляющее поле принятого ошибочного I-кадра должно быть воспринято так, чтобы функции супервизора связи такие как проверка бита P/F попрежнему выполнялись. Из-за этого повторно передаваемый кадр может иметь обновленный бит P и N(R).

2.3.5.3 Исправление ситуации "отказ" (REJ)
REJ используется для запроса повторной передачи I-кадров при обнаружении ошибки последовательности N(S). В каждый момент времени разрешено только одно состояние " отказ". Это состояние сбрасывается при приеме запрошенного кадра I.

DXE, принявший команду REJ, должен сбрасывать это состояние, повторно передавая все неподтвержденные I кадры (вплоть до размера окна) начиная с кадра с номером N(R) из кадра команды REJ.

2.3.5.4 Таймауты

2.3.5.4.1 Таймер Т1
Если из-за ошибки передачи DXE не принимает (или принимает но отбрасывает) один I-кадр или последний I-кадр из последовательности I-кадров, то он не обнаружит ошибку последовательности номера передачи и, таким образом, не передаст REJ. DXE, который передал неподтвержденный I-кадр, должен по истечении периода T1 таймаута предпринять соответствующие действия по определению времени, когда необходимо повторно передать I-кадр, как описано в 2.4.4.9. Это состояние сбрасывается при приеме подтверждения переданного кадра или при сбросе соединения (смотри 2.4.6.)

2.3.5.4.2 Таймер Т3
Таймер Т3 используется для подтверждения того, что соединение по прежнему существует при передаче информации с низкой скоростью. Если T1 не запущен (нет ожидающих кадров I) Т3 используется для периодического подтверждения соединения другому DXE. По истечению Т3 передается кадр RR или RNR в качестве команды с установленным битом P. После этого выполняется процедура ожидания подтверждения (смотри 2.4.4.9).

2.3.5.5 Неправильный кадр или ошибка FCS
При приеме неправильного кадра, или при приеме кадра с ошибочной FCS этот кадр надо отбросить и не предпринимать никаких действий.

2.3.5.6 Состояние отказа кадра
Состояние отказа кадра возникает при приеме безошибочного кадра с одним из условий перечисленных в 2.3.4.3.3 При возникновении этого состояния I-кадры больше не принимаются (только анализируется бит P/F) до устранения ошибки. Состояние ошибки передается другому DXE передачей кадра ответа FRMR. (смотри 2.4.5)

2.4 Описание процедур AX.25
Далее описываются процедуры, используемые для установки, использования и прекращения соединения между двумя станциями DXE.

2.4.1 Поле адреса

2.4.1.1 Информация об адресе
Все передаваемые кадры должны иметь поле адреса соответствующее 2.2.13. Все кадры должны содержать как адрес приемника, так и адрес передатчика в поле адреса; адрес приемника должен следовать первым. Это позволяет в одном радиоканале осуществлять несколько соединений. Адрес приемника это всегда адрес станции (станций), которая должна принять кадр, а адрес передатчика- это адрес устройства, передавшего этот кадр.

Адрес приемника может быть групповым именем если разрешена работа в режиме один абонент-много абонентов. Работа в режиме, когда в поле адреса приемника стоит групповой адрес еще не стандартизована.

2.4.1.2 Процедура Команда/Ответ
AX.25 версии 2.0 применяет информацию команда/ответ в поле адреса. В целях поддержания совместимости с предыдущими версиями AX.25 информация передается при помощи двух бит.

Устройство более старшей версии определяет работает ли оно с DXE более младшей версии, проверяя значение 7 бита в октете SSID в подполях адреса передатчика и приемника. Если оба C бита установлены в 0 то устройство использует более старую версию протокола. В новых версиях протокола один из этих бит всегда установлен в 1, а другой бит установлен в 0 в зависимости от того, какое устройство командует а какое отвечает.

Значение информации закодированной в поле адреса показано на рисунке 10.
 -------------------T--------------------T-----------------------¬
 ¦Тип кадра         ¦С бит SSID приемника¦ C бит SSID передатчика¦
 +------------------+--------------------+-----------------------+
 ¦Предыдущая версия ¦        0           ¦          0            ¦
 +------------------+--------------------+-----------------------+
 ¦Команда (V 2.0)   ¦        1           ¦          0            ¦
 +------------------+--------------------+-----------------------+
 ¦Ответ   (V 2.0)   ¦        0           ¦          1            ¦
 +------------------+--------------------+-----------------------+
 ¦Предыдущая версия ¦        1           ¦          1            ¦
 L------------------+--------------------+------------------------

              Рисунок 10 - кодировка команды/ответа
Так как все кадры считаются либо командой либо ответом, то один из битов всегда будет установлен в 1 а другой в 0. Использование информации команда/ответ в AX.25 позволяет S кадрам быть либо командой либо ответом. Это помогает поддержанию управления соединением при обмене информацией. 2.4.2 Процедура бита P/F
В ответ на команду SABM или DISC с установленным битом P DXE должен передать ответ UA или DM с установленным битом F.

В ответ на кадр I с установленным битом P в режиме передачи информации DXE должен передать ответ RR, RNR или REJ с установленным битом F.

В ответ на кадр команды супервизора с установленным битом P в режиме передачи информации DXE должен передать ответ RR, RNR или REJ с установленным битом F.

В ответ на кадр S и I с установленным битом P в отключенном режиме DXE должен передать ответ DM с установленным битом F.

Бит P используется вместе с состоянием условия таймаута как это описано в 2.3.5.4

Если биты P/F не используются то бит P/F устанавливается в 0.

2.4.3 Процедуры установления и окончания соединения

2.4.3.1 Установление соединения LAPB.
Когда один DXE хочет установить соединение с другим DXE, то он посылает кадр с командой SABM к этому устройству и запускает таймер (Т1). Если другой DXE присутствует и может ответить, то он отвечает кадром UA и сбрасывает обе внутренних переменных V(S) V(R). Прием кадра UA на другом конце соединения приводит к отмене таймера Т1 и сбросу внутренних переменных в 0.

Если другой DXE не отвечает до истечения таймера T1, то запрашивающее соединение устройство повторно передает кадр SABM и снова запускает таймер T1. DXE будет продолжать пытаться установить соединение N2 раз. N2 описывается в пункте 2.4.7.2.

Если при приеме команды SABM DXE решает, что не может вступить в соединение то, он посылает кадр DM.

При приеме ответа DM DXE, пославший SABM, должен отключить таймер T1, и не входить в состояние соединения.

DXE, передавший команду SABM будет игнорировать и отбрасывать все кадры за исключением SABM, DISC, UA и DM, приходящие от другого DXE.

Кадры, отличные от UA и DM, в ответ на принятый SABM будут передаваться только после установления связи и, если не будет стоящих запросов SABM.

2.4.3.2 Фаза передачи информации
После установления связи DXE войдет в состояние передачи информации. В этом состоянии DXE будет приниматьь и передавать кадры I и S в соответствии с процедурой описанной в 2.4.4.

При приеме команды SABM в состоянии передачи информации DXE должен провести процедуру сброса описанную в 2.4.6.

2.4.3.3 Рассоединение соединения.

2.4.3.3.1 Если DXE находятся в состоянии передачи информации, то любой DXE может запросить рассоединение, передав кадр DISC и запустив таймер T1. (смотри 2.4.7)

2.4.3.3.2 Приняв правильный пакет DISC DXE должен передать кадр ответа UA и перейти в отсоединенное состояние. DXE при приеме кадра UA или DM в ответ на команду DISC должен остановить таймер Т1 и перейти в отсоединенное состояние.

2.4.3.3.2 Если ответ UA или DM не принят правильно до истечения таймера T1, то кадр DISC должен быть повторен а таймер T1 запущен опять. Это происходит N2 раз после чего DXE переходит в отсоединенное состояние.

2.4.3.4 Отсоединенное состояние

2.4.3.4.1 DXE, находящийся в отсоединенном состоянии, должен продолжать принимать команды и реагировать на прием команды SABM так, как описано в 2.4.3.1 и передавать кадр DM в ответ на команду DISC.

2.4.3.4.2 Находясь в отсоединенном режиме DXE может инициировать соединение так, как описано в 2.4.3.1. Он также может отвечать на прием команды SABM и устанавливать соединение или игнорировать SABM и отвечать на него кадром DM.

2.4.3.4.3 Любой DXE, принявший командный кадр, отличный от кадра SABM или UI с установленным P битом, должен отвечать кадром DM с установленным битом F. Сам кадр при этом игнорируется.

2.4.3.4.4 Если DXE переходит в отсоединенное состояние в результате ситуации ошибки или внутренней ошибки, то он должен ответить кадром с командой DM, а не DISC и выполнить процедуру рассоединения описанную в 2.4.3.3.3. DXE может попытаться восстановить соединение используя процедуру установки связи описанную в 2.4.3.1.

2.4.3.5 Столкновение кадров

2.4.3.5.1 Столкновения кадров в полудуплексном режиме.
Столкновения кадров в полудуплексном режиме исправляются за счет наличия таймера Т1 и счетчика повторных попыток. Ни каких других специальных мер не предусматривается.

2.4.3.5.2 Столкновения ненумерованных команд.
Если принятые и переданные кадры команд SABM и DISC одинаковы, то оба DXE должны передать кадры UA при первой возможности и оба устройства должны перейти в указанные состояния.

Если принятый и переданный кадр команд SABM и DISC различны, то оба DXE должны войти в отсоединенное состояние и передать кадр DM при ближайшей возможности.

2.4.3.5.3 Столкновение DM с SABM и DISC
Если передан незапрошенный кадр DM, то может произойти его столкновение с DISC или SABM. В целях предотвращения пропуска этого кадра незапрошенный кадр DM должен передаваться с битом F установленным в 0. Все кадры SABM и DISC должны передаваться с битом P установленным в 1. Это предотвращает неправильное функционирование протокола при приеме кадра DM.

2.4.3.6 Работа без установления соединения.
В протоколе версии 2 введен новый тип работы не доступный ранее. Это работа в режиме круглого стола, при которой несколько радиостанций могут участвовать в одном разговоре. Этот тип работы не может быть осуществлен в рамках соединения по протоколу AX.25.

Способ, которым режим круглого стола осуществляется технически, находится за пределами соединения AX.25, но использует структуру кадра AX.25.

AX.25 для этого режима работы использует специальные кадры, называемые ненумерованными кадрами информации UI. Если используется этот вид работы, то поле адреса приемника должно иметь общее кодовое слово, что должно предотвратить прием участниками круглого стола всех сообщений передаваемых по радиоканалу. Например группа радиостанций, работающих в круглом столе и обсуждающих протокол AX.25, может поместить в поле адреса приемника кадовое слово PACKET и, таким образом, будут приниматься только кадры предназначенные для участников круглого стола. Дополнительным преимуществом протокола AX.25 в этом режиме является то, что адрес источника сообщения содержится в подполе адреса передатчика и програмное обеспечение может автоматически отображать позывной источника сообщения. Так как этот режим работы не использует установление соединения, то не будет запросов на повторную передачу запорченных кадров. Так же может происходить столкновение кадров, при этом столкнувшиеся кадры будут пропадать.

2.4.4 Процедура передачи информации.
После того, как соединение установлено так, как описано выше, оба устройства готовы принимать кадры I,S и U.

2.4.4.1 Передача I-кадров
Когда DXE готов передать I-кадр, то он передает его с N(S) в поле управления, равным текущему состоянию переменной передачи V(S). После передачи I-кадра значение переменной состояния передачи увеличивается на 1. Если таймер Т1 не запущен, то он должен быть запущен. Если таймер Т1 запущен, то он должен быть запущен заново. DXE не должен более передавать I-кадры, если значение его переменной состояния передачи равно последнему N(R), принятому с другого конца соединения плюс 7. Если он передаст большее число кадров, то может произойти выход за пределы окна управления и могут возникнуть ошибки.

Если DXE находится в состоянии "занят", то он может передавать I кадры до тех пор, пока другой DXE не будет занят.

Если DXE находится в режиме отказа кадра, то он должен прекратить передачу I кадров.

2.4.4.2 Прием I-кадров
Если DXE принимает правильный I-кадр, (то есть с правильной FCS и последовательным номером передачи, равным значению переменной состояния приема) и он не занят, то он воспринимает этот кадр, увеличивает на 1 значение переменноий состояния приема, и поступает одним из следующих способов:

  1. Если у него есть готовый I-кадр для передачи, то этот кадр может быть передан с N(R) равным значению переменной состояния приема V(R), таким образом подтверждая прием кадра. Альтернативно устройство может передать кадр RR с N(R), равным значению переменной состояния приема V(R), таким образом подтверждая прием кадра, а затем передать I кадр.
  2. Если нет ожидающих передачи I-кадров, то принимающее устройство передает кадр RR с N(R) равной V(R). Принимающий DXE может выждать небольшой период перед посылкой кадра RR для того, чтобы убедиться в том, что нет последующих I кадров.

2.4.4.2.2 Если DXE находится в состоянии "занято", то он может игнорировать любые принятые I-кадры без сообщения об этом передатчику кадров, а не передавать каждый раз пакет, индицирующий занятость.

Если состояние "занято" существует, то DXE, принявший сигнал о занятости другого абонента, должен периодически проверять это состояние, пока абонент не выйдет из состояния занятости.

DXE может проверять занятость периодически передавая кадры RR или RNR с установленным битом P.

Прием I-кадров с полем информации с нулевой длиной должен сообщаться протоколу следующего уровня, но ни какого содержимого поля информации не передается.

2.4.4.3 Прием кадров с не последовательным номером.
Если принятый кадр I имеет правильную FCS, но его номер передачи не равен значению переменной состояния приема приемника, то этот кадр не должен рассматриваться. При этом должен быть передан кадр REJ с последовательным номером приема на 1 (по модулю 8) большим, чем номер последнего правильно принятого кадра ,если только ранее не было обнаружено состояние непоследовательного номера N(S). Однако значение бита P/F и переменной состояния приема отбрасываемого кадра должны учитываться.

2.4.4.4 Прием неправильных кадров
Если DXE принимает кадр с неправильной FCS, неправильный кадр или кадр с неправильным адресом, то это кадр не должен рассматриваться.

2.4.4.5 Прием подтверждения
При приеме кадров I или S, даже в занятом состоянии, необходимо проверять содержит ли N(R) подтверждение уже переданных I-кадров. Таймер Т1 должен выключаться, если принятый кадр содержит подтверждение ранее не подтвержденных кадров. Если таймер Т1 выключается и по прежнему существуют переданные, но не подтвержденные кадры, то он должен запускаться снова. Если таймер Т1 срабатывает раньше, чем принимается подтверждение, то необходимо выполнить процедуру повторной передачи 2.4.4.9.

2.4.4.6 Прием отказа
При приеме кадра REJ, передающий DXE должен установить значение своей внутренней переменной состояния передачи V(S) равным значению последовательного номера приема N(R) из управляющего поля. DXE затем должен передать все ждущие кадры выполняя следующие условия:

  1. Если DXE не занят передачей в это время и канал свободен, то устройство может приступать к передаче немедленно.
  2. Если DXE работает по дуплексному каналу и передает кадр UI или S, то по приему кадра REJ оно может прекратить передачу кадра UI или S и начать передачу кадра I.
  3. Если DXE работает по дуплексному каналу, и передает другой кадр I, то по приему кадра REJ он может прекратить передачу кадра I и начать передачу запрошенного кадра I немедленно.
  4. DXE может передать только один запрошенный кадр или несколько I кадров (если они существуют), следующих за запрошенным кадром, при условии, что их общее число не более 7.

Если DXE принимает кадр REJ с установленным битом P/F , то он дол жен ответить пакетом RR или RNR c установленным битом F перед передачей запрошенного кадра I.

2.4.4.7 Прием кадра RNR.
Если DXE принимает кадр RNR, то он должен прекратить передачу I кадров до тех пор, пока не будет снято состояние занято. Если таймер Т1 истекает после приема сообщения RNR, то должна быть выполнена процедура ожидания подтверждения (2.4.4.9). Для проверки текущего состояния занятого DXE могут использоваться S кадры с установленным битом P.

2.4.4.8 Передача сообщения о состоянии занятости.
Как только DXE переходит в состояние занятости, то он должен сообщить об этом, послав пакет RNR при первой возможности. Пока DXE находится в занятом состоянии, он может принимать и обрабатывать кадры S, и если он принимает кадры S с установленным битом P, то он должен передать кадр RNR с установленным битом F при первой возможности. Для сброса состояния занятости DXE должен послать пакет RR или REJ с последовательным номером приема, равным значению переменной состояния приема в зависимости от того, правильно или неправильно был принят последний I-кадр.

2.4.4.9 Ожидание подтверждения
Если таймер Т1 истекает при ожидании подтверждения переданного I-кадра от другого DXE, то DXE должен перезапустить таймер T1 и передать соответствующий кадр супервизора RR или RNR с установленным битом P. Если DXE принимает правильный кадр-ответ супервизора с установленным битом F, и N(R) в пределах допустимого окна от последнего правильно принятого N(R) до последнего переданного N(S)+1, то DXE должен перезапустить таймер T1 и установить свою переменную состояния передачи V(S) равной принятому N(R). Затем он может возобновить передачу I-кадров. Если же DXE принимает правильный кадр ответа супервизора с неустановленным битом F, или I-кадр или кадр команды супервизора с N(R) в пределах допустимого окна от последнего правильно принятого N(R) до последнего переданного N(S)+1, то DXE не должен перезапускать таймер T1, но использовать принятый N(R) как индикатор подтверждения переданного I-кадра, включая I-кадр с номером до N(R)-1.

Если таймер T1 истекает до приема кадра-ответа супервизора с установленным битом F, то DXE должен повторно передать соответствующий командный кадр супервизора (RR или RNR) с установленным битом P. После N2 попыток получить кадр ответа супервизора с установленным битом F от другого DXE, DXE должен начать процедуру рассоединения как описано в 2.4.6

2.4.5 Состояния отказа кадра
DXE должен инициировать процедуру сброса кадра при приеме кадра с правильной FCS и правильным полем адреса, если он находится в состоянии передачи информации и имеет место одно из условий пересисленных в 2.3.4.3.3.

В этом случае DXE должен запросить другой DXE сбросить соединение при помещи передачи кадра FRMR как описано в 2.4.6.3.

После передачи кадра FRMR передающий DXE входит в состояние отказа кадра. Это состояние сбрасывается когда DXE, передавший кадр FRMR, принимает команды SABM или DISC или кадр ответа DM. Любая другая команда, принятая в то время, пока DXE находится в состоянии отказа кадра вызывает передачу другого кадра FRMR с таким-же информационным полем, что и у первого.

В состоянии отказа кадра дополнительные I-кадры не передаются, а принятые кадры I и S игнорируются DXE.

DXE, передавший кадр FRMR, должен запустить таймер T1. Если до истечения таймера T1 не принят пакет SABM или DISC, то необходимо повторно передать кадр FRMR и перезапустить таймер T1 так, как описано в 2.4.4.9. Если FRMR передается N2 раз без получения ответа то связь должна быть разорвана.

2.4.6 Процедура сброса

2.4.6.1 Процедура сброса используется для инициализации потока данных в обоих направлениях если возникает неисправимая ошибка. Эта процедура сброса используется только в состоянии передачи информации протокола AX.25.

2.4.6.2 DXE должен инициировать процедуру сброса, если он принимает неожидаемый кадр ответа UA или неожидаемый кадр ответа с установленным битом F. DXE может также инициировать процедуру сброса при приеме кадра FRMR. Альтернативно DXE может ответить на кадр FRMR окончанием соединения, послав кадр DISC.

2.4.6.3 DXE должен сбросить соединение, послав кадр SABM и запустив таймер T1. При приеме кадра SABM от DXE, с которым ранее было соединение, приемник кадра SABM должен при первой возможности послать назад кадр UA, установить переменные состояния приема и передачи V(S) и V(R) равными 0 и остановить таймер T1, если только он не передал кадр SABM или DISC сам. Если UA правильно принят начальным DXE, то он сбрасывает свои переменные состояния приема и передачи V(S) и V(R) и останавливает таймер T1. Все существовавшие ранее состояния занятости также сбрасываются.

Если принимается ответ DM, то DXE должен войти в отсоединенное состояние и остановить таймер T1. Если таймер T1 истекает до приема ответа UA или DM, то кадр SABM должен быть передан повторно и таймер T1 должен быть перезапущен. Если таймер Т1 истекает N2 раз, то DXE переходит в отсоединенное состояние, а все ранее существовавшие связи сбрасываются.

Все другие команды и ответы, принятые DXE до завершения процедуры сброса отбрасываются.

2.4.6.4 Один DXE может запросить другого DXE сбросить соединение, послав ему кадр ответа DM. После передачи кадра DM передающий DXE должен войти в рассоединенное состояние.

2.4.7 Список системных параметров

2.4.7.1 Таймеры
Для поддержания целостности протокола AX.25 2 уровня рекомендуется использование следующих таймеров.

2.4.7.1.1 Таймер подтверждения T1
Первый таймер, Т1, используется для того, чтобы DXE не ждал бесконечно ответа на переданный им кадр. Этот таймер не может быть выражен в абсолютном времени, так как время необходимое на пересылку кадра сильно зависит от скорости передачи информации на 1 уровне протокола. T1 должен быть по крайней мере вдвое больше интервала времени передачи кадра максимальной длины к DXE и приема правильного ответа от DXE. Это дает DXE приемнику время на обработку кадра перед ответом.

Если используются ретрансляторы второго уровня, то величина T1 должна быть настроена в соответствии с числом ретрансляторов кадра.

2.4.7.1.2 Таймер задержки ответа Т2
Второй таймер, Т2, может быть использован DXE для определения максимальной задержки между приемом правильного I-кадра и передачей соответствующего кадра ответа. Эта задержка может быть введена для того, чтобы определить передаются следующие I-кадры или нет. Если приниаются следующие кадры, то DXE может все их (но не более 7) подтвердить за один раз, а не подтверждать по одному. Использование таймера Т2 не является обязательным, но рекомендуется для повышения эффективности использования канала. Заметим, что в дуплексной связи подтверждение не следует задерживать при числе кадров менее К/2 где К определяется в 2.4.7.4

2.4.7.1.3 Таймер неактивности связи Т3
Третий таймер используется для поддержания целостности соединения, если не запущен таймер Т1. Рекомендуется, если нет активных неподтвержденных I-кадров или кадров с установленным битом P (во время состояния передачи информации) передавать кадр RR или RNR с установленным битом P каждые T3 интервалов времени для проверки статуса другого DXE. Величина Т3 задается локально и сильно зависит от протокола 1-го уровня. Период Т3 должен быть больше чем T1 и может быть очень большим на каналах с высокой занятостью.

2.4.7.2 Максимальное число повторов (N2)
Максимальное число повторов используется вместе с таймером T1.

2.4.7.3 Максимальное число октетов в поле I (N1)
Максимальное число октетов которое может быть в поле I должно быть 256. Естественно там должно содержаться целое число октетов.

2.4.7.4 Максимальное число активных I кадров
Максимальное число активных кадров I равно 7.