<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY Cust18 SYSTEM
  "http://xml2rfc.ietf.org/public/rfc/bibxml-doi/reference.DOI.10.1016/j.comcom.2018.05.016.xml?anchor=Cust18">
<!ENTITY RFC1226 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1226.xml">
<!ENTITY RFC2119 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2410 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2410.xml">
<!ENTITY RFC2474 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2474.xml">
<!ENTITY RFC2597 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2597.xml">
<!ENTITY RFC4301 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY RFC4303 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4303.xml">
<!ENTITY RFC5840 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5840.xml">
<!ENTITY RFC7296 SYSTEM
  "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7296.xml">
]>

<rfc obsoletes="1226" docName='draft-learmonth-intarea-rfc1226-bis-02' ipr="trust200902" submissionType="IETF" category="exp" xml:lang="en"><!-- xmlns:xi="http://www.w3.org/2001/XInclude"-->
<front>

<title abbrev='AX.25 over IP'>
Internet Protocol Encapsulation of AX.25 Frames
</title>

<author initials="I. R." surname="Learmonth" fullname="Iain R. Learmonth">
  <organization>HamBSD</organization>
  <address>
    <postal>
      <street></street>
    </postal>
    <email>irl@hambsd.org</email>
  </address>
</author>

<date />

<area></area>
<workgroup></workgroup>
<keyword>amateur radio</keyword>
<keyword>ax.25</keyword>
<keyword>encapsulation</keyword>

<abstract>
<t>This document describes a method for the encapsulation of AX.25
Link Access Protocol for Amateur Packet Radio frames within IPv4 and IPv6
packets. Obsoletes RFC1226.
</t>
</abstract>

<note title="Note">
<t>Comments are solicited and should be addressed to the author(s).</t>
<t>The sources for this draft are at:</t>
<t>https://github.com/irl/draft-rfc1226-bis</t>
</note>

</front>

<middle>
<section anchor="introduction" title="Introduction">
        <t>
                This document describes a method for the encapsulation of
                AX.25 Link Access Protocol for Amateur Packet Radio
                <xref target="AX.25"/> frames within IPv4 and
                IPv6 packets. It obsoletes
                <xref target="RFC1226" />.
	</t>
        <t>
                AX.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 by amateur
                packet radio networks worldwide.
        </t>
        <t>
                In addition to specifying how packets should be encapsulated, it
                gives recommendations for DiffServ codepoint marking of the
                encapsulating headers based on the AX.25 frame content and
                provides security considerations for the use of this
                encapsulation method.
        </t>
</section>

<section title="Terminology">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
in this document are to be interpreted as described in
<xref target="RFC2119"/>.</t>
</section>

<section anchor="ip-encap" title="Internet Protocol Encapsulation">
<t>
        Each AX.25 frame is encapsulated in one IPv4 or IPv6
        datagram using protocol number 93 as assigned in the
	Assigned Internet Protocol Numbers registry <xref target="protocol-numbers"/>.
        For AX.25 version 2.0, the maximum frame size expected is 330 bytes and
        implementations MUST be prepared to handle frames of this size.
        Higher frame sizes can be negotiated by AX.25 version 2.2 and so this
	is a minimum requirement and not a limit.
</t>
<t>
        HDLC framing elements (flags and zero-stuffing) are omitted, as the IP
        datagram
        adequately delimits the beginning and end of each AX.25 frame. The
        CRC-16-CCITT frame check sequence (normally generated by the HDLC
        transmission hardware) is included trailing the information field.
	In all other respects, AX.25 frames are encapsulated unaltered.
</t>

<section anchor="priority" title="Priority Frames">
<t>
        In normal operation, the DiffServ codepoint field <xref target="RFC2474"/> in the encapsulating
        IP header SHOULD be set to best effort (BE).
	The exception to this is "priority frames" as specified for AX.25
	version 2.2, including acknowledgement and digipeat frames, which SHOULD
        have the DiffServ codepoint set to AF21 <xref target="RFC2597"/>. A slot is reserved on the radio
        channel for the transmission of these frames and the use of this
        codepoint will permit the frames to arrive promptly at the station for
        transmission.
