Введение

Протокол передачи данных в любительской радиосвязи AX.25 (Amateur X.25) – это протокол канального уровня, первоначально разработанный на основе второго уровня протоколов X.25 и предназначенный для использования радиолюбителями. Он широко применяется в любительских сетях пакетной радиосвязи. AX.25 v2.0 отвечает за установление канальных соединений, передачу данных, инкапсулированных в кадры, между узлами, и обнаружение ошибок, возникающих в канале связи. AX.25 v2.2 позволяет станциям автоматически согласовывать размеры полезной нагрузки, превышающие прежний лимит в 256 байт. Расширенные номера последовательностей (7 вместо 3 бит) обеспечивают больший размер окна – количество кадров, которые могут быть отправлены до получения подтверждения. Механизм "селективного повтора запроса" позволяет повторно отправлять только потерянные кадры, вместо неэффективной повторной отправки успешно принятых кадров. Несмотря на все эти преимущества, лишь немногие реализации были обновлены для включения этих улучшений, опубликованных более 20 лет назад. На данный момент (2020) единственной известной полной реализацией v2.2 является программное обеспечение Dire Wolf TNC. AX.25 обычно используется в качестве канального уровня для сетевых протоколов, таких как IPv4, с использованием TCP поверх него. AX.25 поддерживает ограниченную форму маршрутизации с указанием источника. Хотя теоретически возможно создание коммутаторов AX.25, аналогичных коммутаторам Ethernet, на практике это пока не реализовано.

Спецификация

AX.25 не определяет реализацию физического уровня. На практике 1200 бод тона Bell 202 и 9600 бод G3RUH DFSK почти исключительно используются в диапазонах VHF и UHF. В диапазоне HF стандартным режимом передачи является 300 бод тон Bell 103. На физическом уровне AX.25 определяет только "конечный автомат физического уровня" и некоторые таймеры, связанные с задержками переключения передатчика и приемника. На канальном уровне AX.25 использует синтаксис и процедуры кадров HDLC (ISO 3309), которые передаются с использованием кодирования NRZI. HDLC определяет синтаксис, но не семантику поля адреса переменной длины кадра. AX.25 определяет, что это поле подразделяется на несколько адресов: адрес источника, ноль или более адресов ретрансляторов и адрес назначения, с встроенными полями управления для использования ретрансляторами. Для упрощения соответствия правилам любительской радиосвязи эти адреса формируются на основе позывных станций источника, назначения и ретрансляторов. Управление доступом к среде передачи следует подходу множественного доступа с контролем несущей и восстановлением после коллизий (CSMA/CR). AX.25 поддерживает как соединительные виртуальные каналы, так и несвязанные режимы работы в стиле датаграмм. Последний широко используется в автоматической системе отчетности о пакетах (APRS). На уровне канала данных доступен простой механизм маршрутизации источника с использованием дигипитеров. Дигипитеры функционируют как симплексные ретрансляторы, принимая, декодируя и пересылая пакеты от локальных станций. Они позволяют устанавливать многошаговые соединения между двумя станциями, не имеющими возможности прямой связи. Дигипитеры используют и изменяют информацию в адресном поле кадра для выполнения этой функции. Спецификация AX.25 определяет полный, хотя и только "точка-точка", протокол сетевого уровня, но он мало используется за пределами соединений "клавиатура-клавиатура" или "клавиатура-BBS". NET/ROM, ROSE и TexNet существуют для обеспечения маршрутизации между узлами. В принципе, с AX.25 можно использовать различные протоколы третьего уровня, включая повсеместно распространенный протокол Интернет (IP). Этот подход используется в AMPRNet, любительской радиосети TCP/IP, использующей кадры пользовательского интерфейса AX.25 на канальном уровне.

Реализация

Традиционно радиолюбители подключались к сетям AX.25 с помощью контроллера терминального узла (ТНК), который содержит микропроцессор и реализацию протокола в прошивке. Эти устройства позволяют получать доступ к сетевым ресурсам, используя только "глупый" терминал и приемопередатчик. AX.25 также был реализован на персональных компьютерах. Например, ядро Linux включает нативную поддержку AX.25. Компьютер подключается к приемопередатчику через аудиоинтерфейс или простой модем. Компьютеры также могут соединяться с другими компьютерами или быть подключены к ТНК и приемопередатчикам, расположенным в другом месте, посредством BPQ через Ethernet-фрейминг, который также нативно поддерживается ядром Linux для упрощения более современных конфигураций, при которых сами приемопередатчики размещаются непосредственно под или внутри антенной мачты, что обеспечивает "минимальные потери", сокращает длину необходимой радиочастотной проводки и заменяет дорогие, длинные и толстые коаксиальные кабели и усилители дешевым волокном (устойчивым к RFI (в обе стороны), ЭМИ и молниям) или медными Ethernet-кабелями. Ethernet-фрейминг BPQ позволяет соединять целые группы пар ТНК+приемопередатчик с любой существующей компьютерной сетью, которая затем может одновременно получать доступ ко всем доступным радиоканалам (прозрачно коммутируемым), общаться друг с другом внутри сети по протоколу AX.25 или, с использованием фильтрованной маршрутизации, выбирать конкретные ТНК/радиочастоты. Dire Wolf – бесплатная замена ТНК образца 1980-х годов. Он содержит программные DSP-модемы и полную реализацию AX25 v2.2, а также коррекцию ошибок FX.25. Он может функционировать как цифровой ретранслятор, GPS-трекер и APRS Internet Gateway (IGate) без дополнительного программного обеспечения.

Приложения

AX.25 чаще всего использовался для установления прямых, оконечных соединений между радиостанциями пакетной связи без каких-либо дополнительных сетевых уровней. Этого достаточно для связи "клавиатура-клавиатура" между станциями, а также для доступа к локальным системам электронных объявлений и DX-кластерам. В последние годы APRS получило широкое распространение как приложение. Для передачи пакетов AX.25 через IP используются протоколы AXIP и AXUDP, которые инкапсулируют AX.25 в IP или UDP пакеты.