    Network Working Group                                    P. Prindeville
    Request for Comments:  1051                           McGill University
                                                                 March 1988

                A Standard for the Transmission of IP Datagrams
                      and ARP Packets over ARCNET Networks

    Status of this Memo

       This RFC specifies a standard protocol for the Internet community.
       Distribution of this memo is unlimited.

    Introduction

       This RFC specifies a standard method of encapsulating Internet
       Protocol (IP) [1] and Address Resolution Protocol (ARP) [2] datagrams
       on an ARCNET [3].

    Acknowledgements

       The author wishes to express thanks to Robert Craig of the McGill
       University Computing Centre and Bruce Hughes of Datapoint Corporation
       for their generous support of facilities and information.  I also
       extend my gratitude to the readers of the PCIP mailing list for their
       helpful ideas and comments.

    Frame Format

       IP and ARP datagrams are transmitted in standard ARCNET packets.  As
       required by Datapoint Corporation, the first octet of the data field
       is reserved for the network layer protocol identification (the
       "system code" in Datapoint nomenclature), and must contain the value
       240 (F0 hex) for IP or 241 (F1 hex) for ARP.  The ARP hardware
       address type for ARCNET is 7 [9].

       ARCNET supports packet formats containing 1-253 octets of data
       (normal format) and 257-508 octets of data (extended format),
       inclusive of system code.  Note that there exists a range of data
       lengths (254-256) which are 'forbidden'.  IP packets within this
       range should be padded (with octets of zero) to meet the minimum
       extended packet size of 257 data octets.  This padding is not part of
       the IP packet and is not included in the total length field of the IP
       header.

    Prindeville                                                     [Page 1]

    RFC 1051                  IP and ARP on ARCNET                March 1988

       On networks where some hosts do not support extended packet format,
       the IP Maximum Transmission Unit (MTU) should be set to 253, though
       implementors are encouraged to support the extended packet format
       mode of operation.

       Because the ARCNET maximum packet length is less than the Internet
       default MTU, implementations are strongly encouraged to support IP
       level fragmentation and reassembly.  Hosts not supporting this should
       take steps to discourage others from sending fragmented packets, such
       as using the TCP Maximum Segment Size option [4].

          The frame format is:

                      Normal Packet               Extended Packet
                    +----------------+          +----------------+
                    |     ALERT*     |          |     ALERT*     |
                    +----------------+          +----------------+
                    |      SOH (1)   |          |      SOH (1)   |
                    +----------------+          +----------------+
                    |      SID       |          |      SID       |
                    +----------------+          +----------------+
                    |                |          |                |
                    +      DID       +          +      DID       +
                    |                |          |                |
                    +----------------+          +----------------+
                    |     COUNT      |          |      NUL (0)   |
                    +----------------+          +                +
                    |  SYSTEM CODE   |          |     COUNT      |
                    +----------------+          +----------------+
                    |                |          |  SYSTEM CODE   |
                    :      DATA      :          +----------------+
                    |                |          |                |
                    +----------------+          :      DATA      :
                    |                |          |                |
                    +       CRC      +          +----------------+
                    |                |          |                |
                    +----------------+          +       CRC      +
                                                |                |
                                                +----------------+

          ALERT*:      Six mark bits signifying the beginning of a frame.
          SID:         Sender's node ID.
          DID:         Receipient's node ID (repeated for reliability).
          COUNT:       Length of data and system code (one's complement).
          SYSTEM CODE: 240 for IP, 241 for ARP (decimal).
          DATA:        Is either an IP or an ARP packet, padded with NULs so
                          as to not be between 254 and 256 octets long.
          CRC:         Cyclic redundancy check (CRC-16).

    Prindeville                                                     [Page 2]

    RFC 1051                  IP and ARP on ARCNET                March 1988

    Address Mappings

       The mappings between 32-bit Internet addresses to 8-bit ARCNET
       addresses can be done several ways, recommended are:

       Host Number Extraction

          The easiest thing to do is to use the last eight bits of host
          number part of the Internet address as the host's node id.  This
          has been implemented on Experimental Ethernet [5] and ProNET-10
          [6].

       Dynamic Discovery

          Mappings between 32-bit Internet addresses and 8-bit ARCNET node
          ids could be accomplished through ARP.  Internet addresses are
          assigned arbitrarily on some Internet networks.  All
          implementations supporting ARP must have a means of disabling ARP
          and using the above Host Number Extraction method of address
          mapping so that systems may interoperate.

          The use of ARP is optional.  However, ARP is desirable when using
          IP implementations that don't support subnetting [7], as in the
          Proxy ARP scenario [8].

    Broadcast Address

       The broadcast Internet address (the address on the network with a
       host part of all binary ones) should be mapped to the broadcast node
       id 0.

    Prindeville                                                     [Page 3]

    RFC 1051                  IP and ARP on ARCNET                March 1988

    References

       [1] Postel, J., "Internet Protocol", RFC-791, Network Information
           Center, SRI, September 1981.

       [2] Plummer, D., "An Ethernet Address Resolution Protocol", RFC- 826,
           Network Information Center, SRI, November 1982.

       [3] "ARCNET Designer's Handbook", Order Number 61610, Datapoint
           Corporation, 1983.

       [4] Postel, J., "The TCP Maximum Segment Size Option and Related
           Topics", RFC-879, Network Information Center, SRI, November 1983.

       [5] Postel, J., "A Standard for the Transmission of IP Datagrams over
           Experimental Ethernet Networks", RFC-895, Network Information
           Center, SRI, April 1984.

       [6] "ProNET-10 Model p1300 IBM PC Interface System Installation and
           Programming Guide", Version 4.0, Proteon Inc., July 1986.

       [7] Mogul, J. and J. Postel, "Internet Standard Subnetting
           Procedure", RFC-950, Network Information Center, SRI, October
           1984.

       [8] Carl-Mitchell, S. and J.S. Quarterman, "Using ARP to Implement
           Transparent Subnet Gateways", RFC-1027, Network Information
           Center, SRI, October 1987.

       [9] Reynolds, J., and J. Postel, "Assigned Numbers", RFC-1010,
           Network Information Center, SRI, May 1987.

    Prindeville                                                     [Page 4]