Network Working Group
Request for Comments: 1103
D. Katz
Merit/NSFNET
June 1989

A Proposed Standard for the Transmission of

IP Datagrams over FDDI Networks

Status of this Memo

This RFC specifies a method of encapsulating the Internet Protocol (IP) [1] datagrams and Address Resolution Protocol (ARP) [2] requests and replies on Fiber Distributed Data Interface (FDDI) Networks. This RFC specifies a proposed protocol standard for the Internet community. Comments are welcome. Distribution of this memo is unlimited.

Acknowledgment

This memo draws heavily in both concept and text from RFC 1042 [3], written by Jon Postel and Joyce K. Reynolds of USC/Information Sciences Institute.

Conventions

The following language conventions are used in the items of specification in this document:

"Must" or "Mandatory"--the item is an absolute requirement of the specification.

"Should" or "Recommended"--the item should generally be followed for all but exceptional circumstances.

"May" or "Optional"--the item is truly optional and may be followed or ignored according to the needs of the implementor.

Introduction

The goal of this specification is to allow compatible and interoperable implementations for transmitting IP datagrams and ARP requests and replies.

The Fiber Distributed Data Interface (FDDI) specifications define a family of standards for Local Area Networks (LANs) that provides the Physical Layer and Media Access Control Sublayer of the Data Link Layer as defined by the ISO Open System Interconnection Reference Model (ISO/OSI). Documents are in various stages of progression toward International Standardization for Media Access Control (MAC) [4], Physical Layer Protocol (PHY) [5], Physical Layer Medium Dependent (PMD) [6], and Station Management (SMT) [7]. The family of FDDI standards corresponds to the IEEE 802 MAC layer standards [8, 9, 10].

The remainder of the Data Link Service is provided by the IEEE 802.2 Logical Link Control (LLC) service [11]. The resulting stack of services appears as follows:

           +-------------+
           |   IP/ARP    |
           +-------------+
           |  802.2 LLC  |
           +-------------+
           |  FDDI MAC   |
           +-------------+
           |  FDDI PHY   |
           +-------------+
           |  FDDI PMD   |
           +-------------+

This memo describes the use of IP and ARP in this environment. At this time, it is not necessary that the use of IP and ARP be consistent between FDDI and IEEE 802 networks, but it is the intent of this memo not to preclude Data Link Layer interoperability at such time as the standards define it.

Packet Format

IP datagrams and ARP requests and replies sent on FDDI networks must be encapsulated within the 802.2 LLC and Sub-Network Access Protocol (SNAP) data link layers and the FDDI MAC and physical layers. The SNAP must be used with an Organization Code indicating that the SNAP header contains the EtherType code (as listed in Assigned Numbers [12]).

802.2 LLC Type 1 communication (which must be implemented by all conforming 802.2 stations) is used exclusively. All frames 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 [12] (IP = 2048, ARP = 2054).

     ...--------+--------+--------+
                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 16-bit or 48-bit FDDI addresses must be done via 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 respond to Address Resolution requests appropriately. It must also use ARP to translate Internet addresses to FDDI addresses when needed.

The ARP protocol has several fields that parameterize its use in any specific context [2]. These fields 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 [12]. FDDI networks, although not IEEE 802 networks per se, are semantically equivalent and use the same type code.

The protocol type code for IP is 2048 [12].

The hardware address length is 2 for 16-bit FDDI addresses, or 6 for 48-bit FDDI addresses.

The protocol address length (for IP) is 4.

The operation code is 1 for request and 2 for reply.

Broadcast Address

The broadcast Internet address (the address on that network with a host part of all binary ones) must be mapped to the broadcast FDDI address (of all binary ones) (see [13]).

Trailer Formats

Some versions of Unix 4.x bsd use a different encapsulation method in order to get better network performance with the VAX virtual memory architecture. Consenting systems on the same FDDI network may use this format between themselves. Details of the trailer encapsulation method may be found in [14]. However, all hosts must be able to communicate using the standard (non-trailer) method.

Byte Order

As described in Appendix B of the Internet Protocol specification [1], the IP datagram is transmitted over FDDI networks as a series of 8-bit bytes. This byte transmission order has been called "big- endian" [15].

MAC Layer Details

   Packet Size

The FDDI MAC specification [4] defines a maximum frame size of 9000 symbols (4500 octets) for all frame fields, including four symbols (two octets) of preamble. This gives the following MAC layer overhead:

Field Size in Octets

                Preamble                     2
                Start Delimiter              1
                Frame Control                1
                Destination Address          6 (2)
                Source Address               6 (2)
                FCS                          4
                End Delimiter/Frame Status   2

Total 22 (14)

Remaining for Data 4478 (4486)

Subtracting the 8 byte LLC/SNAP header, this gives a maximum packet size (MTU) of 4470 (4478) octets. For compatibility purposes, the maximum packet size used with IP datagrams or ARP requests and replies must be consistent on a particular network.

The overhead calculations (above) assume a standard Frame Status field consisting of three symbols. Additional Implementor Defined frame status information, although permitted by the FDDI MAC specification, must not be used with IP datagrams because it affects the maximum packet size.

Gateway implementations must be prepared to accept full-length packets and fragment them when necessary.

