AX.25 (Amateur X.25) is a data link layer protocol originally derived from layer 2 of the X.25 protocol suite and designed for use by amateur radio operators. It is used extensively on amateur packet radio networks. AX.25 v2.0 and later occupies the data link layer, the second layer of the OSI model. It is responsible for establishing link-layer connections, transferring data encapsulated in frames between nodes, and detecting errors introduced by the communications channel. As AX.25 is a pre-OSI-model protocol, the original specification was not written to cleanly separate into OSI layers. This was rectified with version 2.0 (1984), which assumes compliance with OSI level 2. AX.25 v2.2 (1998) added improvements to improve efficiency, especially at higher data rates. Stations can automatically negotiate payload sizes larger than the previous limitation of 256 bytes. Extended sequence numbers (7 vs. 3 bits) allow a larger window size, the number of frames that can be sent before waiting for acknowledgement. "Selective Reject" allows only the missing frames to be resent, rather than having to wastefully resend frames that have already been received successfully. Despite all these advantages, few implementations have been updated to include these improvements published more than 20 years ago. The only known complete implementation of v2.2, at this time (2020), is the Dire Wolf software TNC. AX.25 is commonly used as the data link layer for network layer such as IPv4, with TCP used on top of that. AX.25 supports a limited form of source routing. Although it is possible to build AX.25 switches similar to the way Ethernet switches work, this has not yet been accomplished. Specification AX.25 does not define a physical layer implementation. In practice 1200 baud Bell 202 tones and 9600 baud G3RUH DFSK are almost exclusively used on VHF and UHF. On HF the standard transmission mode is 300 baud Bell 103 tones. At the physical layer, AX.25 defines only a "physical layer state machine" and some timers related to transmitter and receiver switching delays. At the link layer, AX.25 uses HDLC frame syntax and procedures. (ISO 3309) frames are transmitted with NRZI encoding. HDLC specifies the syntax, but not the semantics, of the variable-length address field of the frame. AX.25 specifies that this field is subdivided into multiple addresses: a source address, zero or more repeater addresses, and a destination address, with embedded control fields for use by the repeaters. To simplify compliance with