RFC 1051

Standard for the transmission of IP datagrams and ARP packets over ARCNET networks

πŸ“… published March 1988, from ietf

A Standard for the Transmission of IP Datagrams and ARP Packets over ARCNET Networks πŸŽ€

Okay bestie, here's the title block first πŸ¦‹ It's from the Network Working Group, it's RFC 1051, written by P. Prindeville of McGill University, dated March 1988. It's a standard protocol for the Internet community ✨ It doesn't list anything it obsoletes or updates, so no drama there πŸ’…


Status of this Memo πŸ’–

Okay so this one is a standard protocol for the whole Internet community, and anyone can pass the memo around with no limits 🌈

Introduction 🧚

This RFC lays out a standard way to wrap up Internet Protocol (IP) [1] and Address Resolution Protocol (ARP) [2] datagrams so they can ride over an ARCNET [3] ✨

Acknowledgements 🫢

The author wants to give a big thank you to Robert Craig of the McGill University Computing Centre and Bruce Hughes of Datapoint Corporation, who were super generous with facilities and information πŸ’œ Shoutout also to the readers of the PCIP mailing list for their helpful ideas and comments 🌸

Frame Format 🌸

IP and ARP datagrams get sent in standard ARCNET packets. Datapoint Corporation wants the first octet of the data field reserved for the network layer protocol identification (the "system code" in Datapoint nomenclature), and it 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 with 1-253 octets of data (normal format) and 257-508 octets of data (extended format), inclusive of system code. Note that there's a range of data lengths (254-256) that's 'forbidden' πŸ™ˆ IP packets in 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 don't 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 that don't support 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      +
                                        |                |
                                        +----------------+

Here's what all the labels mean 🧚

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 use the last eight bits of the 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, so 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.

πŸ“¦ where this page comes from