</t>
<t>
        For the avoidance of doubt: on decapsulation the AX.25 frame MUST NOT be
        modified based on the DiffServ codepoint on the received
        encapsulating IP header. The receiver MUST NOT use the DiffServ
	codepoint to infer anything about the nature of the encapsulated packet.
	It has been shown that while the AF21 codepoint may be remarked while
	crossing administrative boundaries, it is unlikely that priority
	inversion will occur due to remarking where such remarking occurs
	<xref target="Cust18"/>.
</t>
</section>

<section anchor="aprs" title="Automatic Packet Reporting System">
<t>
        Automatic Packet Reporting System
        <xref target="APRS" />
        is an amateur radio-based system for real time digital communications
	for local situational awareness. APRS uses AX.25 frames for addressing,
	and additionally assigns special meaning to some of the reserved bits of
	an AX.25 frame header.
</t>
<t>
        As a special case, when used with the Automatic Packet Reporting System
        <xref target="APRS" />, priority frames will not occur. If
	a tunnel is configured as carrying APRS data, the DiffServ codepoint
        SHOULD by default be set to AF11 <xref target="RFC2597"/>. Where the "Precedence Bit"
        <xref target="RR-bits" />
        is set (i.e. it is zero) in an APRS packet, the DiffServ codepoint should be
        set to BE. Where the "Operator Present Bit"
        <xref target="RR-bits" />
	is set (i.e. it is zero),
        the DiffServ codepoint MAY be set to AF21 <xref target="RFC2597"/>.
</t>
<t>
        Again, for the avoidance of doubt: on decapsulation the AX.25 frame MUST
        NOT be modified based on the DiffServ codepoint on the received
        encapsulating IP header. The receiver MUST NOT use the DiffServ
	codepoint to infer anything about the nature of the encapsulated packet.
	It has been shown that while AF codepoints may be remarked while
	crossing administrative boundaries, it is unlikely that priority
	inversion will occur, either with the BE traffic or between AF PHBs
	due to remarking where such remarking occurs <xref target="Cust18"/>.
</t>
<t>
	It is possible depending on the nature of the tunnel that decapsulated
	packets would need to be treated as third-party traffic according to the
	APRS specification <xref target="APRS"/>. In this case,
        the Third-Party Network Identifier "IPENC" SHOULD be used. This is to
	differentiate traffic using IP encapsulation from APRS-IS traffic
	<xref target="APRS-IS"/> and other third-party networks.
</t>
</section>
</section>

<section anchor="security-considerations" title="Security Considerations">
        <t>
                With the exception of control signals exchanged between earth
                command stations and space stations in the amateur-satellite
                service, amateur radio transmissions cannot be encoded for the
                purpose of obscuring their meaning. In essence, this means that
                cryptography that requires the use of secrets to decipher a
                message cannot be used where the possibility exists that a
                packet will be transmitted by an amateur radio station <xref target="Part97.113"/><xref target="OfcomTerms"/>.
        </t>
        <t>
                The CRC-16-CCITT provides for an integrity check but does not
                guarantee the authenticity of the packet. In many jurisdictions
                it is a requirement for amateur radio stations that are Internet
                connected that they verify that packets for transmission have
                originated from licensed radio amateurs <xref target="Part97.111"/><xref target="OfcomTerms"/>.
