Die AX.25-Software besteht aus drei Komponenten:
Alan Cox entwickelte die frühe Kernel-Unterstützung für AX.25.
Jonathan Naylor (g4klx@g4klx.demon.co.uk) entwickelte den Code
weiter, fügte NetROM- und ROSE-Unterstützung hinzu.
Die aktuellen Versionen der AX.25-Unterstützung werden von Craig Small
(csmall@triode.apana.org.au, csmall@scooter.eye-net.com.au,
csmall@eye-net.com.au, csmall@debian.org,
csmall@ieee.org) betreut.
Joerg Reuter, DL1BKE, jreuter@poboxes.com, lykos@gmx.net,
entwickelte die Unterstützung für DAMA und BPQ-Ethernet.
Das AX.25-Protokoll wurde aus dem X.25-Netzwerkprotokoll abgeleitet und um amateurfunkspezifische Erweiterungen ergänzt.
Vereinfachte Zeichnung der Protokoll-Ebenen:
+----------+-----------+----------+----------+
| AF_AX25 | AF_NETROM |AF_INET | AF_ROSE |
|==========|===========|==========|==========|
| | | | |
| | | TCP/IP | |
| | +-------+ | |
| | NetROM | | |
| +-------------------+--+----------+
| A X . 2 5 |
+--------------------------------------------+
Wie in der Zeichnung dargestellt, lassen sich über AX.25 weitere Protokolle nutzen. Für die hier dargestellten Protokolle wurde eine Unterstützung in Linux vorgesehen.
Das NetROM-Protokoll ist ein Versuch eines vollständigen Netzwerkprotokolls und nutzt AX.25 auf seiner niedrigsten Ebene als Protokoll zum Datenaustausch. Es stellt eine Netzwerkebene zur Verfügung, die eine angepaßte Form des AX.25 darstellt. Das NetROM-Protokoll bietet dynamisches Routing und Aliases für die einzelnen Nodes.
Das ROSE-Protokoll wurde von Tom Moulton, W2VY, entwickelt und implementiert. Es stellt eine Implementation des X.25-Packet-Layer-Protokolls dar, wurde für das Zusammenwirken mit AX.25 als Datalink entworfen und stellt ebenfalls eine Netzwerk-Ebene zur Verfügung.
ROSE-Adressen sind zehnstellige Nummern. Die ersten vier sind der sog. Data Network Identification Code (DNIC) und stammen aus dem Zusatz B der CCITT X.121-Empfehlung.
Mehr Informationen zum ROSE-Protokoll gibt es auf dem RATS (Radio Amateur Teleprinter Society) -Web-Server
http://www.rats.org/
Das FPAC/Linux-Projekt als eine ROSE-Anwendung ist auf
http://www.qsl.net/fpac
zu finden. Zur Einrichtung und Anwendung von FPAC gibt das FPAC-HOWTO weitere Auskunft.
Da es sich bei AX.25 um ein Netzwerkprotokoll handelt, wurde dafür Sorge getragen, daß alle Treiber als Netzwerk-Devices ansprechbar sind. Damit gestaltet sich deren Einrichtung ähnlich wie die von z.B. Netzwerkkarten. Alle Treiber können sowohl als Module geladen als auch fest in den Kernel einkompiliert werden, ein Unterschied in der Funktionalität besteht dadurch nicht. Die folgende Zeichnung soll den Aufbau des AX.25-Subsystems und dessen Einbindung in das übrige System verdeutlichen:
---------+-----------+------------------++----------+------------------------
Anwender | Programme | call node || Daemonen | ax25d mheardd
| | pms mheard || | inetd netromd
---------+-----------+------------------++----------+------------------------
| Sockets | open(), close(), listen(), read(), write(), connect()
| +-----------+-----------+--------------+----------------
| | AF_AX25 | AF_NETROM | AF_ROSE | AF_INET
+-----------+-----------+-----------+--------------+----------------
| Protokolle| AX.25 | NetROM | ROSE | TCP/IP/UDP
| | | | | Kernel
+-----------+-----------+-----------+--------------+----------------
| Devices | ax0, ax1 | nr0, nr1 | rose0, rose1 | ...
+-----------+-----------+-----------+--------------+
| Interface | pi0, pi1, pt0, pt1, scc0, scc1... | eth0, ppp0
+-----------+-----------+-----------+--------------+----------------
| Treiber | KISS, PI2, PacketTwin, SCC, BPQ, | slip, ppp,
| | SoundModem, BayCom | ethernet
---------+-----------+--------------------------------------+----------------
Hardware | PI2-Karte, PacketTwin-Karte, SCC-Karte, Serielle Schnittstelle,
| SoundBlaster, Ethernet-Karte
---------+-------------------------------------------------------------------
Diese Zeichnung sollte man von unten nach oben lesen. Auf unterster Ebene
steht die Hardware (SCC-Karte, PacketTwin, TNC2, BayCom...), die über einen
Treiber an das System angebunden wird. Dieser Treiber stellt ein
vereinheitlichtes (Netzwerk-) Interface zur Verfügung, dessen Bezeichnung auf
seine Herkunft deutet. So wie das
eth bei eth0 als Abkürzung für Ethernet steht, bedeutet das
pt bei pt0 beispielsweise PacketTwin.
Diese Netzwerkinterfaces werden dann für den Betrieb mit den verschiedenen Protokollen eingerichtet. Die Anwendersoftware setzt schließlich auf die eingerichteten Protokolle auf. In dieser Hinsicht unterscheidet sich die Einrichtung eines Packet-Radio-Gerätes nicht von der Konfiguration einer Netzwerkkarte.