RFC 1390
Transmission of IP and ARP over FDDI Networks
RFC 1390: Transmission of IP and ARP over FDDI Networks ๐ฆ
Okay bestie, the title block is giving classic early-90s standards doc โจ It's RFC 1390, written by D. Katz at cisco Systems, Inc. and dated January 1993. It's part of STD 36 and it's an IAB standards track protocol. The title block doesn't list anything it obsoletes or updates, so there's no drama there ๐
Status of This Memo ๐ธ
So this RFC specifies an IAB standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements ๐ซถ If you want to know where this protocol stands right now, check the current edition of the "IAB Official Protocol Standards" because that's the source of truth. Distribution of this memo is unlimited, so share it with everyone ๐
Abstract โจ
This memo defines a way to wrap up Internet Protocol (IP) datagrams and Address Resolution Protocol (ARP) requests and replies so they can ride over Fiber Distributed Data Interface (FDDI) networks ๐ง
This RFC is the product of the IP over FDDI Working Group of the Internet Engineering Task Force (IETF) ๐
Acknowledgments ๐
Okay so this memo takes a LOT of its concept and text from RFC 1042 [3], which was written by Jon Postel and Joyce K. Reynolds of USC/Information Sciences Institute. The author also shouts out the IP Over FDDI Working Group of the IETF, the members of ANSI ASC X3T9.5, and everyone else in the FDDI community ๐ซถ Main character energy of acknowledgments, honestly ๐
Conventions ๐
Here's the language rules this document uses for its items of specification, and I need you to memorize these:
"MUST," "SHALL," or "Mandatory"--the item is an absolute requirement of the specification. No wiggle room, bestie ๐ญ
"SHOULD" or "RECOMMENDED"--the item SHOULD generally be followed for all but exceptional circumstances. Usually you do it, unless something really unusual is going on ๐
"MAY" or "Optional"--the item is truly optional and MAY be followed or ignored according to the needs of the implementor. Your call, babe ๐ฆ
Introduction ๐ธ
The goal here is to get implementations that are compatible and interoperable when they transmit IP datagrams [1] and ARP requests and replies [2]. That's the whole mission โจ
Now the FDDI specs. They define a family of standards for Local Area Networks (LANs) that covers the Physical Layer and the Media Access Control Sublayer of the Data Link Layer, as laid out in the ISO Open System Interconnection Reference Model (ISO/OSI). Some of these are still moving through the process toward International Standardization: Media Access Control (MAC) [4], Physical Layer Protocol (PHY) [5], Physical Layer Medium Dependent (PMD) [6], and Station Management (SMT) [7]. The whole FDDI family lines up with the IEEE 802 MAC layer standards [8, 9, 10] ๐
The rest of the Data Link Service comes from the IEEE 802.2 Logical Link Control (LLC) service [11]. Put together, the stack looks like this:
+-------------+
| IP/ARP |
+-------------+
| 802.2 LLC |
+-------------+-----+
| FDDI MAC | F |
+-------------+ D S |
| FDDI PHY | D M |
+-------------+ I T |
| FDDI PMD | |
+-------------+-----+
This memo explains how IP and ARP work in this environment. Right now it's not necessary for IP and ARP to be consistent between FDDI and IEEE 802 networks, but the intent is to not block Data Link Layer interoperability once the standards define it ๐ฅ
The explicit goal here is to let IP and ARP interoperate between stations on FDDI networks and stations on Ethernet networks through translational bridges. That's the lowkey most important part ๐
The FDDI standards define both single and dual MAC stations. This document only covers using IP and ARP on single MAC stations, whether they're single-attach or dual-attach. Dual MAC stations are not part of this one ๐
Packet Format ๐ง
IP datagrams and ARP requests and replies sent on FDDI networks SHALL be encapsulated within the 802.2 LLC and Sub-Network Access Protocol (SNAP) [12] data link layers and the FDDI MAC and physical layers. The SNAP MUST be used with an Organization Code that indicates the SNAP header contains the EtherType code (as listed in Assigned Numbers [13]) โจ
802.2 LLC Type 1 communication (which MUST be implemented by all conforming 802.2 stations) is used exclusively. Every frame MUST be transmitted in standard 802.2 LLC Type 1 Unnumbered Information format, with the DSAP and the SSAP fields of the 802.2 header set to the assigned global SAP value for SNAP [11]. The 24-bit Organization Code in the SNAP MUST be zero, and the remaining 16 bits are the EtherType from Assigned Numbers [13] (IP = 2048, ARP = 2054). Those are the magic numbers ๐ฎ
Here's the layout, slay:
...--------+--------+--------+
MAC Header | FDDI MAC
...--------+--------+--------+
+--------+--------+--------+
| DSAP=K1| SSAP=K1| Control| 802.2 LLC
+--------+--------+--------+
+--------+--------+---------+--------+--------+
|Protocol Id or Org Code =K2| EtherType | 802.2 SNAP
+--------+--------+---------+--------+--------+
The total length of the LLC Header and the SNAP header is 8 octets. The K1 value is 170 (decimal). The K2 value is 0 (zero). The control value is 3 (Unnumbered Information) ๐
Address Resolution ๐ฆ
The mapping of 32-bit Internet addresses to 48-bit FDDI addresses SHALL be done through the dynamic discovery procedure of the Address Resolution Protocol (ARP) [2] ๐
Internet addresses are assigned arbitrarily on Internet networks. Each host's implementation MUST know its own Internet address and MUST respond to Address Resolution requests appropriately. It MUST also use ARP to translate Internet addresses to FDDI addresses when needed. Every host has to do the work, no exceptions ๐ญ
The ARP protocol has several fields that parameterize its use in any specific context [2]. Here they are:
hrd 16 - bits The Hardware Type Code
pro 16 - bits The Protocol Type Code
hln 8 - bits Octets in each hardware address
pln 8 - bits Octets in each protocol address
op 16 - bits Operation Code
The hardware type code assigned for IEEE 802 networks is 6 [13]. The hardware type code assigned for Ethernet networks is 1 [13]. Unfortunately, those different values between Ethernet and IEEE 802 networks cause interoperability problems in bridged environments ๐ So to avoid blocking interoperability with Ethernets in a bridged environment, ARP packets SHALL be transmitted with a hardware type code of 1. ARP packets SHALL be accepted if they're received with a hardware type code of 1 ๐ธ
The protocol type code for IP is 2048 [13]. The hardware address length is 6. The protocol address length (for IP) is 4. The operation code is 1 for request and 2 for reply โจ
To keep things working in a bridged environment, the hardware addresses in ARP packets (ar$sha, ar$tha) MUST be carried in "canonical" bit order, with the Group bit positioned as the low order bit of the first octet. FDDI addresses are normally written with the Group bit in the high order bit position, so the addresses MUST be bit-reversed within each octet. It's a whole flip, bestie ๐
Even though it's outside the scope of this document, it is RECOMMENDED that MAC addresses be represented in canonical order in all Network Layer protocols carried within the information field of an FDDI frame ๐
Part 1 of 2 โจ Part 2 picks up at Broadcast Address with the multicast mapping, trailers, and byte order, so stay tuned ๐ฆ
MAC Layer Details โจ
Packet Size ๐ฆ
okay so the FDDI MAC spec [4] defines a max frame size of 9000 symbols (4500 octets) for all frame fields, including four symbols (two octets) of preamble. that leaves roughly 4470 octets for data once you account for the LLC/SNAP header ๐ซถ
but bestie, the MAC header and frame status fields might get new stuff later, so it's desirable to reserve extra space for MAC overhead ๐ง
so the MTU of FDDI networks shall be 4352 octets ๐ that's 4096 octets of data plus 256 octets of headers at the network layer and above. implementations must not send packets larger than the MTU. no cap, that's a hard rule ๐ซ
gateways gotta be prepared to accept packets as large as the MTU and fragment them when necessary. gateway implementations should be able to accept packets as large as can be carried within a maximum size FDDI frame and fragment them ๐ฅ
hosts are a little different ๐ธ host implementations should be prepared to accept packets as large as the MTU; however, hosts must not send datagrams longer than 576 octets unless they have explicit knowledge that the destination is prepared to accept them. host implementations may accept packets as large as can be carried within a maximum size FDDI frame. a host may communicate its size preference in TCP-based applications via the TCP Maximum Segment Size option [17].
datagrams on FDDI networks may be longer than the general Internet default maximum packet size of 576 octets. hosts connected to an FDDI network should keep this in mind when sending datagrams to hosts that are not on the same local network. it may be appropriate to send smaller datagrams to avoid unnecessary fragmentation at intermediate gateways. please see [17] for further information ๐ฆ
there is no minimum packet size restriction on FDDI networks โจ
in order to not preclude interoperability with Ethernet in a bridged environment, FDDI implementations must be prepared to receive (and ignore) trailing pad octets ๐ซง
Other MAC Layer Issues ๐
the FDDI MAC spec does not require that 16-bit and 48-bit address stations be able to interwork fully. it does, however, require that 16-bit stations have full 48-bit functionality, and that both types of stations be able to receive frames sent to either size broadcast address. to avoid interoperability problems, only 48-bit addresses shall be used with IP and ARP ๐
the FDDI MAC spec defines two classes of LLC frames, Asynchronous and Synchronous. Asynchronous frames are further controlled by a priority mechanism and two classes of token, Restricted and Unrestricted. only the use of Unrestricted tokens and Asynchronous frames are required by the standard for FDDI interoperability ๐
all IP and ARP frames shall be transmitted as Asynchronous LLC frames using Unrestricted tokens, and the Priority value is a matter of local convention. implementations should make the priority a tunable parameter for future use. it is recommended that implementations provide for the reception of IP and ARP packets in Synchronous frames, as well as Restricted Asynchronous frames ๐
after packet transmission, FDDI provides Frame Copied (C) and Address Recognized (A) indicators. the use of these indicators is a local implementation decision. implementations may choose to perform link-level retransmission, ARP cache entry invalidation, etc., based on the values of these indicators and other information. the semantics of these indicators, especially in the presence of bridges, are not well defined as of this writing. implementors are urged to follow the work of ANSI ASC X3T9.5 in regard to this issue in order to avoid interoperability problems ๐
IEEE 802.2 Details ๐
while not necessary for supporting IP and ARP, all implementations must support IEEE 802.2 standard Class I service in order to be compliant with 802.2. the minimum functionality necessary for a conformant station is described below. some of the functions are not related directly to the support of the SNAP SAP (e.g., responding to XID and TEST commands directed to the null or global SAP addresses), but are part of a general LLC implementation. implementors should consult IEEE Std. 802.2 [11] for details ๐
802.2 Class I LLC requires the support of Unnumbered Information (UI) Commands, eXchange IDentification (XID) Commands and Responses, and TEST link (TEST) Commands and Responses. stations need not be able to transmit XID and TEST commands, but must be able to transmit responses ๐ซถ
Encodings ๐
command frames are identified by having the low order bit of the SSAP address reset to zero. response frames have the low order bit of the SSAP address set to one ๐
the UI command has an LLC control field value of 3 โจ
the XID command/response has an LLC control field value of 175 (decimal) if the Poll/Final bit is off or 191 (decimal) if the Poll/Final bit is on ๐ธ
the TEST command/response has an LLC control field value of 227 (decimal) if the Poll/Final bit is off or 243 (decimal) if the Poll/Final bit is on ๐ฆ
Elements of Procedure ๐ง
UI responses and UI commands with the Poll bit set shall be ignored. UI commands having other than the SNAP SAP in the DSAP or SSAP fields shall not be processed as IP or ARP packets ๐ซ
when an XID or TEST command is received, an appropriate response must be returned. XID and TEST commands must be responded to only if the DSAP is the SNAP SAP (170 decimal), the Null SAP (0 decimal), or the Global SAP (255 decimal). XID and TEST commands received with other DSAP values must not be responded to unless the station supports the addressed service. responses to XID and TEST frames shall be constructed as follows ๐
Destination MAC: Copied from Source MAC of the command
Source MAC: Set to the address of the MAC receiving the
command
DSAP: Copied from SSAP of the command
SSAP: Set to 171 decimal (SNAP SAP + Response bit) if the
DSAP in the command was the SNAP SAP or the Global SAP;
set to 1 decimal (Null SAP + Response bit) if the DSAP
in the command was the Null SAP
when responding to an XID or a TEST command, the value of the Final bit in the response must be copied from the value of the Poll bit in the command ๐
XID response frames must include an 802.2 XID Information field of 129.1.0 indicating Class I (connectionless) service ๐
TEST response frames must echo the information field received in the corresponding TEST command frame ๐
Appendix on Numbers ๐ข
the IEEE specifies numbers as bit strings with the least significant bit first, or bit-wise little-endian order. the Internet protocols are documented in bit-wise big-endian order. this may cause some confusion about the proper values to use for numbers. here are the conversions for some numbers of interest ๐ง
Number IEEE Internet Internet
Binary Binary Decimal
UI 11000000 00000011 3
SAP for SNAP 01010101 10101010 170
Global SAP 11111111 11111111 255
Null SAP 00000000 00000000 0
XID 11110101 10101111 175
XID Poll/Final 11111101 10111111 191
XID Info 129.1.0
TEST 11000111 11100011 227
TEST Poll/Final 11001111 11110011 243
Differences between this document and RFC 1188 ๐
the following is a summary of the differences between RFC 1188 and this document:
- A reference to a future dual-MAC document has been removed.
- A statement of explicit intent to support FDDI/Ethernet interoperability has been added.
- The acceptance of ARP frames bearing hardware type code 6 (IEEE 802) has been removed.
- The references have been updated.
- The author's address has been updated.
References ๐
- [1] Postel, J., "Internet Protocol", STD 5, RFC 791, USC/Information Sciences Institute, September 1981.
- [2] Plummer, D., "An Ethernet Address Resolution Protocol - or - Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware", RFC 826, MIT, November 1982.
- [3] Postel, J., and J. Reynolds, "A Standard for the Transmission of IP Datagrams over IEEE 802 Networks", RFC 1042, USC/Information Sciences Institute, February 1988.
- [4] ISO, "Fiber Distributed Data Interface (FDDI) - Media Access Control", ISO 9314-2, 1989. See also ANSI X3.139-1987.
- [5] ISO, "Fiber Distributed Data Interface (FDDI) - Token Ring Physical Layer Protocol", ISO 9314-1, 1989. See also ANSI X3.148-1988.
- [6] ISO, "Fiber Distributed Data Interface (FDDI) - Physical Layer Medium Dependent", ISO DIS 9314-3, 1989. See also ANSI X3.166-199x.
- [7] ANSI, "FDDI Station Management", ANSI X3T9.5/84-49 Rev 7.1, 1992.
- [8] IEEE, "IEEE Standards for Local Area Networks: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications", IEEE, New York, New York, 1985.
- [9] IEEE, "IEEE Standards for Local Area Networks: Token-Passing Bus Access Method and Physical Layer Specification", IEEE, New York, New York, 1985.
- [10] IEEE, "IEEE Standards for Local Area Networks: Token Ring Access Method and Physical Layer Specifications", IEEE, New York, New York, 1985.
- [11] IEEE, "IEEE Standards for Local Area Networks: Logical Link Control", IEEE, New York, New York, 1985.
- [12] IEEE, "Draft Standard P802.1A--Overview and Architecture", 1989.
- [13] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1340, USC/Information Sciences Institute, July 1992.
- [14] Braden, R., and J. Postel, "Requirements for Internet Gateways", STD 4, RFC 1009, USC/Information Sciences Institute, June 1987.
- [15] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC 1112, Stanford University, August 1989.
- [16] Cohen, D., "On Holy Wars and a Plea for Peace", Computer, IEEE, October 1981.
- [17] Postel, J., "The TCP Maximum Segment Size Option and Related Topics", RFC 879, USC/Information Sciences Institute, November 1983.
Security Considerations ๐
security issues are not discussed in this memo ๐ฌ that's the whole section, bestie, so nothing extra from me!
Author's Address ๐
Dave Katz
cisco Systems, Inc.
1525 O'Brien Dr.
Menlo Park, CA 94025
Phone: (415) 688-8284
EMail: dkatz@cisco.com
๐ฆ where this page comes from
- ietf: rfc1390 1993-01
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms