IPv6 over ARCnet: Transmission of IPv6 Packets over ARCnet Networks
How IPv6 packets are carried on ARCnet, and how IPv6 addresses are built from ARCnet addresses.
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.
ISO Plain Language
On this page
§1What This Document Covers
This memo specifies a frame format for transmission of 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 RFC 2461, when those messages are transmitted on an ARCnet.
The document covers three things: how an IPv6 packet is put into an ARCnet frame, how a computer builds its own IPv6 address from its ARCnet address, and how neighbour discovery messages carry that ARCnet address.
§2The Frame Format
IPv6 packets are link layer fragmented and reassembled according to the ARCNET Packet Header Definition Standard, and a brief but sufficient discussion of this fragmentation method can be found in the earlier document on transmitting IP traffic over ARCNET networks.
The protocol ID, called the System Code in ARCnet terminology, assigned to IPv6 is C4 hexadecimal.
Each IPv6 packet goes into an ARCnet frame with a system code saying which protocol it carries, and the value for IPv6 is C4 in hexadecimal. Large packets are split and put back together at the link layer, following the ARCnet packet header standard.
§3Maximum 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 packets on an ARCnet is 9072 octets.
In the presence of a router, this size MAY be changed by a Router Advertisement 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 that are larger than their configured maximum transmission unit and are not required to discard them. If they cannot handle larger datagrams, they MAY log the event to system administration but MUST otherwise silently discard them.
The largest packet the method could carry is 60480 bytes, but sending one that size would take several seconds, so every implementation on the network is expected to agree on something smaller. The default is 9072 bytes, and a router can announce a different value.
§4Building the Interface Identifier
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 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 Identifier, it MUST form that identifier as specified in the addressing architecture specification, in the section on links with a 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, the identifier is 56 zero bits followed by the eight bits 0001001, which results in the universal/local bit set to 0 to indicate local scope.
An IPv6 address prefix used for stateless auto-configuration of an ARCnet interface MUST have a length of 64 bits.
Each IPv6 address ends with a part that is unique to the network card, called the interface identifier. On ARCnet there are two ways to make it: use the card's own hardware address if it has one, or simply pad the 8-bit ARCnet address with zeros. Either way the result is marked as local in scope.
- From a hardware addressUse the EUI-64 of the interface, with the universal/local bit complemented.
- From the ARCnet addressAppend the 8-bit manually configured ARCnet address to 56 zero bits.
§5Link-Local Addresses
The IPv6 link-local address for an ARCnet interface is formed by appending the Interface Identifier, as defined above, to the prefix FE80::/64. The address therefore has ten bits of prefix, 54 bits of zeros and the 64-bit interface identifier.
The address that only works on this one network is the usual FE80:: prefix followed by the interface identifier that was just described.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
PREFIX | Prefix | 10 bits | The ten bits 1111111010, the start of FE80::/64. | |
ZEROS | Zeros | 54 bits | 54 zero bits. | |
INTERFACE-IDENTIFIER | Interface Identifier | 8 bytes | The identifier formed from the ARCnet address. |
§6Mapping IPv6 Addresses onto ARCnet
The procedure for mapping IPv6 addresses into ARCnet link-layer addresses is described in the neighbour discovery specification. The Source/Target link-layer address option has the form shown in the RFC when the link layer is ARCnet. The Type field is 1 for a Source Link-layer address and 2 for a Target Link-layer address. The Length field is 1, in units of 8 octets. The ARCnet address field holds the 8-bit ARCnet address in canonical bit order, followed by 5 octets of padding.
For multicast, ARCnet only provides one multicast address, 00 hexadecimal, so all IPv6 multicast addresses MUST be mapped to this address.
Neighbour discovery messages carry the ARCnet address of the sender or receiver in a small option. Because ARCnet has only one multicast address, every IPv6 multicast group maps onto the same one.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 1 byte | 1 for a source link-layer address, 2 for a 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 filling out the option. |
§8Security 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.
Building the interface identifier from the ARCnet address keeps addresses different from each other in most cases, but nothing stops two of them being the same by accident or on purpose.