ПАКЕТНАЯ СВЯЗЬ: ПРОТОКОЛ АХ.25


При осуществлении пакетной связи в радиолюбительском эфире между двумя или несколькими корреспондентами обмен информацией проводится в соответствии с некоторым установленным порядком, который называется протоколом обмена. При этом используется протокол АХ.25, представляющий собой переработанную специально для радиолюбительских целей версию протокола Х.25. Протоколы обмена содержат семь уровней. Вся логика процедуры работы по радиоканалу описывается во втором уровне. Практически он реализуется, как правило, специальным контроллером пакетной связи (TNC), который размещается между компьютером и приемопередатчиком.

Протокол обмена АХ.25 обеспечивает многостанционный (множественный) доступ в канал связи с контролем занятости. Все станции считаются равноправными. Прежде чем включиться в работу TNC станции проверяет, свободен или нет канал. Если занят, то канал проверяется до тех пор, пока не окажется свободным, и лишь после этого станция включается на передачу.

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

Формат кадров. Каждая законченная часть информации представляет собой кадр. Он имеет определенный формат.

Каждый кадр начинается с уникальной последовательности бит 01111110, которая называется флагом и позволяет распознать начало кадра. Далее идут адресное поле размером от 14 до 70 байт, управляющее - один байт, информационное - от 0 до 256 байт, контрольное - 2 байта.

При использовании сетевого, третьего уровня протокола образуется дополнительное идентификационное поле, которое выступает как часть информационного поля. Заканчивается кадр также флагом.

ax25_1.gif

ax25_2.gif

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

Адресное поле (рис. 2). Оно может содержать от двух до десяти радиолюбительских позывных. Простейший случай - два позывных, если два корреспондента работают между собой непосредственно. Если эти корреспонденты находятся вне зоны радиовидимости, то они могут использовать станции других операторов в качестве ретранслятора. В одной линии их может быть до восьми. Позывные ретрансляторов также включаются в адресное

ax25_3.gif

поле. Таким образом, оно делится на три подполя: получателя, отправителя и ретранслятора. Позывные, занесенные в него, могут состоять не более чем из шести символов. Если позывной состоит менее чем из шести символов, он дополняется соответствующим количеством пробелов.

После позывного в каждом подполе идет вторичный идентификатор станций. Это некоторое число от 0 до 15. Оно обозначает, что оператор имеет несколько станций пакетной связи, аппаратуру BBS, а также NET/ROM. Обычно сам оператор работает с позывным без номера или с номером один, к позывному "почтового ящика" и узловой станции дополнительно прибавляются цифры от 2 до 9, а при прохождении сигнала транзитом через NET/ROM от 10 до 15, в зависимости от того, через сколько узловых станций прошел пакет.

Число идентификатора в двоичном виде занимает четыре бита - со второго по пятый в байте, следующем после каждого позывного. На рис. 2 эти биты обозначены как SSID (SECONDARY STATION IDENTIFIER). Первый бит этого байта используется как признак конца адресного поля. Если он обозначен единицей, то это признак последнего байта адресного поля. Для шестого и седьмого битов нет определенного назначения, и они могут использоваться в локальных сетях по договоренности пользователей. Восьмой бит в подполе отправителя и получателя устанавливается в ноль. В подполе ретранслятора его

ax25_4.gif

ax25_5.gif

обозначают единицей, если пакет прошел через ретранслятор, и ноль, если нет.

Установление бита ретранслятора необходимо для того, чтобы ретрансляторы, находящиеся в зоне радиовидимости друг друга, следовали очередности передачи пакетов через себя и выполняли эту процедуру строго в порядке, указанном отправителем пакета.

Управляющее поле. В нем содержится информация о типе кадра, которая используется для определения назначения сообщения. Все кадры пакета можно разделить на три основных типа: I - информационные кадры, содержащие символьную либо цифровую информацию; S - служебные, подтверждающие, что кадр принят, или содержащие запрос на выдачу очередного информационного кадра; U - ненумерованные кадры - запрос на соединение-разъединение. К этому типу относят и сигналы маяков.

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

Информационное поле. На нем размещается полезная информация объемом до 256 байт, представленная в кодах и которая при приеме корреспондентами отображается на экране дисплея ЭВМ любительских станций.

Иногда первый бит информационного поля выступает в качестве самостоятельного подполя - идентификатора протокола. Это происходит в случае использования третьего, сетевого уровня при прохождении пакете через NET/ ROM.

Контрольное поле служит для проверки правильности радиообмена. Оно представляет собой шестнадцатиразрядное число, которое подсчитывается с помощью полинома ХI6+ +XI5+X2+1 в соответствии с алгоритмом, приведенным в рекомендациях ISO 3309 (HDLC) - International Orqa-nization Standartization, Hiqht - Level Data Link Control Procedures.

TNC отправителя просчитывает контрольную сумму no всему кадру и помещает ее в конец кадра. На приемном конце по тому же алгоритму она просчитывается вновь и сверяется с суммой, помещенной в конце кадра. Если эти два числа совпадают, то кадр считается принятым верно.

Существует несколько способов подсчета контрольной суммы: аппаратный и программный. При аппаратном способе кадр проходит через некоторое устройство (сумматор), и в результате в его регистре оказывается записанным некоторое число, которое и является контрольной суммой. Второй способ - подсчет с помощью специальной программы. При этом кадр сначала полиостью принимается в оперативную память, а затем производится подсчет. Первый способ реализует высокое быстродействие, но требует дополнительных аппаратных средств. Второй способ обладает более низким быстродействием, но дополнительных аппаратных затрат не требует.

