RFC 2467

Transmission of IPv6 Packets over FDDI Networks

πŸ“… published December 1998, from ietf

RFC 2467: Transmission of IPv6 Packets over FDDI Networks πŸ’–

Okay bestie, here's the basic tea 🫢 This is RFC 2467, titled Transmission of IPv6 Packets over FDDI Networks. M. Crawford from Fermilab wrote it, it's dated December 1998, and it's on the Standards Track πŸŽ€. It obsoletes RFC 2019, so that older doc is basically retired now πŸ™ˆ

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 (C) The Internet Society (1998). All Rights Reserved.

1. Introduction πŸ¦‹

Okay so this doc spells out how IPv6 packets get framed when they travel over FDDI networks πŸ’… It also explains how to build IPv6 link-local addresses and statelessly autoconfigured addresses on FDDI, which is so iconic. Plus it covers what goes inside the Source/Target Link-layer Address option when that option shows up in Router Solicitation, Router Advertisement, Neighbor Solicitation, Neighbor Advertisement, and Redirect messages on an FDDI network πŸ”₯

This document replaces RFC 2019, "Transmission of IPv6 Packets Over FDDI", which will become historic πŸ’€

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]. ✨

2. Maximum Transmission Unit πŸ“

Okay, the FDDI frame can be up to 4500 octets (9000 symbols) long, and that's including at least 22 octets (44 symbols) of Data Link encapsulation when long-format addresses are used 😭 If you subtract the 8 octets of LLC/SNAP header, the IPv6 [IPV6] packet in the Information field could, in principle, be up to 4470 octets. But it's lowkey smart to leave room for variable sizes and possible future extensions of the MAC header and frame status fields 🧚 So the default MTU for IPv6 packets on an FDDI network is 4352 octets, and that's the number to know ✨

This size can get reduced by a Router Advertisement [DISC] with an MTU option that specifies a smaller MTU, or by manual configuration of each node πŸ’… If a Router Advertisement arrives on an FDDI interface with an MTU option that's larger than 4352, or larger than a manually configured value, that MTU option may be logged to system management, but it must be otherwise ignored. Main character energy for the router, not so much for the MTU πŸ™ˆ

For purposes of this document, information received from DHCP counts as "manually configured", and the term FDDI includes CDDI πŸŽ€

3. Frame Format 🌈

FDDI supports both synchronous and asynchronous transmission, and the asynchronous kind is split up further by restricted and unrestricted tokens 🫢 Only asynchronous transmission with unrestricted tokens is required for FDDI interoperability. So IPv6 packets shall be sent in asynchronous frames using unrestricted tokens. The robustness principle says nodes should be able to receive synchronous frames and asynchronous frames sent using restricted tokens, which is giving thoughtful and kind 🌸

IPv6 packets get sent in LLC/SNAP frames, using long-format (48 bit) addresses. The data field holds the IPv6 header and payload, and then comes the FDDI Frame Check Sequence, Ending Delimiter, and Frame Status symbols πŸ”₯

                      0                   1
                      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
                                     +-+-+-+-+-+-+-+-+
                                     |      FC       |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |          Destination          |
                     +-                             -+
                     |             FDDI              |
                     +-                             -+
                     |            Address            |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |            Source             |
                     +-                             -+
                     |             FDDI              |
                     +-                             -+
                     |            Address            |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |     DSAP      |     SSAP      |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |      CTL      |      OUI ...  |
                     +-+-+-+-+-+-+-+-+               +
                     |          ... OUI              |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |           Ethertype           |
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     |             IPv6              |
                     +-                             -+
                     |            header             |
                     +-                             -+
                     |             and               |
                     +-                             -+
                     /            payload ...        /
                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    (Each tic mark represents one bit.)

Here are the FDDI header fields, babe πŸ¦‹

  • FC: The Frame Code must be in the range 50 to 57 hexadecimal, inclusive, and the three low order bits show the frame priority.
  • DSAP, SSAP: Both of these fields shall contain the value AA hexadecimal, which means SNAP encapsulation.
  • CTL: The Control field shall be set to 03 hexadecimal, meaning Unnumbered Information.
  • OUI: The Organizationally Unique Identifier shall be set to 000000 hexadecimal.
  • Ethertype: The Ethernet protocol type ("ethertype") shall be set to the value 86DD hexadecimal.

4. Interaction with Bridges 🌷

802.1d MAC bridges that connect different media, like Ethernet and FDDI, are super widespread now 🧚 Some of them do IPv4 packet fragmentation and/or support IPv4 Path MTU discovery [RFC 1981], and lots of others don't, or they do it wrong 😭 So use of IPv6 in a bridged mixed-media environment must not depend on support from MAC bridges, unless those bridges are known to correctly implement IPv6 Path MTU Discovery [RFC 1981, ICMPV6]. Don't rely on the bridge, bestie πŸ’…

For things to work right when mixed media get bridged together by bridges that don't support IPv6 Path MTU Discovery, the smallest MTU of all the media must be advertised by routers in an MTU option. If there are no routers present, this MTU must be manually configured in each node that's connected to a medium with a default MTU larger than the smallest MTU πŸŽ€

5. Stateless Autoconfiguration πŸ”₯