Host implementations should be prepared to accept full-length packets; however, hosts must not send datagrams longer than 576 octets unless they have explicit knowledge that the destination is prepared to accept them. A host may communicate its size preference in TCP-based applications via the TCP Maximum Segment Size option [16].

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 [16] for further information.

There is no minimum packet size restriction on FDDI networks.

Other MAC Layer Issues

The FDDI MAC specification 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. For use with IP and ARP, all communicating stations on a LAN must use a consistent address size. Implementations must discard any IP or ARP packets received with an unimplemented or inactive address size. 16-bit and 48-bit implementations may coexist on the same FDDI network; however, if they wish to interwork they must be considered separate IP networks and linked with an IP router capable of supporting 16-and 48-bit addresses simultaneously.

Group (multicast) addresses are defined by the FDDI MAC specification but are not necessarily supported by existing hardware. Therefore, this feature must not be used by IP and ARP.

The FDDI MAC specification defines two classes of 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. The priority mechanism is currently implemented locally by the transmitting station and the Priority field in Asynchronous frames is ignored by other stations. This field will likely be interpreted by Transparent Bridges once they are defined. There is no default value for priority called out in the MAC standard.

Therefore, all IP and ARP frames must be transmitted as Asynchronous 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.

After packet transmission, FDDI provides Frame Copied (C) and Address Recognized (A) indicators. There are four possible combinations of the indicators with the following semantics:

            (C)      (A)
            Reset    Reset   The frame was not received by any station.
            Reset    Set     The addressed station is congested.
            Set      Reset   Reserved.
            Set      Set     The addressed station received the frame.

Implementations may use these indicators to provide some amount of error detection and correction:

If the Frame Copied bit is reset but the Address Recognized bit is set, receiver congestion has occurred. It is recommended, though not mandatory, that hosts retransmit the offending packet a small number of times (4) or until congestion no longer occurs.

If the both the Address Recognized indicator and the Frame Copied indicator are reset, an implementation has three options: (1) ignore the error and throw the packet away, (2) return an ICMP destination unreachable message to the source, or (3) delete the ARP entry which was used to send this packet and send a new ARP request to the destination address. The latter option is the preferred approach since it will allow graceful recovery from first hop bridge and router failures and changed hardware addresses.

As of this writing there is a proposal within ANSI to set the Frame Copied indicator and reset the Address Recognized indicator when a frame is forwarded by a Transparent Bridge. For future compatibility, implementations should interpret this combination of indicators as if the frame were successfully delivered to the destination (i.e., do nothing).

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. This requires supporting Unnumbered Information (UI) Commands, eXchange IDentification (XID) Commands and Responses, and TEST link (TEST) Commands and Responses.

When an XID or TEST command is received, a response must be returned with Destination and Source addresses, and DSAP and SSAP, swapped.

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.

The XID command or 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 or 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.

Command frames are identified by having the high order bit of the SSAP address reset to zero. Response frames have the high order bit of the SSAP address set to one.

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 in bit transmission order, or bit-wise little-endian order. The Internet protocols are documented in byte- 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    IEEE        Internet    Internet
                     HEX     Binary      Binary      Decimal
       
       UI Op Code    C0      11000000    00000011    3
       SAP for SNAP  55      01010101    10101010    170
       XID           F5      11110101    10101111    175
       XID           FD      11111101    10111111    191
       TEST          C7      11000111    11100011    227
       TEST          CF      11001111    11110011    243
       Info          818000                          129.1.0

References

  [1]  Postel, J., "Internet Protocol", 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", RFC1042, USC/Information
       Sciences Institute, February, 1988.
  
  [4]  ISO, "Fiber Distributed Data Interface (FDDI) - Media Access
       Control", ISO 9314-2, 1988.  See also ANSI X3.139-1987.
  
  [5]  ISO, "Fiber Distributed Data Interface (FDDI) - Token Ring
       Physical Layer Protocol", ISO 9314-1, 1988.  See also ANSI
       X3.148-1988.
  
  [6]  ISO, "Fiber Distributed Data Interface (FDDI) - Physical Layer
       Medium Dependent", ISO DIS 9314-3, 1988.  See also ANSI X3.166-

198x.

  [7]  ANSI, "FDDI Station Management", ANSI X3T9.5/84-49 Rev 4.0, 1988.
  
  [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] Reynolds, J.K., and J. Postel, "Assigned Numbers", RFC-1010,
       USC/Information Sciences Institute, May 1987.
  
  [13] Braden, R., and J. Postel, "Requirements for Internet Gateways",
       RFC-1009, USC/Information Sciences Institute, June 1987.
  
  [14] Leffler, S., and M. Karels, "Trailer Encapsulations", RFC-893,
       University of California at Berkeley, April 1984.
  
  [15] Cohen, D., "On Holy Wars and a Plea for Peace", Computer, IEEE,
       October 1981.
  
  [16] Postel, J., "The TCP Maximum Segment Size Option and Related
       Topics", RFC-879, USC/Information Sciences Institute, November
       1983.

Author's Address

Dave Katz Merit/NSFNET 1075 Beal Ann Arbor, MI 48109-2112

   Phone: 1-800-66-MERIT
   
   Email: Dave_Katz@um.cc.umich.edu