Network Working Group
Request for Comments: 1051
P. Prindeville
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.

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).

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.

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.