AX.25 occupies the first, second, and often the third layers of the OSI networking model, and is responsible for transferring data (encapsulated in packets) between nodes and detecting errors introduced by the communications channel.
AX.25 is thus comparable to the combination of Ethernet and TCP in the services it provides. However, as AX.25 is a pre-OSI-model protocol, the specification was not written to cleanly separate into OSI layers. This is not necessarily a problem, and can have some advantages.
In practice, it is not uncommon to find an AX.25 data link layer as the transport for some other network layer, such as IPv4, with TCP used on top of that. Note that, like Ethernet, AX.25 frames are not engineered to support switching. For this reason, AX.25 supports a somewhat limited form of source routing. Although possible to build AX.25 switches in a manner not unlike how Ethernet switches work, this has not yet been accomplished.
AX.25 supports both virtual-circuit connected and datagram-style connectionless modes of operation. The latter is used to great effect by the Automatic Packet Reporting System.
Traditionally, amateur radio operators have connected to AX.25 networks through the use of a terminal node controller, which contains a microprocessor and an implementation of the protocol in firmware. These devices allow network resources to be accessed using only a dumb terminal and a transceiver.
Technically, AX.25 does not completely define a physical layer implementation, although it does define a physical-layer state machine. In practice AX.25 is almost exclusively used with 300 baud Bell 103 tones on HF, 1200 baud Bell 202 tones and 9600 baud G3RUH DFSK on VHF and UHF, although the NRZI encoding differs from the telephone modem standards (it uses NRZS, not NRZM). These combinations are so ubiquitous that most users do not differentiate between the AX.25 data layer and the underlying physical layer. This problem is exacerbated by the fact that the designers of the AX.25 protocol did not use consistent terminology and did not themselves clearly differentiate between tasks belonging to the various layers. The more recent AX.25 publications attempt to better delineate physical and data link layers.
- See full article at KISS (TNC)
The KISS framing is not part of the AX.25 protocol itself nor is it sent over the air. It merely serves to encapsulate the protocol frames in a way that can successfully pass over a serial link to the TNC. The KISS framing is derived from SLIP, and makes many of the same assumptions, such as there only being two "endpoints" involved in the conversation. With SLIP, these were the two SLIP-connected hosts; with KISS, it is assumed that the KISS framing link is over serial with only the host computer and the PC involved. Among other things, this makes it awkward to address multiple TNCs without having multiple (serial) data channels.
Alternatives to KISS do exist that address these limitations, such as 6PACK.
AX.25 has most frequently been used to establish direct, point-to-point links between packet radio stations, without any additional network layers. This is sufficient for keyboard-to-keyboard contacts between stations and for accessing local bulletin board systems and DX clusters.
A simple source routing mechanism using digipeaters is available at this level of operation. Digipeaters act as simplex repeaters, receiving and retransmitting packets from local stations. They allow multi-hop connections to be established between two stations unable to communicate directly.
The AX.25 specification does define a complete, albeit point to point only network layer protocol, but this has seen little use outside of keyboard-to-keyboard or keyboard-to-BBS connections. NET/ROM, ROSE, and TexNet exist to provide routing between nodes. In principle, any layer 3 protocol can be used with AX.25, including the ubiquitous Internet protocol.
In recent years, the Automatic Packet Reporting System has become a popular application.
At the speeds commonly used to transmit packet radio data (rarely higher than 9,600 bit/s, and typically 1,200 bit/s), the use of additional network layers with AX.25 is impractical due to the data overhead involved. This is not a limitation of AX.25 per se, but places constraints on the sophistication of applications designed to use it.
The AX.25 protocol identifies each message by sender and destination station call-sign plus SSID value in range 0 through 15. At ITU WARC2003 meeting earlier radio amateur station call-sign specification was amended so that earlier maximum length of 6 character was raised to 7 characters. However AX.25 has a built in hard limit of 6 characters, which means a 7 character call-sign cannot be used in an AX.25 network.
AX.25 lacks an explicit port (or SAP); the SSID often assumes this role. Thus there can be only one service per AX.25 station SSID address, which is often kludged around with varying degrees of success.
Some amateurs, notably Phil Karn KA9Q, have argued that AX.25 is not well-suited to operation over noisy, limited-bandwidth radio links, citing its lack of forward error correction (FEC) and automatic data compression. However, a viable widely-adopted successor to AX.25 has yet to emerge. Likely reasons may include:
- a large existing deployment of recycled narrowband FM radios and especially existing APRS applications,
- easy availability of cheap, low-power FM transmitters, especially for the 430 MHz UHF band, to match existing legacy radio gear,
- new radio level modulations would need different radio gear than what is currently in use and the resulting system would be incompatible with the existing one – thus requiring a large initial investment in new radio gear,
- adoption of newer line codings potentially including forward error correction takes more effort than the 1,200 bit/s AFSK of Bell 202. Previously sufficient small 8-bit microprocessors with 128 bytes of RAM would not be enough, and new ones might cost USD 30 instead of USD 3. Phil Karn did demo decoding of this new modulation of his by running it on a Pentium II machine – some 10 years later, mid-level embedded microprocessors are capable enough to do the same with under USD 50 system cost.
Small gadget transmitters do not need to know what is being transmitted. There is only a need to monitor channel occupation by radio receiver RSSI (Received Signal Strength Indication) to know when not to send. Transmitting interleaved Reed-Solomon FEC signal in some smart modulation needs a lot fewer resources than reception of the same signal, thus a sufficient microprocessor might cost just USD 5 instead of USD 30 and a system cost might stay below USD 50, transmitter included. However, in recent years, the ability to receive as well as send using cheap microcontrollers (such as the Atmel AVR or the Motorola 68HC08 families) have been demonstrated.
It seems, however, that any new system that is not compatible with the current Bell 202 modulation is unlikely to be widely adopted. The current modulation seems to fulfill sufficient need that little motivation exists to move to a superior design, especially if the new design requires significant hardware purchases. However, as existing Bell 202 modem chips become obsolete without replacement, this consideration becomes less overwhelming.
- "AX.25 Link Access Protocol for Amateur Packet Radio". Tucson Amateur Packet Radio. 1997. Retrieved 2008-03-05.
- John Ackermann (2002). "Linux AX.25 Configuration". febo.com. Archived from the original on 11 March 2008. Retrieved 2008-03-05.
- James Miller G3RUH (1995). "9600 Baud Packet Radio Modem Design". Retrieved 2012-Feb-03.
- "AX.25 Link Access Protocol for Amateur Packet Radio (version 2.2)". TAPR. 1998. Retrieved 2009-12-01.
- Mike Chepponis; Phil Karn. "The KISS TNC: A simple Host-to-TNC communications protocol". Archived from the original on 25 July 2008. Retrieved 2008-08-18.
- "6PACK a "real time" PC to TNC protocol". Retrieved 2009-05-28.
- Jeff Tranter (1997). "Packet Radio Under Linux". Linux Journal. Archived from the original on 22 November 2008. Retrieved 2009-01-01.
- "Bugblat Cortino". Retrieved 2009-12-01.
- Terry L. Fox, WB4JFI (1984). AX.25 Amateur Packet-Radio Link-Layer Protocol, Version 2.0. Newington, CT: ARRL. p. 18. ISBN 0-87259-011-9.
- Rich Roznoy, K1OF, Editor (1997). Packet: Speed, More Speed and Applications (2nd Edition). Newington, CT: American Radio Relay League, Inc. ISBN 0-87259-605-2.
- AMPRNet – a project to construct a global, radio-based network using TCP/IP over AX.25 links
- Linux-AX25.org – Site dedicated to packet radio on Linux
- AX.25 Layer 2 – This web site has been established to be a concise repository for AX.25 layer 2 design activities.
- APRS – Bob Bruninga's official APRS website.