</t>
<t>
		In order to provide
                this guarantee, IPSec
                <xref target="RFC4301"/>
                SHOULD be employed to provide authentication of packets. The
                neogtiated SA SHOULD use transport mode with ESP
                <xref target="RFC4303"/> to limit the packet size overhead
                incurred by use of IPSec.
                The traffic selector MUST match packets with IP protocol
                number 93.
                An authentication algorithm MUST be selected to provide
                data origin authentication.
         </t>
         <t>
                The encryption algorithm MUST NOT
                provide confidentiality for tunnels that will traverse an
                amateur radio link
                (i.e. the encapsulated packets will be transmitted by an
                amateur radio station). The use of the NULL algorithm
                <xref target="RFC2410"/> is RECOMMENDED for tunnels that will
                traverse an amateur radio link.
                In cases where traffic can be known or reasonably expected to
                not traverse
                an amateur radio link, an encryption algorithm that provides
                confidentiality is RECOMMENDED.
	</t>
	<t>
		Wrapped ESP <xref target="RFC5840"/> MAY be used to explicitly
		indicate where "integrity-only" security is provided without
		data confidentiality.
	</t>
        <t>
                When transmitted by an amateur radio station, many propagation
                modes will permit wide reception of a packet. As such, receivers
                MUST implement anti-replay protection by verifying received
                sequence numbers <xref target="RFC4303"/>.
                The size of the anti-replay window may need to be scaled to
                account not only for the speed of the link, but also for packet
                loss that may occur on amateur radio links. Following extended
                packet loss a sender may have advanced the sequence number
                beyond the window size allowed. Dead peer detection
                <xref target="RFC7296"/>
                can be used to renegotiate SAs in this case and so SHOULD be
                enabled for any SA expected to traverse an amateur radio
                link that is expected to have varying propagation
                charachteristics.
        </t>
	<t>
		Given the need for anti-replay protection, it is not possible
		to manually key the SAs. IKEv2 <xref target="RFC7296"/>
		SHOULD be used to establish SAs. Beyond the above, the exact
		details of the automatic keying protocol to use and its
		paramaters are not specified in this document.
	</t>
</section>

<section anchor="iana-considerations" title="IANA Considerations">
<t>
	Protocol number 93 is assigned in <xref target="protocol-numbers"></xref> and
	should be updated to point to this document.
</t>
</section>

<section anchor="acknowledgements" title="Acknowledgements">
<t>
	The author would like to acknowledge the work of Brian Kantor
	who authored the original specification <xref target="RFC1226"></xref>
	that this document updates.
</t>
</section>

</middle>

<back>
<references title="Normative References">
&RFC2119;
&RFC2410;
&RFC2474;
&RFC2597;
&RFC4301;
&RFC4303;
&RFC5840;
<reference anchor="AX.25" target="https://www.tapr.org/pdf/AX25.2.2.pdf">
<front>
<title>AX.25 Link Access Protocol for Amateur Packet Radio Version 2.2</title>
<author><organization>Tucson Amateur Packet Radio Corporation</organization></author>
<date year="1998" month="July" />
</front>
</reference>
<reference anchor="protocol-numbers" target="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml">
<front>
<title>Assigned Internet Protocol Numbers</title>
<author><organization>IANA</organization></author>
<date></date>
</front>
</reference>
<reference anchor="RR-bits" target="http://aprs.org/aprs12/RR-bits.txt">
<front>
<title>APRS Future Use of AX.25 SSID RR Bits</title>
<author initials="B." surname="Bruninga"><organization /></author>
<date year="2012" month="December" day="5" />
</front>
</reference>
</references>

<references title="Informative References">
&Cust18;
&RFC1226;
&RFC7296;
<reference anchor="APRS" target="http://www.aprs.org/doc/APRS101.PDF">
<front>
<title>APRS Protocol Reference</title>
<author initials="I." surname="Wade" role="editor"><organization>APRS Working Group</organization></author>
<date year="2000" month="August"/>
</front>
</reference>
<reference anchor="APRS-IS" target="http://www.aprs-is.net/">
<front>
<title>APRS-IS</title>
<author initials="P." surname="Loveall"/>
<date/>
</front>
</reference>
<reference anchor="Part97.111" target="https://www.ecfr.gov/cgi-bin/text-idx?node=pt47.5.97&amp;rgn=div5#se47.5.97_1111">
<front>
<title>Electronic Code of Federal Regulations Title 47, Part 97.111 - Authorized transmissions</title>
<author><organization>e-CFR</organization></author>
<date/>
</front>
</reference>
<reference anchor="Part97.113" target="https://www.ecfr.gov/cgi-bin/text-idx?node=pt47.5.97&amp;rgn=div5#se47.5.97_1113">
<front>
<title>Electronic Code of Federal Regulations Title 47, Part 97.113 - Prohibited transmissions</title>
<author><organization>e-CFR</organization></author>
<date/>
</front>
</reference>
<reference anchor="OfcomTerms" target="https://www.ofcom.org.uk/__data/assets/pdf_file/0027/62991/amateur-terms.pdf">
<front>
<title>UK Amateur Radio Licence Section 2</title>
<author><organization>Ofcom</organization></author>
<date/>
</front>
</reference>
</references>
</back>

</rfc>
