Network Working Group J.-M. Pittet Request for Comments: 2835 Silicon Graphics Inc. Category: Standards Track May 2000 IP and ARP over HIPPI-6400 (GSN) 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 (2000). All Rights Reserved. Abstract The ANSI T11.1 task force has standardized HIPPI-6400 also known as Gigabyte System Network (GSN), a physical-level, point-to-point, full-duplex, link interface for reliable, flow-controlled, transmission of user data at 6400 Mbit/s, per direction. A parallel copper cable interface for distances of up to 40 m is specified in HIPPI-6400-PH [1]. Connections to a longer-distance optical interface are standardized in HIPPI-6400-OPT [3]. HIPPI-6400-PH [1] defines the encapsulation of IEEE 802.2 LLC PDUs [10] and by implication, IP on GSN. Another T11.1 standard describes the operation of HIPPI-6400 physical switches HIPPI-6400-SC [2]. T11.1 chose to leave HIPPI-6400 networking issues largely outside the scope of their standards; this document specifies the use of HIPPI- 6400 switches as IP local area networks. This document further specifies a method for resolving IP addresses to HIPPI-6400 hardware addresses (HARP) and for emulating IP broadcast in a logical IP subnet (LIS) as a direct extension of HARP. Furthermore it is the goal of this memo to define a IP and HARP that will allow interoperability for HIPPI-800 and HIPPI-6400 equipment both broadcast and non-broadcast capable networks. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . 3 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Global concepts used . . . . . . . . . . . . . . . . 3 2.2 Glossary . . . . . . . . . . . . . . . . . . . . . . 4 Pittet Standards Track [Page 1] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 3. IP Subnetwork Configuration . . . . . . . . . . . . . . . 5 3.1 Background . . . . . . . . . . . . . . . . . . . . . 5 3.2 HIPPI LIS Requirements . . . . . . . . . . . . . . . 6 4. Internet Protocol . . . . . . . . . . . . . . . . . . . . 7 4.1 Packet Format . . . . . . . . . . . . . . . . . . . 7 4.1.1 IEEE 802.2 LLC . . . . . . . . . . . . . . . . 7 4.1.2 SNAP . . . . . . . . . . . . . . . . . . . . . 7 4.1.3 Packet diagrams . . . . . . . . . . . . . . . 8 4.2 HIPPI-6400 Hardware address: Universal LAN MAC addr. 9 4.3 Maximum Transmission Unit - MTU . . . . . . . . . . 10 5. HIPPI Address Resolution Protocol - HARP . . . . . . . . 11 5.1 HARP Algorithm . . . . . . . . . . . . . . . . . . . 12 5.1.1 Selecting the authoritative HARP service . . . 12 5.1.2 HARP registration phase . . . . . . . . . . . 13 5.1.3 HARP operational phase . . . . . . . . . . . . 14 5.2 HARP Client Operational Requirements . . . . . . . . 15 5.3 Receiving Unknown HARP Messages . . . . . . . . . . 16 5.4 HARP Server Operational Requirements . . . . . . . . 16 5.5 HARP and Permanent ARP Table Entries . . . . . . . . 18 5.6 HARP Table Aging . . . . . . . . . . . . . . . . . . 18 6. HARP Message Encoding . . . . . . . . . . . . . . . . . . 19 6.1 Generic IEEE 802 ARP Message Format . . . . . . . . . 19 6.2 HIPARP Message Formats . . . . . . . . . . . . . . . 21 6.2.1 Example Message encodings: . . . . . . . . . . 23 6.2.2 HARP_NAK message format . . . . . . . . . . . . 24 7. Broadcast and Multicast . . . . . . . . . . . . . . . . 24 7.1 Protocol for an IP Broadcast Emulation Server - PIBES 25 7.2 IP Broadcast Address . . . . . . . . . . . . . . . . 25 7.3 IP Multicast Address . . . . . . . . . . . . . . . . 25 7.4 A Note on Broadcast Emulation Performance . . . . . . 26 8. HARP for Scheduled Transfer . . . . . . . . . . . . . . . 26 9. Security Consierations . . . . . . . . . . . . . . . . . 26 10. Open Issues . . . . . . . . . . . . . . . . . . . . . . . 27 11. HARP Examples . . . . . . . . . . . . . . . . . . . . . 27 11.1 Registr. Phase of Client Y on Non-broadcast Hardware 27 11.2 Registr. Phase of Client Y on Broadcast-capable . . 28 11.3 Operational Phase (phase II) . . . . . . . . . . . 29 11.3.1 Successful HARP_Resolve example . . . . . . 29 11.3.2 Non-successful HARP_Resolve example . . . . 30 12. References . . . . . . . . . . . . . . . . . . . . . . . 31 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . 32 14. Author's Address . . . . . . . . . . . . . . . . . . . . 32 15. Full Copyright Statement . . . . . . . . . . . . . . . . 33 Pittet Standards Track [Page 2] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 1. Introduction HIPPI-6400 is a duplex data channel that can transmit and receive data simultaneously at nearly 6400 megabits per second. HIPPI-6400 data transfers are segmented into micropackets, each composed of 32 data bytes and 8 control bytes. HIPPI-6400 uses four multiplexed virtual channels. These virtual channels are allocated to control traffic, low latency traffic, and bulk traffic (see [1] for more details). Using small packets and four virtual channels, large file transfers cannot lock out a host or switch port for interactive traffic. HIPPI-6400 guarantees in order delivery of data. It also supports link-level and end-to-end checksumming and credit-based flow control. HIPPI-6400-PH defines a 20-bit interface for copper cables operating at 500 MBaud. This provides a user payload bandwidth of 6400 Mb/s (800,000,000 Bytes/sec) in each direction. [8] HIPPI-6400-SC [2] defines two types of switches: bridging and non- bridging. The bridging switches are required to support hardware broadcast. Non-bridging switches are not required to support broadcast. This memo allows for a coherent implementation of IP and HARP with both types of switches. Gigabyte System Network(TM) (GSN) is a marketing name for HIPPI-6400. It is a trademark of the High Performance Networking Forum (HNF; http://www.hnf.org) for use by its member companies that supply products complying to ANSI HIPPI-6400 standards. 2 Definitions 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 [19]. 2.1 Global concepts used In the following discussion, the terms "requester" and "target" are used to identify the port initiating the address resolution request and the port whose address it wishes to discover, respectively. This document will use HIPPI-800 and HIPPI-6400 when referring to concepts that apply to one or the other technology. The term HIPPI will be used when referring to both technologies. Values are decimal unless otherwise noted. Formatting follows IEEE 802.1A canonical bit order and HIPPI-6400-PH bit and byte ordering. Pittet Standards Track [Page 3] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 2.2 Glossary Broadcast A distribution mode which transmits a message to all ports. The sending port is part of "all" and will therefore also receive a copy of the sent message. Classical/Conventional Both terms are used with respect to networks, including Ethernet, FDDI, and other 802 LAN types, as distinct from HIPPI-SC LANs. Destination The HIPPI port that receives data from a HIPPI Source. HARP HARP (HIPPI Address Resolution Protocol describes the whole set of HIPPI-6400 address resolution encodings and algorithms defined in this memo. HARP is a combination and adaptation of the Internet Address Resolution Protocol (ARP) RFC-826 [14] and Inverse ARP (InARP) [5] (see section 5). HARP also describes the HIPPI (800 and 6400) specific version of ARP (i.e. the protocol and the HIPPI specific encoding). HARP table Each host has a HARP table which contains the IP to hardware address mapping of IP members. HRAL The HARP Request Address List. A list of ULAs to which HARP messages are sent when resolving names to addresses (see section 3.2). Hardware (HW) address The hardware address of a port; it consists of an ULA (see section 4.2). Note: the term port as used in this document refers to a HIPPI port and is roughly equivalent to the term "interface" as commonly used in other IP documents. Host An entity, usually a computer system, that may have one or more HIPPI ports and which may serve as a client or a HARP server. Pittet Standards Track [Page 4] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 Port An entity consisting of one HIPPI Source/Destination dual simplex pair that is connected by parallel or serial HIPPI to a HIPPI-SC switch and that transmits and receives IP datagrams. A port may be an Internet host, bridge, router, or gateway. PIBES The Protocol for Internet Broadcast Emulation Server (see section 7). Source The HIPPI port that generates data to send to a HIPPI Destination. Universal LAN MAC Address (ULA) A 48-bit globally unique address, administered by the IEEE, assigned to each port on an Ethernet, FDDI, 802 network, or HIPPI-SC LAN. 3. IP Subnetwork Configuration 3.1 Background ARP (address resolution protocol) as defined in [14] was meant to work on the 'local' cable. This definition gives the ARP protocol a local logical IP subnet (LIS) scope. In the LIS scenario, each separate administrative entity configures its hosts and routers within the LIS. Each LIS operates and communicates independently of other LIS's on the same HIPPI-6400 network. HARP has LIS scope only and serves all ports in the LIS. Communication to ports located outside of the local LIS is usually provided via an IP router. This router is a HIPPI-6400 port attached to the HIPPI-6400 network that is configured as a member of one or more LIS's. This configuration MAY result in a number of disjoint LIS's operating over the same HIPPI-6400 network. Using this model, ports of different IP subnets SHOULD communicate via an intermediate IP router even though it may be possible to open a direct HIPPI-6400 connection between the two IP members over the HIPPI-6400 network. This is an consequence of using IP and choosing to have multiple LIS's on the same HIPPI-6400 fabric. By default, the HARP method detailed in section 5 and the classical LIS routing model MUST be available to any IP member client in the LIS. Pittet Standards Track [Page 5] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 3.2 HIPPI LIS Requirements The requirement for IP members (hosts, routers) operating in a HIPPI-6400 LIS configuration is: o All members of the LIS SHALL have the same IP network/subnet address and address mask [4]. The following list identifies the set of HIPPI-6400-specific parameters that MUST be implemented in each IP station connected to the HIPPI-6400 network: o HIPPI-6400 Hardware Address: The HIPPI-6400 hardware address (a ULA) of an individual IP endpoint (i.e. a network adapter within a host) MUST be unique in the LIS. o HARP Request Address List (HRAL): The HRAL is an ordered list of two or more addresses identifying the address resolution service(s). All HARP clients MUST be configured identically, i.e. all ports MUST have the same addresses(es) in the HRAL. The HRAL MUST contain at least two HIPPI HW addresses identifying the individual HARP service(s) that have authoritative responsibility for resolving HARP requests of all IP members located within the LIS. By default the first address MUST be the reserved address for broadcast, i.e. FF:FF:FF:FF:FF:FF. The second address MUST be the standard HW address for the HARP server 00:10:3B:FF:FF:E0. Therefore, the HRAL entries are sorted in the following order: 1st : broadcast address (FF:FF:FF:FF:FF:FF) REQUIRED 2nd : official HARP server address (00:10:3B:FF:FF:E0) REQUIRED 3rd & on: any additional HARP server addresses will be OPTIONAL sorted in decreasing order. Manual configuration of the addresses and address lists presented in this section is implementation dependent and beyond the scope of this memo. However, prior to use by any service or operation detailed in this memo, clients MUST have HRAL address(es) configured as appropriate for their LIS. Pittet Standards Track [Page 6] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 4. Internet Protocol 4.1 Packet format The HIPPI-6400 packet format for Internet datagrams [15] shall conform to the HIPPI-6400-PH standard [1]. The length of a HIPPI- 6400-PH packet, including headers and trailing fill, shall be a multiple of 32 bytes as required by HIPPI-6400-PH. All IP Datagrams shall be carried on HIPPI-6400-PH Virtual Channel 1 (VC1). Since HIPPI-6400-PH has a 32-byte granularity, IP Datagrams MUST be padded to a 32-byte granularity prior to sending. Added padding is transparent to IP and is not reflected in the length field of the IP header. D_ULA Destination ULA SHALL be the ULA of the destination port. S_ULA Source ULA SHALL be the ULA of the requesting port. M_len Set to the IEEE 802 packet (e.g. IP or HARP message) length + 8 Bytes to account for the LLC/SNAP header length. The HIPPI-6400-PH [1] length parameter shall not include the pad. 4.1.1 IEEE 802.2 LLC The IEEE 802.2 LLC Header SHALL begin in the first byte after M_len. The LLC values (in hexadecimal and decimal) SHALL be SSAP 0xAA 170 (8 bits) DSAP 0xAA 170 (8 bits) CTL 0x03 3 (8 bits) for a total length of 3 bytes. The 0x03 CTL value indicates the presence of a SNAP header. 4.1.2 SNAP The OUI value for Organization Code SHALL be 0x00-00-00 (3 bytes) indicating that the following two-bytes is an Ethertype. The Ethertype value SHALL be set as defined in Assigned Numbers [18]: IP 0x0800 2048 (16 bits) HARP = ARP = 0x0806 2054 (16 bits) The total size of the LLC/SNAP header is fixed at 8 bytes. Pittet Standards Track [Page 7] RFC 2835 IP and ARP over HIPPI-6400 (GSN) May 2000 4.1.3 HIPPI-6400 802 Packet diagrams The following diagram shows a HIPPI-6400 message carrying IEEE 802 data. |31 |23 |15 |7 0| +------------+------------+------------+------------+ ------------- 0 | | | D_ULA +-------------------------+ HIPPI-6400 1 | | | +-------------------------+ S_ULA | MAC 2 | | +---------------------------------------------------+ header 3 | M_len