`
`2* AX25 Link—Layer Protocol Specification
`
`2.1 [Scope and Field of Operation
`
`In order to provide a mechanism for the reliable transport of data
`between two signaling terminals, it is necessary to define a protocol that can
`accept and deliver data over a variety of types of communications links.
`The
`AX.25 Link-Layer Protocol
`is designed to provide this service,
`independent of
`any other level that may or may not exist.
`_
`]
`
`This protocol conforms to ISO Recommendations 3309, 4335 (including DAD
`1&2) and 6256 high-level data link control (HDLC) and'uses some terminology
`found in these documents.
`It also conforms with ANSI X3.66, which describes
`ADCCP, balanced mode.
`
`the CCITT X.25 Recommendation, with
`in principle,
`This protocol follows,
`[
`the exception of an extended address field and the addition of the Unnumbered
`Information (U1)
`frame.
`It also follows the principles of CCITT
`Recommendation Q.921 (LAPD)
`in the use of multiple links, distinguished by the
`address field, on a single shared channel.
`_
`1
`
`As defined, this protocol will work equally well in either half- or full-
`duplex Amateur Radio environments.
`
`This protocol has been designed to work equally well for direct
`connections between two individual amateur packet-radio stations or an
`individual station and a multiport controller.
`
`This protocol allows fo; the establishment of more than one link-layer
`connection per device,
`if the device is so capable.
`
`A self-connection is
`This protocol does not prohibit self—connections.
`considered to be when a device establishes a link to itself using its own
`address for both the source and destination of the frame.
`
`Most link—layer protocols assume that one primary (or master) device
`[
`(generally called a DCE, or data circuit—terminating equipment)
`is connected
`to one or more secondary (or slave) device(s) (usually called.a DTE, or data
`terminating equipment). This type of unbalanced operation is not practical in
`a shared-RF Amateur Radio environment.
`Instead, AX.25 assumes that both ends
`of the link are of the same class,
`thereby eliminating the two different
`classes of devices. The term Qgfiix used in this protocol specification to
`describe the balanced type of device found in amateur packet radio.
`]
`
`..\,
`
`Page 000019
`
`
`
`AX.25 Amateur Packet—Radio Link-Layer Protocol
`
`2.2 Frame Structure
`
`in small blocks of data,
`smissions are sent
`Link layer packet radio tran
`ler groups, called
`called frames. Each frame is made up of several smal
`Note that the first
`fields. Fig. 1 shows the three basic types of frames.
`bit to be transmitted is on the left side.
`
`First
`Bit Sent
`.______._—__....—._.__—_..._.._.___...._____...—_.__....—_.__._.___._...._.___..._..._._—__.__
`
`———...__._.___......—._..._——._.—.——___.....____....—.__._..__._.._—_...__..._.__.._....___—__._
`Fig. 1A -— D and S frame construction
`
`First
`Bit Sent
`
`.
`
`I
`I Flag
`FCS
`I
`PID I Info.
`I Controll
`I Address
`Flag
`I
`I 01111110 I112/560 Bitsl 8 Bits I 8 Bitsl N*8 Bitsl 16 Bitsl 01111110 I
`
`Fig. 1B —— Information frame construction
`
`Each field is made up of an integral number of octets (or bytes), and
`serves a specific function as outlined below.
`
`2.2.1 Flag Field
`
`The flag field is one octet long. Since the flag is used to delimit
`I
`frames, it occurs at both the beginning and end of each frame.
`Two frames may
`share one flag, which would denote the end of the first frame, and'the start
`of the next frame.
`A flag consists of a zero followed by six ones followed by
`another zero, or 01111110 (7E hex). As a result of bit stuffing (see 2.2.6,
`below),
`this sequence is not allowed to occur anywhere else inside a complete
`frame.
`1
`
`2.2.2 Address Field
`
`ld is used to identify both the source of the frame and
`' The address fie
`I
`1d contains the command/response
`its destination.
`In addition,
`the address fie
`1
`information and facilities for level 2 repeater operation.
`_
`
`The encoding of the address field is described in 2.2.13.
`
`Page 000020
`
`
`
`AX.25 Amateur Packet-Radio Link-Layer Protocol
`
`2.2.3 Control Field
`
`The control field is used to identify the type of frame being passed
`and control several attributes of the level 2 connection.
`It is one octet
`in
`length, and its encoding is discussed in 2J.2J, below.
`
`2.2.4 PID Field
`
`The Protocol Identifier (PID) field shall appear in information frames
`(I and UI) only.
`It identifies what kind of layer 3 protocol, if any, is in
`use.
`
`the octet count of the
`included as part of
`The PID itself is not
`[
`information field. The encoding of the PID is as follows:
`1
`
`M
`S
`B
`
`L
`S
`B
`
`yy01yyyy AX.25 layer 3 implemented.
`yyloyyyy AX.25 layer 3 implemented.
`11001100
`Internet Protocol datagram layer 3 implemented.
`11001101 Address resolution protocol layer 3 implemented.
`11110000
`No layer 3 implemented.
`11111111 Escape character. Next octet contains more Level 3 protocol
`information.
`
`1
`
`‘
`
`Wh
`
`:
`
`ere
`
`'G
`
`A y indicates all combinations used.
`
`Note:
`
`[
`
`[
`
`All forms of yyllyyyy and yy00yyyy other than those listed above are
`reserved at
`this time for future level 3 protocols.
`The assignment of
`these
`formats is up to amateur agreement.
`It is recommended that the creators of
`level 3 protocols contact the ARRL Ad Hoc Committee on Digital Communications
`for suggested encodings.
`1
`
`2.2.5 Information Field
`
`The information field is used to convey user data from one end of the
`link to the other.
`I fields are allowed in only three tyes of frames: the I
`frame,
`the UI frame, and the FRMR frame.
`The I field can be up to 256 octets
`long, and shall contain an integral number of octets. These constraints apply
`prior to the insertion of zero hits as specified in 2.15, below. Any
`information in the I field shall be passed along the link transparently,
`except for the zero-bit
`insertion (see 2.2.6) necessary to prevent flags from
`accidentally appearing in the I field.
`
`Page 000021
`
`
`
`AX.25 Amateur Packet-Radio Link-Layer Protocol
`
`2.2.6 Bit Stuffing
`the flag bit sequence mentioned above doesn't
`In order to assure that
`appear accidentially anywhere else in a frame,
`the sending station shall
`monitor the bit sequence for a group of five or more contiguous one hits. Any
`time five contiguous one bits are sent
`the sending station shall insert a zero
`bit after the fifth one bit. During frame reception, any time five contiguous
`one bits are received, a zero bit immediately following five one hits shall be
`discarded.
`
`2.2.7 Frame-Check Sequence
`The frame-check sequence (FCS) is a sixteen-bit number calculated by
`both the sender and receiver of a frame.
`It is used to insure that the frame
`was not corrupted by the medium used to get the frame from the sender to the
`receiver.
`It shall be calculated in accordance with ISO 3309 (HDLC)
`
`Recommendations .
`
`2.2.8 Order of Bit Transmission
`with the exception of the PCS field, all fields of an AX.25 frame shall
`be sent with each octet’s least-significant bit first.
`The FCS shall be sent
`most—significant bit first.
`-
`
`2.2.9 Invalid Frames
`
`less than 136 bits (including the opening and
`Any frame consisting of
`closing flags), not bounded by opening and closing flags, or not octet aligned
`(an integral number of octets), shall be considered an invalid frame by the
`link layer.
`See also 2.4.4.4, below.
`
`2.2.10 Frame Abort
`If a frame must be prematurely aborted, at least fifteen contiguous
`ones shall be sent with no bit stuffing added.
`
`2.2.11 [Interframe Time Fill
`Whenever it is necessary for a DXF. to keep its transmitter on while
`not actually sending frames, the time between frames should be filled with
`contiguous flags.
`
`2.2.12 Link Channel States
`
`Not applicable .
`
`Page 000022
`
`
`
`AX.25 Amateur Packet-Radio Link—Layer Protocol
`
`2.2.13 Address-Field Encoding
`
`The address field of all frames shall be encoded with both the
`destination and source amateur call signs for the frame. Except for the
`Secondary Station Identifier (SSID), the address field should be made up of
`upper—case alpha and numeric ASCII characters only.
`If level 2 amateur
`"repeaters" are to be used, their call signs shall also be in the address
`field.
`1
`
`The HDLC address field is extended beyond one octet by assigning the
`least-significant bit of each octet
`to be an "extension bit".
`The extension
`bit of each octet is set to zero,
`to indicate the next octet contains more
`address information, or one, to indicate this is the last octet of the HDLC
`address field.
`To make room for this extension bit,
`the Amateur Radio call-
`sign information is shifted one bit left.
`
`2.2.13.1 Nonrepeater Address-Field Encoding
`
`the address field is
`If level 2 repeaters are not being used,
`encoded as shown in Fig. 2.
`The destination address is the call sign and SSID
`of the amateur radio station to which the frame is addressed, while the source
`address contains the amateur call sign and SSID of the station that sent
`the
`frame. These call signs are the call signs of the two ends of a level 2 AX.25
`link on 1.
`‘
`
`First
`
`,
`Octet Sent
`—————————————-£---————->-—————u—o—-—————-u-—p———————¢-————
`
`I
`Address Field of Frame
`I
`I ----------------------------------------------I
`I Destination Address I
`Source Address
`I
`I ----------------------------------------------—-I
`IA1 A2 A3 A4 A5 A6 A7
`I A8 A9 A10 A11 A12 A13 Al4I
`...______........——_—__.....——.._._..._..._..-———_._____....__._.___._...._.__
`
`Fig. 2 -- Nonrepeater Address—Fie1d Encoding
`
`through A14 are the fourteen octets that make up the two address
`Al
`subfields of the address field. The destination suhaddress is seven octets
`long (Al thru A7), and is sent first. This address sequence provides the
`receivers of frames time to check the destination address subfield to see if
`the frame is addressed to them while the rest of the frame is being received.
`The source address subfield is then sent in octets A8 through A14. Both of
`these subfields are encoded in the same manner, except that the last octet of
`the address field has the HDLC address extension bit set.
`
`n
`
`Page 000023
`
`
`
`AX.25 Amateur Packet-Radio Link-Layer Protocol
`
`the end of each address subfield that contains
`There is an octet at
`the Secondary Station Identifier (SSID).
`The SSID subfield allows an Amateur
`Radio operator to have more than one packet—radio station operating under the
`same call sign. This is useful when an amateur wants to put up a repeater in
`addition to a regular station, for example. The C bits (see 2.4Jn2, below)
`and H bit (see 2.2.13.2, below) are also contained in this octet, along with
`two bits which are reserved for future use.
`Fig. 3A Shows a typical AX.25 frame in the nonrepeater mode of
`
`operation.
`
`7E
`Io111111oI
`I
`I
`I Flag
`96
`I1oo1o11oI
`K
`I
`I
`I
`A1
`70
`Io111ooooI
`8 -
`I
`I
`I
`A2
`9A
`I1oo11o1oI
`M
`I
`I
`I
`A3
`9A
`I1oo11o1oI
`M
`I
`I
`I A4
`92
`I1oo1111oI
`o
`I
`I
`I As
`40
`I space I01000000|
`I
`I
`A6
`E0
`I ssxn
`|111oooooI
`I
`I
`A7
`AE
`I
`w
`I1o1o111oI
`I
`I A8
`84
`B
`I1oooo1ooI
`I
`I A9
`68
`4
`|o11o1oooI
`I
`I A10
`94
`J
`I1oo1o1ooI
`I
`I A11
`8c
`F
`I1ooo11ooI
`I
`I A12
`92
`I
`I1oo1oo1oI
`I
`I A13
`I
`I
`61
`I SSID Io11oooo1I
`A14
`I
`I
`3E
`I
`|00ll1110I
`Control
`I
`I
`F0
`none
`I1111o00ol
`PID
`I
`I
`an
`part llxxxxxxxxl
`rcs
`I
`I
`EH
`part ZIXXXXXXXXI
`FCS
`I
`I
`72
`Io111111oI
`Flag
`I ———————————————————————————————--1
`I Bit position I765432l0I
`I
`.—_.—___..._.__.—__.....__—_—.___—_——_..—_.—.——..
`Fig. 3A -— Nonrepeater AX.25 frame
`
`I I I I I
`
`I I I I I
`
`The frame shown is an I frame, not going through a level 2 repeater,
`from WB4JFI (SSID=0) to KBMMO (SSID=0), with no level 3 protocol. The P/F bit
`the receive sequence number (N(R)) is 1;
`the send sequence number
`is set;
`(N(s))
`is 7.
`
`Page000024
`
`
`
`AX.25 Amateur Packet-Radio Link-Layer Protocol
`
`2.2.l3.l.1 Destination Subfield Encoding
`
`Fig. 3 shows how an amateur call sign is placed in the destination
`address subfield, occupying octets A1 thru A7.
`
`.._..........__._.___.—_—_._____...—._.___.__...-—.__.___
`
`-..-._—____....._....—.____.___—-—.....—._.__.___._.__
`
`I
`AE
`I1o1o111oI
`w
`I
`A1
`I
`I
`84
`I 10000100 I
`B
`I
`I A2
`I
`68
`Io11o1oooI
`4
`I
`I
`A3
`I
`94
`I1oo1o1ooI
`J
`I
`I A4
`I
`so
`I1ooo11ool
`F
`I
`I As
`I
`92
`I1oo1oo1ol
`I
`I
`I
`A6
`I
`I ssm Icnnssmol
`I
`A7
`.._____.-._.________......—..—______..__—_—__._
`
`Bit Position—-> 76543210
`
`Fig. 3 -- Destination Field Encoding
`
`Where:
`
`The top octet (A1) is the first octet sent, with bit 0 of each
`octet being the first bit sent, and bit 7 being the last bit sent.
`(
`.
`
`The first (low-order or bit 0) bit of each octet is the HDLC
`address extension bit, which is set to zero on all but the last
`octet in the address field, where it is set to one.
`-
`‘
`.
`
`The bits marked "R" are reserved bits. They may be used in an
`agreed-upon manner in individual networks. When not implemented,
`they should be set to one.
`
`The bit marked "C" is used as the commandlresponse bit of an AX.25
`frame, as outlined in 2.4.1.2 below.
`‘
`]
`
`5.
`
`The characters of the call sign should be stadard seven-bit ASCII
`(upper case only) placed in the leftmost seven hits of the octet
`to make room for the address extension bit.
`If the call sign
`contains fewer than six characters, it should be padded with ASCII
`spaces between the last call sign character and the SSID octet.
`
`The 0000 SSID is reserved for the first personal AX.25 station.
`This establishes one standard SSID for "normal" stations to use
`for the first station.
`]
`
`Page 000025
`
`
`
`AX.25 Amateur Packet-Radio Link-Layer Protocol
`
`2.2.13.2 Level 2 Repeater-Address Encoding
`
`If a frame is to go through level 2 amateur packet repeater(s),
`there is an additional address subfield appended to the end of the address
`field. This additional subfield contains the call sign(s) of the repeater(s)
`to be used. This allows more than one repeater to share the same RF channel.
`If this subfield exists,
`the last octet of the source subfield has its
`address extension bit set to zero, indicating that more address-field data
`follows.
`The repeater-address subfield is encoded in the same manner as the
`destination and source address subfields, except for the most-significant bit
`in the last octet, called the "H" bit. The H bit is used to indicate whether
`a frame has been repeated or not.
`
`In order to provide some method of indicating when a frame has been
`[
`the H bit is set
`to zero on frames going to a repeater.
`The
`repeated,
`repeater will set the H bit to one when the frame is retransmitted. Stations
`should monitor the E bit, and discard any frames going to the repeater (uplink
`frames), while operating through a repeater. Fig. 4 shows how the repeater-
`address subfield is encoded. Fig. 4A is an example of a complete frame after
`being repeated.
`'
`]
`
`._____.—...—__..._...__—_...._—_._._—_._..._.__._..._u-.-
`
`lBin.DataIHex Datal
`I ASCII
`I Octet
`I --------------------------------—l
`I A15
`I
`w
`I1o1o111oI
`AE
`I
`I A16
`I
`B
`I1oooo1ooI
`34
`I
`I A17
`I
`4
`|0l101000|
`as
`I
`I A18
`I
`J
`I1oo1o1ooI
`94
`I
`I A19
`I
`1-‘
`l1ooo11oo|
`so
`I
`I A20
`I
`I
`|1oo1oo1o|
`92
`I
`I A21
`I ssm Immssrml
`I
`.____..______.——___—.—.—_—...__._—_.___—._..._._
`
`Bit Order ->
`
`76543210
`
`Fig. 4 -- Repeater-address encoding
`
`Where:
`
`1. The top octet is the first octet sent, with bit 0 being sent first
`and bit 7 sent last of each octet.
`
`2. As with the source and destination address subfields discussed
`above, bit 0 of each octet is the ELC address extension bit, which
`is set to zero on all but the last address octet, where it is set to
`one.
`
`3. The "R" bits are reserved in the same manner as in the source and
`destination subfields.
`
`to zero
`It is set
`is the has-been-repeated bit.
`4. The "H" bit
`whenever a frame has not been repeated, and set
`to one by the
`repeater when the frame has been repeated.
`
`I
`
`Page 000026
`
`
`
`AX.25 Amateur Packet-Radio Link-Layer Protocol
`
`Io111111oI
`I
`I Flag
`|1oo1o11oI
`K
`I
`I
`A1
`Io111ooooI
`s
`I
`I A2
`I1oo11o1oI
`M
`I
`I
`A3
`I1oo11o1oI
`M
`I
`I
`A4
`I1oo1111oI
`o
`I
`I As
`I space I01000000I
`I
`A6
`I ssxn
`I111oooooI
`I
`A7
`I
`w
`I1o1o111oI
`I
`A8
`I
`B
`I1oooo1ooI
`I A9
`I
`4
`Io11o1oooI
`I A10
`I
`J
`l1oo1o1oo|
`I A11
`I
`F
`l1ooo11ooI
`I A12
`I
`I
`I1oo1oo1ol
`I A13
`I ssxn
`|o11ooooo|
`I A14
`I
`w
`I1o1o111oI
`I A15
`I
`B
`I1oooo1ooI
`I A16
`I
`4
`Io11o1oooI
`I A17
`I
`J
`l1oo1o1oo|
`I A18
`I
`r
`I1ooo11ooI
`I A19
`I
`I
`I1oo1oo1ol
`I A20
`I A21 ‘I ssrn
`I111ooo11I
`I00lll110I
`Icontroll
`I
`|11110000|
`PID I none
`I
`I
`rcs
`I part llxxxxxxxxl
`rcs
`(par: 2|xxxxxxxxl
`I
`I
`Flag
`I
`Io111111oI
`
`7E
`96
`70
`9A
`9A
`9E
`40
`so
`AE
`84
`68
`94
`sc
`92
`so
`AE
`84
`as
`94
`ac
`92
`E3
`3F
`F0
`Inn
`1111
`72
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`——._...—______....__———.—.___._.._._——___—___....
`
`Fig. 4A - AX.25 frame in repeater ode
`
`The above frame is the same as Fig. 3A, except for the addition of a
`repeater-address subfield (WB4JFI, SSID=1). The H bit is set,
`indicating this
`is from the output of the repeater.
`
`2.2.13.3 [Multiple Repeater Operation
`
`The 1ink—1ayer AX.25 protocol allows operation through more than one
`repeater, creating a primitive frame routing mechanism.
`Up to eight repeaters
`may be used by extending the repeater—address subfield. When there is more
`than one repeater address, the repeater address immediately following the
`source sddress subfield will be considered the address of the first repeater
`of a multiple-repeater chain.
`-As a frame progresses through a chain of
`repeaters, each successive repeater will set the H bit (has-been-repeated bit)
`in its SSID octet, indicating that the frame has been successfully repeated
`through it.
`No other changes to the frame are made (except for the necessary
`recalculation of the FCS).
`The destination station can determine the route
`the frame took to reach it by examining the address field.
`
`Page000027