Напомним, как должна выглядеть структура станции пакетной связи, чтобы реализовать протокол АХ.25. Из схемы (рис. 3) видно, что в состав станции входят компьютер, TNC, приемопередатчик и антенно-фидерное устройство.

Компьютер может быть использован практически любой.

При проведении экспериментов по пакетной связи во время советско-канадского лыжного перехода были опробованы ПЭВМ: "Роботрон 1715", "Радио-86РК" и БК-0010. За рубежом наиболее популярными компьютерами, используемыми в системе пакетной связи, являются IBM PC, COMMODORE 64, TANDY, APPLE, для которых разработано мощное программное обеспечение, открывающее широкие возможности в использовании пакетной связи.

Одним непременным условием при выборе компьютера для пакетной связи является наличие в нем последовательного канала обмена, работающего по стандарту стыка С2 (RS232). Как известно, в "Радио-86РК" такой канал отсутствует, поэтому RA3AU разработал специальную программу "Терминал", имитирующую этот канал.

При работе на станции пакетной связи оператор набирает информацию на клавиатуре, а получает ответы в виде символов на экране монитора. Информация, передаваемая оператором, может быть либо командой для TNC, либо текстом, предназначенным для корреспондента.

После нажатия на клавишу компьютер определяет код, соответствующий этой клавише, и посылает его по последовательному каналу. Обмен по этому каналу происходит побайтно. Вид передаваемого байта приведен на рис. 4. Некоторые параметры, которые характеризуют передаваемый байт, могут быть различными, но необходимо, чтобы параметры, установленные в TNC и в компьютере, совпадали. Их характеризуют следующие параметры; длина информационного слова (7 или 8 бит), наличие проверки на четность или нечетность, стартовый бит (один), столовый бит (один, полтора или два), скорость обмена (50, 75, 150, 300, 1200, 2400, 4800 или 9600 бит/с).

Уровни напряжений, используемых в данном интерфейсе: единица - от+3 до +12 В, ноль - от -3 до -12 В. Информация в направлении от компьютера передается по линии TXD, а в обратном направлении по линии RXD, кроме того, существуют еще две дополнительные линии CTS и RTS, по которым подается сигнал о готовности компьютера или TNC к приему очередного байта. Прежде чем передать байт по линии TXD, компьютер проверяет линию CTS. Если на ней уровень сигнала характеризует готовность TNC к приему байта, то компьютер посылает его, если нет, ожидает изменения уровня. Аналогичную процедуру производит TNC с использованием линии RXD для передачи информационного байта и линии RTS для проверки готовности.

Последовательность нескольких байт, поступивших в TNC, может быть либо командой, либо информацией, предназначенной для отправления по радиоканалу. В первом случае команда декодируется и исполняется, во втором - формируется кадр в соответствии с протоколом АХ.25 и переводится из стандартного кода в код NRZ-1 (поп return to zeroinverted). В этом стандарте предусмотрено, что перепад физического уровня сигнала происходит в том случае, если в последовательности передаваемых бит встречается 0. Временная диаграмма, поясняющая этот процесс, приведена на рис. 5, где показана исходная посылка - и она же в виде кода NRZ-1.

Обычно модем конструктивно выполняется в одном корпусе с TNC. Его цифровую часть, как правило, называют ассемблером-дизассемблером кадров. Ассемблер-дизассемблер кадров и модем связаны между собой четырьмя линиями: TXD-для передачи кадров в коде NRZ-1, RXD- приема кадров в коде NRZ-1, РТТ - для включения модулятора и DCD, по которой подается сигнал с демодулятора о занятости канала.

Модем представляет собой совокупность двух устройств: модулятора и демодулятора. Перед отправлением пакета ассемблер-дизассемблер кадров включает модем с помощью сигнала на линии РТТ и по линии TXD посылает кадр в коде NRZ-1. Модулятор производит заполнение полученной последовательности двумя звуковыми частотами. Единица соответствует частоте F1, а нуль - частоте F2. Сигнал, промоду-лированный звуковой частотой, по линии MlС поступает на микрофонный вход передатчика.

При приеме кадров последовательность импульсов, заполненных звуковой частотой, с выхода приемопередатчика по линии EAR поступает на вход демодулятора. Демодулятор производит обратный процесс: из последовательности импульсов звуковой частоты выделяет огибающую, которая и представляет собой кадр в виде кода NRZ-1. Этот кадр поступает в ассемблер-дизассемблер пакетов. Одновременно с появлением в канале сигнала, промодулиро-ванного одной из частот F1 или F2, срабатывает специальный детектор, вырабатывающий на выходе сигнал, свидетельствующий о занятости канала.

Сигнал РТТ, кроме включения модулятора, выполняет еще одну функцию - управляет транзисторным ключом, который переключает приемопередатчик с приема на передачу.

В радиолюбительской пакетной связи используются два типа модемов: для коротких и ультракоротких волн. На KB используется однополосная модуляция, а скорость передачи по радиоканалу 300 бит/с, при этом разнос звуковых частот, соответствующих нулю и единице, должен составлять 200 Гц. Частота модуляции может быть различной. Однако удобства отсчета рабочей частоты радиостанции в Европе приняли стандарт, по которому установлено, что нулю соответствует 1850 Гц, а единице-1650 Гц.

На ультракоротких волнах работают на скорости передачи 1200 бит/с при разносе частот 1000 Гц. Так как на УКВ используется, как правило, частотная модуляция, то частоты должны быть строго фиксированы. Принято, что нулю соответствуют 1200, а единице - 2200 Гц.

В заключение хочется сообщить, что в проект новой инструкции по .эксплуатации любительских радиостанций, разработанной ФРС СССР, которая проходит стадию согласования, включена, как равноправная, любительская пакетная связь.

Е. ЛАБУТИН (RA3APR)

(Радио 3/89)