IPv6 over ARCnet: Transmission of IPv6 Packets over ARCnet Networks
How IPv6 packets travel over ARCnet: frame type, MTU, address formation and the neighbor discovery option.
Souvatzis, I., "Transmission of IPv6 Packets over ARCnet Networks", RFC 2497, DOI 10.17487/RFC2497, January 1999, <https://www.rfc-editor.org/info/rfc2497>.
@misc{rfc2497,
series = {Request for Comments},
number = 2497,
howpublished = {RFC 2497},
publisher = {RFC Editor},
doi = {10.17487/RFC2497},
url = {https://www.rfc-editor.org/info/rfc2497},
author = {I. Souvatzis},
title = {{Transmission of IPv6 Packets over ARCnet Networks}},
pagetotal = 6,
year = 1999,
month = jan,
} RFC text
Contents
Network Working Group I. Souvatzis
Request for Comments: 2497 The NetBSD Project
See Also: 1201 January 1999
Category: Standards Track
Transmission of IPv6 Packets over ARCnet Networks
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
1. Introduction
This memo specifies a frame format for transmission of IPv6 [IPV6]
packets and the method of forming IPv6 link-local and statelessly
autoconfigured addresses on ARCnet networks. It also specifies the
content of the Source/Target Link-layer Address option used by the
Router Solicitation, Router Advertisement, Neighbor Solicitation,
Neighbor Advertisement and Redirect messages described in [DISC],
when those messages are transmitted on an ARCnet.
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 RFC 2119
[KWORD].
2. Frame Format
IPv6 packets are link layer fragmented and reassembled according to
[PHDS]. A brief but sufficient discussion of this fragmentation
method can be found in [ARCIPV4].
The protocol ID (System Code in ARCnet terminology) assigned to IPv6
is C4 hexadecimal.
3. Maximum Transmission Unit
The maximum IPv6 packet length possible using this encapsulation
method is 60480 octets. Since this length is impractical because of
its worst case transmission time of several seconds, all ARCnet
implementations on a given ARCnet network should agree on a smaller
value.
The default MTU for IPv6 [IPV6] packets on an ARCnet is 9072 octets.
In the presence of a router, this size MAY be changed by a Router
Advertisement [DISC] containing an MTU option. If a Router
Advertisement is received with an MTU option specifying an MTU larger
than 60480, or larger than a manually configured value less than
60480, that MTU option may be logged to system management but MUST be
otherwise ignored.
If no router is available, the local MTU MUST be left at 9072 or MUST
be manually configured to the same different value on all connected
stations.
Implementations MAY accept arriving IPv6 datagrams which are larger
than their configured maximum transmission unit. They are not
required to discard such datagrams. If they can not handle larger
datagrams, they MAY log the event to the system administration, but
MUST otherwise silently discard them.
4. Stateless Auto-configuration
If a node has an EUI-64 which is not used to form the Interface
Identifier for any other interface, it SHOULD use that EUI-64 to form
the Interface Identifier for its ARCnet interface. If that EUI-64 is
in use for another interface attached to a different link, it MAY be
used for the ARCnet interface as well.
The Interface Identifier is then formed from the EUI-64 by
complementing the "Universal/Local" (U/L) bit, which is the next-
to-lowest order bit of the first octet of the EUI-64.
When a node has no EUI-64 available for forming its ARCnet Interface
Identifer, it MUST form that identifier as specified in [AARCH],
Appendix A, section "Links with Non-Global Identifier". That is, the
8 bit manually configured ARCnet address is appended to the 56 zero
bits.
For example, for an ARCnet interface with the configured address of
49 hexadecimal this results in the following identifier:
|0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+
|0000000000000000|0000000000000000|0000000000000000|0000000001001001|
+----------------+----------------+----------------+----------------+
Note that this results in the universal/local bit set to "0" to
indicate local scope.
An IPv6 address prefix used for stateless auto-configuration [ACONF]
of an ARCnet interface MUST have a length of 64 bits.
5. Link-Local Addresses
The IPv6 link-local address [AARCH] for an ARCnet interface is formed
by appending the Interface Identifier, as defined above, to the
prefix FE80::/64.
10 bits 54 bits 64 bits
+----------+-----------------------+----------------------------+
|1111111010| (zeros) | Interface Identifier |
+----------+-----------------------+----------------------------+
6. Address Mapping -- Unicast
The procedure for mapping IPv6 addresses into ARCnet link-layer
addresses is described in [DISC]. The Source/Target link layer
Address option has the following form when the link layer is ARCnet.
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ARCnet address | |
+---------------+ -+
| |
+- 5 octets of padding -+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Option fields:
Type 1 for Source Link-layer address.
2 for Target Link-layer address.
Length 1 (in units of 8 octets).
ARCnet address The 8 bit ARCnet address, in canonical bit order.
7. Address Mapping -- Multicast
As ARCnet only provides 1 multicast address (00 hexadecimal), all
IPv6 multicast addresses MUST be mapped to this address.
8. Security Considerations
The method of derivation of Interface Identifiers from ARCnet
addresses is intended to preserve local uniqueness when possible.
However, there is no protection from duplication through accident or
forgery.
9. Acknowledgements
Big parts of the new version of this memo are either based on
[ETHIPV6] or on Matt Crawford's review of an earlier version.
10. References
[AARCH] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
[ACONF] Thomson, S. and T. Narten, "IPv6 Stateless Address
Autoconfiguration", RFC 2462, December 1998.
[ARCIPV4] Provan, D., "Transmitting IP Traffic over ARCNET Networks",
RFC1201, Novell, Inc., February 1991.
[DISC] Narten, T., Nordmark, E. and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461, December
1998.
[ETHIPV6] Crawford, M., "Transmission of IPv6 Packets over Ethernet
Networks", RFC 2464, December 1998.
[EUI64] "64-Bit Global Identifier Format Tutorial", http://stan�
dards.ieee.org/db/oui/tutorials/EUI64.html.
[IPV6] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[KWORD] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[PHDS] Novell, Inc., "ARCNET Packet Header Definition Standard",
Novell Part Number 100-00721-001, November 1989.
11. Author's Address
Ignatios Souvatzis
The NetBSD Project
Stationenweg 29
D-53332 Bornheim
Germany
Phone (work): +49 (228) 734316
EMail: is@netbsd.org
12. Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
AI ELI5
On this page
§1What the RFC Specifies
RFC 2497 specifies a frame format for sending IPv6 packets over ARCnet and the way to form IPv6 link-local and statelessly autoconfigured addresses there. It also defines the Source/Target Link-layer Address option used by the Router Solicitation, Router Advertisement, Neighbor Solicitation, Neighbor Advertisement and Redirect messages of RFC 2461 when they are sent on an ARCnet.
It is a short rulebook for using the new internet addressing on one particular old kind of network.
§2Frame Format and Protocol ID
IPv6 packets are fragmented and reassembled at the link layer according to the ARCNET Packet Header Definition Standard. A short description of the method is in RFC 1201, the IPv4 over ARCNET specification.
The protocol ID, called the System Code in ARCnet terms, assigned to IPv6 is C4 hexadecimal.
Big messages are cut into pieces for the network and glued back together at the other end. A special code, C4, tells the receiver the pieces hold IPv6.
§3Maximum Transmission Unit
The largest IPv6 packet this encapsulation can carry is 60480 octets. That is impractical because the worst-case transmission time is several seconds, so all implementations on a given ARCnet should agree on a smaller value. The default MTU is 9072 octets.
With a router present, the MTU MAY be changed by a Router Advertisement carrying an MTU option. If the advertised MTU is larger than 60480, or larger than a manually configured value below 60480, it may be logged but MUST otherwise be ignored. With no router, the MTU MUST stay at 9072 or be manually set to the same value on all connected stations.
Implementations MAY accept arriving datagrams larger than their configured MTU. If they cannot handle them, they MAY log the event and MUST otherwise silently discard them.
Messages have a size limit, like a box that only holds so much. Everyone on the network should use the same box size, or the bigger boxes get thrown away.
§4Interface Identifiers and Link-Local Addresses
If a node has an EUI-64 not used for another interface, it SHOULD use it for its ARCnet interface. If that EUI-64 serves another interface on a different link, it MAY be reused. The Interface Identifier is the EUI-64 with the Universal/Local bit complemented.
With no EUI-64, the node MUST follow Appendix A of RFC 2373: the 8-bit manually configured ARCnet address is appended to 56 zero bits. For the address 49 hexadecimal this gives 56 zero bits followed by 01001001, which leaves the universal/local bit at 0 for local scope.
A prefix used for stateless autoconfiguration (RFC 2462) on ARCnet MUST be 64 bits long. The link-local address is the prefix FE80::/64 followed by the Interface Identifier.
A computer with a serial number built into its card uses that to make its address. If it has none, it uses the small number someone set by hand and fills the rest with zeros.
§6Address Mapping
Unicast mapping follows RFC 2461. On ARCnet the Source/Target Link-layer Address option has a Type (1 for source, 2 for target), a Length of 1 (in units of 8 octets), the 8-bit ARCnet address in canonical bit order, and 5 octets of padding.
ARCnet offers only one multicast address, 00 hexadecimal, so all IPv6 multicast addresses MUST be mapped to it.
To find a neighbor, a computer asks for its hardware number, which is just one small byte here. Every group message goes to the one shared address that ARCnet has for groups.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 1 byte | 1 for source, 2 for target link-layer address. | |
LENGTH | Length | 1 byte | 1 | 1, in units of 8 octets. |
ARCNET-ADDRESS | ARCnet address | 1 byte | The 8-bit ARCnet address, in canonical bit order. | |
PADDING | Padding | 5 bytes | 5 octets of padding. |
§8Security Considerations
Deriving Interface Identifiers from ARCnet addresses is intended to preserve local uniqueness where possible. The RFC notes that there is no protection from duplication through accident or forgery.
Nothing stops two computers from picking the same address, by mistake or on purpose.