The Interface Identifier [AARCH] for an FDDI interface is based on the EUI-64 identifier [EUI64], which is derived from the interface's built-in 48-bit IEEE 802 address. Here's how the EUI-64 gets formed. (Canonical bit order is assumed throughout. See [CANON] for a caution on bit-order effects in LAN interfaces.) πŸ¦‹

The OUI of the FDDI MAC address (the first three octets) becomes the company_id of the EUI-64 (also the first three octets). The fourth and fifth octets of the EUI are set to the fixed value FFFE hexadecimal. The last three octets of the FDDI MAC address become the last three octets of the EUI-64 ✨

Then the Interface Identifier gets 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. For more on this, check out [ETHER] and [AARCH] 🧚

For example, the Interface Identifier for an FDDI interface whose built-in address is, in hexadecimal:

                         34-56-78-9A-BC-DE

would be:

                      36-56-78-FF-FE-9A-BC-DE

A different MAC address set manually or by software should not be used to derive the Interface Identifier. If such a MAC address absolutely has to be used, its global uniqueness property should be reflected in the value of the U/L bit πŸ™ˆ

An IPv6 address prefix used for stateless autoconfiguration [ACONF] of an FDDI interface must have a length of 64 bits 🌈

The IPv6 link-local address [AARCH] for an FDDI 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    |
+----------+-----------------------+----------------------------+

7. Address Mapping -- Unicast πŸ“

The procedure for mapping IPv6 unicast addresses into FDDI link-layer addresses is described in [DISC]. The Source/Target Link-layer Address option has the following form when the link layer is FDDI πŸ’…

              0                   1
              0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |     Type      |    Length     |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |                               |
             +-            FDDI             -+
             |                               |
             +-           Address           -+
             |                               |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Here's what goes in the option fields 🧚

  • Type: 1 for Source Link-layer address, and 2 for Target Link-layer address.
  • Length: 1 (in units of 8 octets).
  • FDDI Address: The 48 bit FDDI IEEE 802 address, in canonical bit order. This is the address the interface currently responds to, and it may be different from the built-in address used to derive the Interface Identifier πŸŽ€

8. Address Mapping -- Multicast 🌈

An IPv6 packet with a multicast destination address DST, made up of the sixteen octets DST[1] through DST[16], gets transmitted to the FDDI multicast address. That address's first two octets are the value 3333 hexadecimal, and its last four octets are the last four octets of DST 🫢

             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |0 0 1 1 0 0 1 1|0 0 1 1 0 0 1 1|
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |   DST[13]     |   DST[14]     |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             |   DST[15]     |   DST[16]     |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

9. Differences From RFC 2019 πŸ”₯

Here are the functional differences between this spec and RFC 2019, so you're not caught off guard πŸ‘‘

"FDDI adjacency detection" has been removed, due to recent work in IEEE 802.1p.

The Address Token, which used to be a node's 48-bit MAC address, is replaced with the Interface Identifier. That one is 64 bits long and based on the EUI-64 format [EUI64]. There's an IEEE-defined mapping from 48-bit MAC addresses to EUI-64 form πŸ¦‹

A prefix used for stateless autoconfiguration must now be 64 bits long, not 80. The link-local prefix is also shortened to 64 bits ✨

10. Security Considerations πŸ’€

The method of deriving Interface Identifiers from MAC addresses is intended to preserve global uniqueness when possible. However, there is no protection from duplication through accident or forgery. Honestly, this is a real risk, so don't assume your addresses are safe just because they were derived from a MAC 😭🚨

11. References ✨

okay so bestie, this is the squad list πŸ“š every doc this one is built on, all listed right here so you can go find them 🫢

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

[CANON] Narten, T. and C. Burton, "A Caution On The Canonical
        Ordering Of Link-Layer Addresses", RFC 2469, December 1998.

[DISC]  Narten, T., Nordmark, E. and W. Simpson, "Neighbor Discovery
        for IP Version 6 (IPv6)", RFC 2461, December 1998.

[ETHER] Crawford, M., "Transmission of IPv6 Packets over Ethernet
        Networks", RFC 2464, December 1998.

[EUI64] "Guidelines For 64-bit Global Identifier (EUI-64)",
        http://standards.ieee.org/db/oui/tutorials/EUI64.html.

[ICMPV6]  Conta, A. and S. Deering, "Internet Control Message
          Protocol (ICMPv6) for the Internet Protocol Version 6
          (IPv6) Specification", RFC 2463, December 1998.

[IPV6]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
        (IPv6) Specification", RFC 2460, December 1998.

[RFC 1981]  McCann, J., Deering, S. and J. Mogul, "Path MTU Discovery
            for IP version 6", RFC 1981, August 1996.

[RFC 2119]  Bradner, S., "Key words for use in RFCs to Indicate
            Requirement Levels", BCP 14, RFC 2119, March 1997.

12. Author's Address πŸŽ€

this is where you find the author πŸ’Œ

Matt Crawford
Fermilab MS 368
PO Box 500
Batavia, IL 60510
USA

Phone: +1 630 840-3461
EMail: crawdad@fnal.gov

the legal part, kept word for word so nothing gets lost in translation πŸ™ˆ

Copyright (C) The Internet Society (1998).  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.
πŸ“¦ where this page comes from