home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 2000s / rfc2067.txt < prev    next >
Text File  |  1997-01-01  |  67KB  |  1,684 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         J. Renwick
  8. Request for Comments: 2067                                 NetStar, Inc.
  9. Category: Standards Track                                   January 1997
  10. Obsoletes: 1374
  11.  
  12.  
  13.                              IP over HIPPI
  14.  
  15. Status of This Memo
  16.  
  17.    This document specifies an Internet standards track protocol for the
  18.    Internet community, and requests discussion and suggestions for
  19.    improvements.  Please refer to the current edition of the "Internet
  20.    Official Protocol Standards" (STD 1) for the standardization state
  21.    and status of this protocol.  Distribution of this memo is unlimited.
  22.  
  23. Abstract
  24.  
  25.    ANSI Standard X3.218-1993 (HIPPI-LE[3]) defines the encapsulation of
  26.    IEEE 802.2 LLC PDUs and, by implication, IP on HIPPI.  ANSI X3.222-
  27.    1993 (HIPPI-SC[4]) describes the operation of HIPPI physical
  28.    switches.  The ANSI committee responsible for these standards chose
  29.    to leave HIPPI networking issues largely outside the scope of their
  30.    standards; this document describes the use of HIPPI switches as IP
  31.    local area networks.
  32.  
  33.    This memo is a revision of RFC 1374, "IP and ARP on HIPPI", and is
  34.    intended to replace it in the Standards Track.  RFC 1374 has been a
  35.    Proposed Standard since November, 1992, with at least 10
  36.    implementations of IP encapsulation and HIPPI switch discipline.  No
  37.    major changes to it are required.  However, the ARP part of RFC 1374
  38.    has not had sufficient implementation experience to be advanced to
  39.    Draft Standard.  The present document contains all of RFC 1374 except
  40.    for the description ARP, which has been moved into a separate
  41.    document.
  42.  
  43. TABLE OF CONTENTS
  44.  
  45.    1  Introduction.............................................  2
  46.    2  Scope....................................................  3
  47.       2.1   Changes from RFC 1374..............................  3
  48.       2.2   Terminology........................................  4
  49.    3  Definitions..............................................  4
  50.    4  Equipment................................................  5
  51.    5  Protocol ................................................  7
  52.       5.1   Packet Format......................................  7
  53.       5.2   48 bit Universal LAN MAC addresses................. 11
  54.       5.3   I-Field Format..................................... 12
  55.  
  56.  
  57.  
  58. Renwick                     Standards Track                     [Page 1]
  59.  
  60. RFC 2067                     IP over HIPPI                  January 1997
  61.  
  62.  
  63.       5.4   Rules For Connections.............................. 13
  64.       5.5   MTU................................................ 15
  65.    6  Camp-on ................................................. 16
  66.    7  Path MTU Discovery....................................... 17
  67.    8  Channel Data Rate Discovery.............................. 17
  68.    9  Performance.............................................. 18
  69.    10 Sharing the Switch....................................... 20
  70.    11 References............................................... 21
  71.    12 Security Considerations.................................. 21
  72.    13 Author's Address......................................... 21
  73.    14 Appendix A -- HIPPI Basics............................... 22
  74.    15 Appendix B -- How to Build a Practical HIPPI LAN......... 27
  75.  
  76. 1  Introduction
  77.  
  78.    The ANSI High-Performance Parallel Interface (HIPPI) is a simplex
  79.    data channel.  Configured in pairs, HIPPI can send and receive data
  80.    simultaneously at nearly 800 megabits per second.  (HIPPI has an
  81.    equally applicable 1600 megabit/second option.) Between 1987 and
  82.    1991, the ANSI X3T9.3 HIPPI working group drafted four documents that
  83.    bear on the use of HIPPI as a network interface.  They cover the
  84.    physical and electrical specification (HIPPI-PH [1]), the framing of
  85.    a stream of bytes (HIPPI-FP [2]), encapsulation of IEEE 802.2 LLC
  86.    (HIPPI-LE [3]), and the behavior of a standard physical layer switch
  87.    (HIPPI-SC [4]).  HIPPI-LE also implies the encapsulation of Internet
  88.    Protocol[5].  The reader should be familiar with the ANSI HIPPI
  89.    documents, copies of which are archived at the site "ftp.network.com"
  90.    in the directory "hippi", and may be obtained via anonymous FTP.
  91.  
  92.    HIPPI switches can be used to connect a variety of computers and
  93.    peripheral equipment for many purposes, but the working group stopped
  94.    short of describing their use as Local Area Networks.  This memo
  95.    takes up where the working group left off, using the guiding
  96.    principle that except for length and hardware header, Internet
  97.    datagrams sent on HIPPI should be identical to the same datagrams
  98.    sent on a conventional network, and that any datagram sent on a
  99.    conventional 802 network[6] should be valid on HIPPI.
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Renwick                     Standards Track                     [Page 2]
  115.  
  116. RFC 2067                     IP over HIPPI                  January 1997
  117.  
  118.  
  119. 2  Scope
  120.  
  121.    This memo describes the HIPPI interface between a host and a
  122.    crosspoint switch that complies with the HIPPI-SC draft standard.
  123.    Issues that have no impact on host implementations are outside the
  124.    scope of this memo.  Host implementations that comply with this memo
  125.    are believed to be interoperable on a network composed of a single
  126.    HIPPI-SC switch.  They are also interoperable on a simple point-to-
  127.    point, two-way HIPPI connection with no switch between them.  They
  128.    may be interoperable on more complex networks as well, depending on
  129.    the internals of the switches and how they are interconnected;
  130.    however, these details are implementation dependent and outside the
  131.    scope of this memo.
  132.  
  133.    Within the scope of this memo are:
  134.  
  135.       1.  Packet format and header contents, including HIPPI-FP, HIPPI-
  136.       LE, IEEE 802.2 LLC[7] and SNAP.
  137.  
  138.       2.  I-Field contents
  139.  
  140.       3.  Rules for the use of connections.
  141.  
  142.    Outside of the scope are
  143.  
  144.       1.  Address Resolution (ARP)
  145.  
  146.       2.  Network configuration and management
  147.  
  148.       3.  Host internal optimizations
  149.  
  150.       4.  The interface between a host and an outboard protocol
  151.       processor.
  152.  
  153. 2.1  Changes from RFC 1374
  154.  
  155.    RFC 1374 described the use of ARP on HIPPI, but because of
  156.    insufficient implementation experience, the description of ARP has
  157.    been separated from IP encapsulation and moved to an Informational
  158.    memo.  It may be returned to the standards track in the future if
  159.    interest and implementations warrant it.
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Renwick                     Standards Track                     [Page 3]
  171.  
  172. RFC 2067                     IP over HIPPI                  January 1997
  173.  
  174.  
  175.    RFC 1374's specification of IP over HIPPI has been changed in this
  176.    document.  Certain packet format options, permitted in RFC 1374, are
  177.    no longer allowed:
  178.  
  179.            1.  Optional short burst first;
  180.  
  181.            2.  D1 fill bytes;
  182.  
  183.            3.  Nonzero D2 offset.
  184.  
  185.    That is, the header format is no longer variable and is required to
  186.    be that which is recommended by RFC 1374.
  187.  
  188.    With these changes, it is possible to send packets which conform to
  189.    the ANSI standards but not to this memo.  Because there are no RFC
  190.    1374 implementations in use that used these options, we believe that
  191.    all existing RFC 1374 implementations are compliant with the
  192.    requirements of this memo, and there should be no interoperability
  193.    problems associated with these changes.
  194.  
  195. 2.2  Terminology
  196.  
  197.    In this document the use of the word SHALL in capital letters
  198.    indicates mandatory points of compliance.
  199.  
  200. 3  Definitions
  201.  
  202.    Conventional
  203.  
  204.       Used with respect to networks, this refers to Ethernet, FDDI and
  205.       802 LAN types, as distinct from HIPPI-SC LANs.
  206.  
  207.    Destination
  208.  
  209.       The HIPPI implementation that receives data from a HIPPI Source.
  210.  
  211.    Node
  212.  
  213.       An entity consisting of one HIPPI Source/Destination pair that is
  214.       connected by parallel or serial HIPPI to a HIPPI-SC switch and
  215.       that transmits and receives IP datagrams.  A node may be an
  216.       Internet host, bridge, router or gateway.  This memo uses the term
  217.       node in place of the usual "host" to indicate that a host might be
  218.       connected to the HIPPI LAN not directly, but through an external
  219.       adaptor that does some of the protocol processing for the host.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Renwick                     Standards Track                     [Page 4]
  227.  
  228. RFC 2067                     IP over HIPPI                  January 1997
  229.  
  230.  
  231.    Serial HIPPI
  232.  
  233.       An implementation of HIPPI in serial fashion on coaxial cable or
  234.       optical fiber, informally standardized by implementor's agreement
  235.       in the Spring of 1991.
  236.  
  237.    Switch Address
  238.  
  239.       A value used as the address of a node on a HIPPI-SC network.  It
  240.       is transmitted in the I-field.  HIPPI-SC switches may map Switch
  241.       Addresses to physical port numbers.
  242.  
  243.    Source
  244.  
  245.       The HIPPI implementation that generates data to send to a HIPPI
  246.       Destination.
  247.  
  248.    Universal LAN Address (ULA)
  249.  
  250.       A 48 bit globally unique address, administered by the IEEE,
  251.       assigned to each node on an Ethernet, FDDI, 802 network or HIPPI-
  252.       SC LAN.
  253.  
  254. 4  Equipment
  255.  
  256.    A HIPPI network can be composed of nodes with HIPPI interfaces, HIPPI
  257.    cables or serial links, HIPPI-SC switches, gateways to other
  258.    networks.
  259.  
  260.    Each HIPPI interconnection between a node and a switch SHALL consist
  261.    of a pair of HIPPI links, one in each direction.
  262.  
  263.    If a link between a node and the switch is capable of the 1600
  264.    Megabit/second data rate option (i.e. Cable B installed for 64 bit
  265.    wide operation) in either direction, the node's HIPPI-PH
  266.    implementation SHALL also be capable of 32 bit operation (Cable B
  267.    data suppressed) and SHALL be able to select or deselect the 1600Mb/s
  268.    data rate option at the establishment of each new connection.
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Renwick                     Standards Track                     [Page 5]
  283.  
  284. RFC 2067                     IP over HIPPI                  January 1997
  285.  
  286.  
  287.    The following figure shows a sample HIPPI switch configuration.
  288.  
  289.                                                       +-----+
  290.                                                       | H 4 |
  291.       |                                               +--+--+
  292.       |                   +----+    +----+    +----+     |
  293.       |                   | H1 |    | H2 |    | H3 |   +-++
  294.       |   +--+            +-++-+    +-++-+    +-++-+   |PP|
  295.       +---+H5|              ||        ||        ||     ++++
  296.       |   +--+              ||        ||        ||      ||
  297.       |                 +---++--------++--------++------++----+
  298.       |                 |                                     |
  299.       |   +----+        |              HIPPI-SC               |
  300.       +---+ G1 +--------+                                     |
  301.       |   |    +--------+               Switch                |
  302.       |   +----+        |                                     |
  303.       |                 +---++--------++--------++------++----+
  304.       |   +--+              ||        ||        ||      ||
  305.       +---+H6|              ||                         ++++
  306.       |   +--+            +-++-+                       |PP|
  307.       |                   |    |                       +-++
  308.       |                   | G2 |                         |
  309.       |                   |    |                      +--+--+
  310.       |                   +--+-+                      | H 7 |
  311.       |                      |                        +-----+
  312.                              |
  313.            -----+------------+-------+-----------+-------------+------
  314.                 |                    |           |             |
  315.                 |                    |           |             |
  316.              +--+--+              +--+--+     +--+--+       +--+--+
  317.              | H 8 |              | H 9 |     | H10 |       | H11 |
  318.              +-----+              +-----+     +-----+       +-----+
  319.  
  320.       Legend:  ---+---+---+--  =  802 network, Ethernet or FDDI
  321.                            ||  =  Paired HIPPI link
  322.                             H  =  Host computer
  323.                            PP  =  Outboard Protocol Processor
  324.                             G  =  Gateway
  325.  
  326.                        A possible HIPPI configuration
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Renwick                     Standards Track                     [Page 6]
  339.  
  340. RFC 2067                     IP over HIPPI                  January 1997
  341.  
  342.  
  343.    A single HIPPI-SC switch has a "non-blocking" characteristic, which
  344.    means there is always a path available from any Source to any
  345.    Destination.  If the network consists of more than one switch, the
  346.    path from a Source to a Destination may include a HIPPI link between
  347.    switches.  If this link is used by more than one Source/Destination
  348.    pair, a "blocking" network is created: one Source may be blocked from
  349.    access to a Destination because another Source is using the link it
  350.    shares.  Strategies for establishing connections may be more
  351.    complicated on blocking networks than on non-blocking ones.
  352.  
  353.    This memo does not take blocking issues into account, assuming that
  354.    the HIPPI LAN consists of one HIPPI-SC switch or, if the network is
  355.    more complex than that, it presents no additional problems that a
  356.    node must be aware of.
  357.  
  358. 5  Protocol
  359.  
  360. 5.1  Packet Format
  361.  
  362.    The HIPPI packet format for Internet datagrams SHALL conform to the
  363.    HIPPI-FP and HIPPI-LE draft standards, with further restrictions as
  364.    imposed by this memo.  Because this memo is more restrictive than the
  365.    ANSI standards, it is possible to send encapsulated IP datagrams that
  366.    conform to the ANSI standards, but are illegal according to this
  367.    memo.  Destinations may either accept or ignore such datagrams.
  368.  
  369.    To summarize the additional restrictions on ANSI standards found
  370.    here:
  371.  
  372.            Any short burst must be the last burst of the packet.
  373.            Leading short bursts are not permitted.
  374.  
  375.            Nonzero values for the HIPPI-FP D2_Offset field are not
  376.            permitted.
  377.  
  378.            The D1_AreaSize SHALL be 3 (64-bit words).  No D1 Fill is
  379.            permitted.
  380.  
  381.    Note: Although this document is for IP over HIPPI, the encapsulation
  382.    described below accommodates ARP as well.
  383.  
  384.    The HIPPI-FP D1_Area SHALL contain the HIPPI-LE header.  The HIPPI-FP
  385.    D2_Area, when present, SHALL contain one IEEE 802.2 Type 1 LLC
  386.    Unnumbered Information (UI) PDU.  Support of IEEE 802.2 XID, TEST and
  387.    Type 2 PDUs is not required on HIPPI, and Destinations that receive
  388.    these PDUs may either ignore them or respond correctly according to
  389.    IEEE 802.2 requirements.
  390.  
  391.  
  392.  
  393.  
  394. Renwick                     Standards Track                     [Page 7]
  395.  
  396. RFC 2067                     IP over HIPPI                  January 1997
  397.  
  398.  
  399.    The length of a HIPPI packet, including trailing fill, SHALL be a
  400.    multiple of eight bytes as required by HIPPI-LE.
  401.  
  402.    +----------+-----------+---------------------+-----------   ------+
  403.    |          |           |                     |              0 - 7 |
  404.    | HIPPI-FP | HIPPI-LE  | IEEE 802.2 LLC/SNAP | IP . . .     bytes |
  405.    |(8 bytes) |(24 bytes) |      (8 bytes)      |               fill |
  406.    +----------+-----------+---------------------+-----------   ------+
  407.  
  408.                           HIPPI Packet Structure
  409.  
  410.         ULP-id (8 bits) SHALL contain 4.
  411.  
  412.         D1_Data_Set_Present (1 bit) SHALL be set.
  413.  
  414.         Start_D2_on_Burst_Boundary (1 bit) SHALL be zero.
  415.  
  416.         Reserved (11 bits) SHALL contain zero.
  417.  
  418.         D1_Area_Size (8 bits) SHALL be sent as 3.
  419.  
  420.         D2_Offset (3 bits) SHALL be zero.
  421.  
  422.         D2_Size (32 bits) Shall contain the number of bytes in the
  423.         IEEE 802.2 LLC Type 1 PDU, or zero if no PDU is present.  It
  424.         SHALL NOT exceed 65,288.  This value includes the IEEE 802.2
  425.         LLC/SNAP header and the IP datagram.  It does not include
  426.         trailing fill bytes.  (See "MTU", below.)
  427.  
  428. HIPPI-LE Header
  429.  
  430.    FC (3 bits) SHALL contain zero unless otherwise defined by local
  431.    administration.
  432.  
  433.    Double_Wide (1 bit) SHALL contain one if the Destination associated
  434.    with the sending Source supports 64 bit HIPPI operation.  Otherwise
  435.    it SHALL contain zero.
  436.  
  437.    Message_Type (4 bits) contains a code identifying the type of HIPPI-
  438.    LE PDU.  Defined values are:
  439.  
  440.               0  Data PDU
  441.               1  Address Resolution Request PDU (AR_Request)
  442.               2  Address Resolution Response PDU (AR_Response)
  443.               3  Self Address Resolution Request PDU (AR_S_Request)
  444.               4  Self Address Resolution Response PDU (AR_S_Response)
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Renwick                     Standards Track                     [Page 8]
  451.  
  452. RFC 2067                     IP over HIPPI                  January 1997
  453.  
  454.  
  455.    Destination_Switch_Address is a 24-bit field containing the
  456.    Switch Address of the Destination if known, otherwise zero.
  457.    If the address comprises less than 24 bits, it SHALL be right
  458.    justified (occupying the least significant bits) in the
  459.    field.
  460.  
  461.    Destination_Address_Type (4 bits) and Source_Address_Type (4
  462.    bits) contain codes identifying the type of addresses in the
  463.    Destination_Switch_Address and Source_Switch_Address fields
  464.    respectively.  Defined values (binary) are:
  465.  
  466.                  0  Unspecified
  467.                  1  HIPPI-SC Source Route (24 bits)
  468.                  2  HIPPI-SC Address (12 bits)
  469.  
  470.    Source_Switch_Address is a 24-bit field containing the Switch
  471.    Address of the Source.  If the address comprises less than 24
  472.    bits, it SHALL be right justified (occupying the least
  473.    significant bits) in the field.
  474.  
  475.    Reserved (16 bits) SHALL contain zero.
  476.  
  477.    Destination_IEEE_Address (48 bits) SHALL contain the 48 bit
  478.    Universal LAN MAC Address of the Destination if known,
  479.    otherwise zero.
  480.  
  481.    LE_Locally_Administered (16 bits) SHALL contain zero UNLESS
  482.    otherwise defined by local administration.
  483.  
  484.    Source_IEEE_Address (48 bits) SHALL contain the 48 bit
  485.    Universal LAN MAC Address of the Source if known, otherwise
  486.    zero.
  487.  
  488. IEEE 802.2 LLC
  489.  
  490.    The IEEE 802.2 LLC Header SHALL begin in the first byte of the
  491.    HIPPI-FP D2_Area.
  492.  
  493.    SSAP (8 bits) SHALL contain 170 ('AA'h).
  494.  
  495.    DSAP (8 bits) SHALL contain 170 ('AA'h).
  496.  
  497.    CTL (8 bits) SHALL contain 3 (Unnumbered Information).
  498.  
  499. SNAP
  500.  
  501.    Organization Code (24 bits) SHALL be zero.
  502.  
  503.  
  504.  
  505.  
  506. Renwick                     Standards Track                     [Page 9]
  507.  
  508. RFC 2067                     IP over HIPPI                  January 1997
  509.  
  510.  
  511.    EtherType (16 bits) SHALL be set as defined in Assigned Numbers [8]:
  512.    IP = 2048 ('0800'h), ARP = 2054 ('0806'h), RARP = 32,821 ('8035'h).
  513.  
  514.       31    28        23  21          15        10     7         2   0
  515.       +-----+---------+-+-+-----------+---------+-----+---------+-----+
  516.     0 |      04       |1|0|       Reserved      |      03       |  0  |
  517.       +---------------+-+-+---------------------+---------------+-----+
  518.     1 |                             (n+8)                             |
  519.       +-----+-+-------+-----------------------------------------------+
  520.     2 |[LA] |W|M_Type |          Destination_Switch_Address           |
  521.       +-----+-+-------+-----------------------------------------------+
  522.     3 | D_A_T | S_A_T |             Source_Switch_Address             |
  523.       +-------+-------+---------------+-------------------------------+
  524.     4 |            Reserved           |  [Destination_IEEE_Address]   |
  525.       +-------------------------------+                               |
  526.     5 |                                                               |
  527.       +-------------------------------+-------------------------------+
  528.     6 |             [LA]              |     [Source_IEEE_Address]     |
  529.       +-------------------------------+                               |
  530.     7 |                                                               |
  531.       +---------------+---------------+---------------+---------------+
  532.     8 |       AA      |      AA       |       03      |       00      |
  533.       +---------------+---------------+---------------+---------------+
  534.     9 |       00      |      00       |         [EtherType]           |
  535.       +---------------+---------------+---------------+---------------+
  536.    10 |Message byte 0 |Message byte 1 |Message byte 2 | . . .         |
  537.       +---------------+---------------+---------------+---            |
  538.       |                            .  .  .
  539.                                                                       |
  540.       |        -------+---------------+---------------+---------------+
  541.       |         . . . |  byte (n-2)   |  byte (n-1)   |     FILL      |
  542.       +---------------+---------------+---------------+---------------+
  543.    N-1|      FILL     |     FILL      |     FILL      |     FILL      |
  544.       +---------------+---------------+---------------+---------------+
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Renwick                     Standards Track                    [Page 10]
  563.  
  564. RFC 2067                     IP over HIPPI                  January 1997
  565.  
  566.  
  567.                             HIPPI Packet Format
  568.  
  569.               Words 0-1:  HIPPI-FP Header
  570.               Words 2-7:  D1 Area (HIPPI-LE Header)
  571.               Words 8-9:  D2 Area (IEEE 802.2 LLC/SNAP)
  572.               Words 10-(N-1):  D2 Area (IP message)
  573.               (n) is the number of bytes in the IP message.
  574.               [LA] fields are zero unless used otherwise locally.
  575.               Abbreviations:  "W"      = Double_Wide field;
  576.                               "M_Type" = Message_Type field;
  577.                               "D_A_T"  = Destination_Address_Type;
  578.                               "S_A_T"  = Source_Address_Type;
  579.               [FILL] bytes complete the HIPPI packet to an even
  580.               number of 32 bit words.  The number of fill bytes
  581.               is not counted in the data length.
  582.  
  583. IEEE 802.2 Data
  584.  
  585.    The IEEE 802.2 Data SHALL begin in the byte following the EtherType
  586.    field.  Fill bytes SHALL be used following the Data as necessary to
  587.    make the number of bytes in the packet a multiple of 8.  In
  588.    accordance with HIPPI-FP, the amount of this fill is not included in
  589.    the D2_Size value in the HIPPI- FP Header.
  590.  
  591.    The order of the bytes in the data stream is from higher numbered to
  592.    lower numbered data signal (left to right) within the HIPPI word, as
  593.    specified in HIPPI-FP Clause 7, "Word and byte formats."  With the
  594.    1600 megabit/second data rate option (64 bit) bits 32 through 63 are
  595.    on Cable B, so that the four bytes on Cable B come logically before
  596.    those on Cable A.  Within each byte, the most significant bit is the
  597.    highest numbered signal.
  598.  
  599. 5.2  48 bit Universal LAN MAC Addresses
  600.  
  601.    IEEE Standard 802.1A specifies the Universal LAN MAC Address.  The
  602.    globally unique part of the 48 bit space is administered by the IEEE.
  603.    Each node on a HIPPI-SC LAN should be assigned a ULA.  Multiple ULAs
  604.    may be used if a node contains more than one IEEE 802.2 LLC protocol
  605.    entity.
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Renwick                     Standards Track                    [Page 11]
  619.  
  620. RFC 2067                     IP over HIPPI                  January 1997
  621.  
  622.  
  623.    The format of the address within its 48 bit HIPPI-LE fields follows
  624.    IEEE 802.1A canonical bit order and HIPPI-FP bit and byte order:
  625.  
  626.      31              23              15               7              0
  627.      +-------------------------------+---------------+---------------+
  628.      |      (not used for ULA)       |ULA byte 0 |L|G|  ULA byte  1  |
  629.      +---------------+---------------+---------------+---------------+
  630.      |  ULA byte  2  |  ULA byte  3  |  ULA byte  4  |  ULA byte  5  |
  631.      +---------------+---------------+---------------+---------------+
  632.  
  633.                      Universal LAN MAC Address Format
  634.  
  635.         L (U/L bit) = 1 for Locally administered addresses, 0 for
  636.         Universal.
  637.         G (I/G bit) = 1 for Group addresses, 0 for Individual.
  638.  
  639.    The use of ULAs is optional, but encouraged.  Although ULAs are not
  640.    used by HIPPI-SC switches, they may be helpful for HIPPI Switch
  641.    Address resolution, and for distinguishing between multiple logical
  642.    entities that may exist within one node.  They may also be used by
  643.    gateway devices that replace HIPPI hardware headers with the MAC
  644.    headers of other LANs.  Carrying the ULAs in the HIPPI header may
  645.    simplify these devices, and it may also help if HIPPI is used as an
  646.    interface to some future HIPPI based LAN that uses ULAs for
  647.    addressing.
  648.  
  649. 5.3  I-Field format
  650.  
  651.    fi The I-field bits, as defined in HIPPI-SC, SHALL be set as follows:
  652.  
  653.          Locally Administered (bit 31) SHALL be zero.
  654.  
  655.          Reserved (bits 30, 29) should be zero.  Destinations SHALL
  656.          accept any value for these bits.
  657.  
  658.          Double wide (bit 28) SHALL be set when Source Cable B is
  659.          connected and the Source wants a 64 bit connection.  It SHALL
  660.          be zero otherwise.
  661.  
  662.          Direction (bit 27) should be sent as zero, however
  663.          Destinations SHALL accept either zero or one and interpret
  664.          the Routing Control field accordingly, per HIPPI-SC.
  665.  
  666.          Path Selection (bits 26, 25) SHALL be 00, 01, or 11 (binary)
  667.          at the Source's option.  00 (source route mode) indicates
  668.          that the I-field bits 23-00 contain a 24 bit source route; 01
  669.          or 11 (logical address mode) indicate that bits 23-00 contain
  670.          12 bit Source and Destination Addresses.  The value 11 is
  671.  
  672.  
  673.  
  674. Renwick                     Standards Track                    [Page 12]
  675.  
  676. RFC 2067                     IP over HIPPI                  January 1997
  677.  
  678.  
  679.          meaningful when more than one route exists from a Source to a
  680.          Destination; it allows the switch to choose the route.  Use
  681.          of 01 forces the switch always to use the same route for the
  682.          same Source/Destination pair.
  683.  
  684.          Camp-on (bit 24) may be 1 or 0; however, a Source SHALL NOT
  685.          make consecutive requests without Camp-on to the same
  686.          Destination while the requests are being rejected.  The
  687.          purpose of this restriction is to prevent a node from
  688.          circumventing the fair share arbitration mechanism of the
  689.          switch by repeating requests at a very high rate.
  690.  
  691.          If logical address mode is used:
  692.  
  693.             Source Address (bits 23-12) is not used.
  694.  
  695.             Destination Address (bits 11-0) SHALL contain the Switch
  696.             Address of the Destination.
  697.  
  698.         If source route mode is used:
  699.  
  700.             Routing control (bits 23-00) SHALL contain the route to
  701.             the Destination.
  702.  
  703. 5.4  Rules For Connections
  704.  
  705.    The following rules for connection management by Source and
  706.    Destination are intended to insure frequent, fair share access to
  707.    Destinations for which multiple Sources are contending.  If possible,
  708.    nodes should transfer data at full HIPPI speeds and hold connections
  709.    no longer than necessary.
  710.  
  711.    A source may hold a connection for as long as it takes to send 68
  712.    HIPPI bursts at what ever speed the two connected nodes can achieve
  713.    together.  The number of packets sent in one connection is not
  714.    limited, except that the number of bursts over all the packets should
  715.    not exceed 68.  This is not a recommendation to send as many packets
  716.    as possible per connection; one packet per connection is acceptable.
  717.    The purpose of this limit is to give each Source an fair share of a
  718.    common Destination's bandwidth.  Without a limit, if there is a
  719.    Destination that is constantly in demand by multiple Sources, the
  720.    Source that sends the most data per connection wins the greatest
  721.    share of bandwidth.
  722.  
  723.    The limit of 68 bursts is not absolute.  An implementation may check
  724.    the burst count after transmission of a packet and end the connection
  725.    if it is greater than or equal to some threshold.  If this is done,
  726.    the threshold should be less than 68 depending on the typical packet
  727.  
  728.  
  729.  
  730. Renwick                     Standards Track                    [Page 13]
  731.  
  732. RFC 2067                     IP over HIPPI                  January 1997
  733.  
  734.  
  735.    size, to ensure that the 68 burst limit is not normally exceeded.
  736.    For instance, a Source sending 64K packets would send two per
  737.    connection (130 bursts) if it checked for 68 at the end of each
  738.    packet.  In this situation the Source is required to check for a
  739.    value small enough that it will not send a second packet in the same
  740.    connection.
  741.  
  742.    Destinations SHALL accept all packets that arrive during a
  743.    connection, and may discard those that exceed its buffering capacity.
  744.    A Destination SHALL NOT abort a connection (deassert CONNECT) simply
  745.    because too many bursts were received; however a Destination may
  746.    abort a connection whose duration has exceeded a time period of the
  747.    Destination's choosing, as long as the Source is allowed ample time
  748.    to transmit its quota of bursts.
  749.  
  750.    The rules admonish the node to do certain things as fast as it can,
  751.    however there is no absolute measure of compliance.  Nodes that
  752.    cannot transfer data at full HIPPI speeds can still interoperate but
  753.    the faster the implementation, the better the performance of the
  754.    network will be.
  755.  
  756.    Assuming that bursts flow at the maximum rate, the most important
  757.    factor in network throughput is the connection switching time,
  758.    measured from the deassertion of REQUEST by the Source at the end of
  759.    one connection to its first assertion of BURST after the
  760.    establishment of the new connection.
  761.  
  762.    Implementations should keep this time as short as possible.  For a
  763.    guideline, assuming parallel HIPPI and a single HIPPI-SC switch, ten
  764.    microseconds permits nearly full HIPPI throughput with full-sized
  765.    packets, and at 60 microseconds the available throughput is reduced
  766.    by about 10%.  (See "Performance", below.)
  767.  
  768.    All HIPPI electrical signaling SHALL comply with HIPPI-PH.  In every
  769.    case, the following rules go beyond what HIPPI-PH requires.
  770.  
  771.    Rules for the Source
  772.  
  773.    1.  Do not assert REQUEST until a packet is ready to send.
  774.  
  775.    2.  Transmit bursts as quickly as READYs permit.  Except for
  776.        the required HIPPI Source Wait states, there should be no
  777.        delay in the assertion of BURST whenever the Source's READY
  778.        counter is nonzero.
  779.  
  780.    3.  Make a best effort to ensure that connection durations do
  781.        not exceed 68 bursts.
  782.  
  783.  
  784.  
  785.  
  786. Renwick                     Standards Track                    [Page 14]
  787.  
  788. RFC 2067                     IP over HIPPI                  January 1997
  789.  
  790.  
  791.    4.  Deassert REQUEST immediately when no packet is available
  792.        for immediate transmission or the last packet of the
  793.        connection has been sent.
  794.  
  795.    Rules for the Destination
  796.  
  797.    1.   Reject all connections if unable to receive packets.
  798.         This frees the requesting Source to connect to other
  799.         Destinations with a minimum of delay.  Inability to receive
  800.         packets is not a transient condition, but is the state of the
  801.         Destination when its network interface is not initialized.
  802.  
  803.    2.  A HIPPI node should be prepared to efficiently accept
  804.        connections and process incoming data packets.  While this
  805.        may be best achieved by not asserting connect unless 68
  806.        bursts worth of buffers is available, it may be possible to
  807.        meet this requirement with fewer buffers.  This may be due to
  808.        a priori agreement between nodes on packet sizes, the speed
  809.        of the interface to move buffers, or other implementation
  810.        dependent considerations.
  811.  
  812.    3.  Accept a connection immediately when buffers are
  813.        available.  The Destination should never delay the acceptance
  814.        of a connection unnecessarily.
  815.  
  816.    4.  Once initialized, a Destination may reject connection
  817.        requests only for one of the following reasons:
  818.  
  819.      1.  The I-field was received with incorrect parity.
  820.  
  821.      2.  The I-field contents are invalid, e.g. the "W" bit set when the
  822.          Destination does not support the 1600 megabit data rate option,
  823.          the "Locally Administered" bit is set, the Source is not
  824.          permitted to send to this Destination, etc.
  825.  
  826.      Transient conditions within the Destination, such as temporary
  827.      buffer shortages, must never cause rejected connections.
  828.  
  829.    5.  Ignore aborted connection sequences.  Sources may time
  830.        out and abandon attempts to connect; therefore aborted
  831.        connection sequences are normal events.
  832.  
  833. 5.5  MTU
  834.  
  835.    Maximum Transmission Unit (MTU) is defined as the length of the IP
  836.    packet, including IP header, but not including any overhead below IP.
  837.    Conventional LANs have MTU sizes determined by physical layer
  838.    specification.  MTUs may be required simply because the chosen medium
  839.  
  840.  
  841.  
  842. Renwick                     Standards Track                    [Page 15]
  843.  
  844. RFC 2067                     IP over HIPPI                  January 1997
  845.  
  846.  
  847.    won't work with larger packets, or they may serve to limit the amount
  848.    of time a node must wait for an opportunity to send a packet.
  849.  
  850.    HIPPI has no inherent limit on packet size.  The HIPPI-FP header
  851.    contains a 32 bit D2_Size field that, while it may limit packets to
  852.    about 4 gigabytes, imposes no practical limit for networking
  853.    purposes.  Even so, a HIPPI-SC switch used as a LAN needs an MTU so
  854.    that Destination buffer sizes can be determined.
  855.  
  856.    The MTU for HIPPI-SC LANs is 65280 bytes.
  857.  
  858.    This value was selected because it allows the IP packet to fit in one
  859.    64K byte buffer with up to 256 bytes of overhead.  The overhead is 40
  860.    bytes at the present time; there are 216 bytes of room for expansion.
  861.  
  862.          HIPPI-FP Header                  8 bytes
  863.          HIPPI-LE Header                 24 bytes
  864.          IEEE 802.2 LLC/SNAP Headers      8 bytes
  865.          Maximum IP packet size (MTU) 65280 bytes
  866.                                       ------------
  867.                            Total      65320 bytes (64K - 216)
  868.  
  869. 6  Camp-on
  870.  
  871.    When several Sources contend for a single Destination, the Camp-on
  872.    feature allows the HIPPI-SC switch to arbitrate and ensure that all
  873.    Sources have fair access.  (HIPPI-SC does not specify the method of
  874.    arbitration.)  Without Camp-on, the contending Sources would simply
  875.    have to retry the connection repeatedly until it was accepted, and
  876.    the fastest Source would usually win.  To guarantee fair share
  877.    arbitration, Sources are prohibited from making repeated requests to
  878.    the same Destination without Camp-on in such a way as to defeat the
  879.    arbitration.
  880.  
  881.    There is another important reason to use Camp-on: when a connection
  882.    without Camp-on is rejected, the Source cannot determine whether the
  883.    rejection came from the requested Destination or from the switch.
  884.    The Source also cannot tell the reason for the rejection, which could
  885.    be either that the Destination was off line or not cabled, or the I-
  886.    field was erroneous or had incorrect parity.  Sources should not
  887.    treat a rejection of a request without Camp-on as an error.  Camp-on
  888.    prevents rejection due to the temporary busy case; with one
  889.    exception, rejection of a Camp-on request indicates an error
  890.    condition, and an error event can be recorded.  The exception occurs
  891.    when a 64 bit connection is attempted to a Destination that does not
  892.    have Cable B connected, resulting in a reject.  This case is covered
  893.    in "Channel Data Rate Discovery", below.
  894.  
  895.  
  896.  
  897.  
  898. Renwick                     Standards Track                    [Page 16]
  899.  
  900. RFC 2067                     IP over HIPPI                  January 1997
  901.  
  902.  
  903. 7  Path MTU Discovery
  904.  
  905.    RFC 1191 [9] describes the method of determining MTU restrictions on
  906.    an arbitrary network path between two hosts.  HIPPI nodes may use
  907.    this method without modification to discover restrictions on paths
  908.    between HIPPI-SC LANs and other networks.  Gateways between HIPPI-SC
  909.    LANs and other types of networks should implement RFC 1191.
  910.  
  911. 8  Channel Data Rate Discovery
  912.  
  913.    HIPPI exists in two data rate options (800 megabit/second and 1600
  914.    megabit/second).  The higher data rate is achieved by making the
  915.    HIPPI 64 bits parallel instead of 32, using an extra cable containing
  916.    32 additional data bits and four parity bits.  HIPPI-SC switches can
  917.    be designed to attach to both.  Source and Destination HIPPI
  918.    implementations can be designed to operate at either rate, selectable
  919.    at the time a connection is established.  The "W" bit (bit 28) of the
  920.    I-field controls the width of the connection through the switch.
  921.    Sources with both cables A and B attached to the switch may set the
  922.    "W" bit to request a 1600 megabit/second connection.  If the
  923.    requested destination also has both cables attached, the switch can
  924.    connect Source to Destination on both cables.  If the requested
  925.    Destination has only Cable A, the switch rejects the request.
  926.    Sixty-four bit Sources can connect to 32 bit Destinations by
  927.    requesting with the "W" bit clear and not using Cable B.  Sixty-four
  928.    bit Destinations must examine the "W" bit in the received I-field and
  929.    use or ignore Cable B accordingly.  Note that both INTERCONNECT
  930.    signals stay active while a 64 bit HIPPI is used in 32 bit mode.
  931.  
  932.    The following table summarizes the possible combinations, the
  933.    switch's action for each, and the width of the resulting connection.
  934.  
  935.                                      Destination
  936.                       +-------------------+-------------------+
  937.                       |        32         |        64         |
  938.            +----+-----+-------------------+-------------------+
  939.            |    | W=0 |     Accept 32     |     Accept 32     |
  940.            | 32 +-----+-------------------+-------------------+
  941.            |    | W=1 |        N/A        |        N/A        |
  942.    Source  +----+-----+-------------------+-------------------+
  943.            |    | W=0 |     Accept 32     |     Accept 32     |
  944.            | 64 +-----+-------------------+-------------------+
  945.            |    | W=1 |      Reject       |     Accept 64     |
  946.            +----+-----+-------------------+-------------------+
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Renwick                     Standards Track                    [Page 17]
  955.  
  956. RFC 2067                     IP over HIPPI                  January 1997
  957.  
  958.  
  959. HIPPI Connection Combinations
  960.  
  961.    If the path between a 64 bit Source and a 64 bit Destination includes
  962.    more than one switch, and the route between switches uses a link that
  963.    is only 32 bits wide, the switch rejects 64 bit connection requests
  964.    as if the Destination did not have 64 bit capability.
  965.  
  966.    In a mixed LAN of 32 bit and 64 bit HIPPIs, a 64 bit Source needs to
  967.    know the data rates available at each Destination and on the path to
  968.    it.  This can be known a priori by manual configuration, or it can be
  969.    discovered dynamically.  The only reliable method of discovery is
  970.    simply to attempt a 64 bit connection with Camp-on.  As long as 64
  971.    bit connections succeed, the Source knows the Destination and path
  972.    are double width.  If a 64 bit connection is rejected, the Source
  973.    tries to connect for 32 bits.  If the 32 bit connection succeeds, the
  974.    Source assumes that the Destination or path is not capable of double
  975.    width operation, and uses only 32 bit requests after that.  If the 32
  976.    bit request is rejected, the Source assumes that the Destination or
  977.    path is down and makes no determination of its capability.
  978.  
  979.    The Double_Wide bit in the HIPPI-LE header, if nonzero, gives the
  980.    node that receives it a hint that the 64 bit connection attempt may
  981.    be worthwhile when sending on the return path.
  982.  
  983.    Note that Camp-on must be used at least in the 64 bit attempt,
  984.    because it removes some ambiguity from the meaning of rejects.  If
  985.    the request is made with the "W" bit and no Camp-on, a reject could
  986.    mean either that the Destination has no Cable B or that it is simply
  987.    busy, and no conclusion can be drawn as to its status for 64 bit
  988.    connections.
  989.  
  990. 9  Performance
  991.  
  992.    The HIPPI connection rules are designed to permit best utilization of
  993.    the available HIPPI throughput under the constraint that each
  994.    Destination must be made available frequently to receive packets from
  995.    different Sources.  This discipline asks both Sources and
  996.    Destinations to minimize connection setup overhead to deliver high
  997.    performance.  Low connection setup times are easily achieved by
  998.    hardware implementations, but overhead may be too high if software is
  999.    required to execute between the initial request of a connection and
  1000.    the beginning of data transfer.  Hardware implementations in which
  1001.    connection setup and data transfer proceed from a single software
  1002.    action are very desirable.
  1003.  
  1004.    HIPPI connections are controlled by HIPPI Sources; a Destination,
  1005.    being unable to initiate a disconnect without the possibility of data
  1006.    loss, is a slave to the Source once it has accepted a connection.
  1007.  
  1008.  
  1009.  
  1010. Renwick                     Standards Track                    [Page 18]
  1011.  
  1012. RFC 2067                     IP over HIPPI                  January 1997
  1013.  
  1014.  
  1015.    Optimizations of connection strategy are therefore the province of
  1016.    the HIPPI Source, and several optimizations are permitted.
  1017.  
  1018.    If the rate of available message traffic is less than the available
  1019.    HIPPI throughput and Destinations are seldom busy when a connection
  1020.    is requested, connection optimizations do not pay off and the
  1021.    simplest strategy of waiting indefinitely for each connection to be
  1022.    made and sending messages strictly in the order queued cannot be
  1023.    improved upon.  However if some nodes are slow, or network
  1024.    applications can send or receive messages at a higher aggregate rate
  1025.    than the available HIPPI bandwidth, Sources may frequently encounter
  1026.    a busy Destination.  In these cases, certain host output queuing
  1027.    strategies may enhance channel utilization.  Sources may maintain
  1028.    separate output queues for different HIPPI Destinations, and abandon
  1029.    one Destination in favor of another if a connection attempt without
  1030.    Camp-on is rejected or a connection request with Camp-on is not
  1031.    accepted within a predetermined interval.  Such a strategy results in
  1032.    aborted connection sequences (defined in HIPPI-PH:  REQUEST is
  1033.    deasserted before any data is sent).  Destinations must treat these
  1034.    as normal events, perhaps counting them but otherwise ignoring them.
  1035.  
  1036.    Two components of connection setup time are out of the control of
  1037.    both Source and Destination.  One is the time required for the switch
  1038.    to connect Source to Destination, currently less than four
  1039.    microseconds in the largest commercially available (32 port) switch.
  1040.    The second component is the round trip propagation time of the
  1041.    REQUEST and CONNECT signals, negligible on a standard 25 meter copper
  1042.    HIPPI cable, but contributing a total of about 10 microseconds per
  1043.    kilometer on fiber optic links.  HIPPI-SC LANs spanning more than a
  1044.    few kilometers will have reduced throughput.  Limited span networks
  1045.    with buffered gateways or bridges between them may perform better
  1046.    than long serial HIPPI links.
  1047.  
  1048.    A Source is required to drop its connection after the transmission of
  1049.    68 HIPPI bursts.  This number was chosen to allow the transmission of
  1050.    one maximum sized packet or a reasonable number of smaller sized
  1051.    packets.  The following table lists some possibilities, with
  1052.    calculated maximum burst and throughput rates in millions (10**6) of
  1053.    bytes per second:
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Renwick                     Standards Track                    [Page 19]
  1067.  
  1068. RFC 2067                     IP over HIPPI                  January 1997
  1069.  
  1070.  
  1071.                      Maximum HIPPI Throughput Rates
  1072.  
  1073.         Number  Number  Hold  Burst  ------Max throughput MB/sec-------
  1074.    User   of      of    Time  Rate    Connection Setup Overhead (usec)
  1075.    Data Packets Bursts (usec) MB/sec  10    30    60    90   120   150
  1076.    ---- ------- ------ ------ ------ ----  ----  ----  ----  ----  ----
  1077.    63K     1      64    654    98.7  97.2  94.4  90.4  86.8  83.4  80.3
  1078.    32K     2      66    665    98.6  97.1  94.3  90.4  86.8  83.5  80.4
  1079.    16K     4      68    667    98.3  96.8  94.1  90.2  86.6  83.3  80.2
  1080.     8K     7      63    587    97.8  96.1  93.0  88.7  84.8  81.2  77.8
  1081.     4K    13      65    551    96.7  95.0  91.7  87.2  83.1  79.4  76.0
  1082.     2K    22      66    476    94.6  92.7  89.0  84.0  79.6  75.6  72.0
  1083.     1K    34      68    384    90.8  88.5  84.2  78.5  73.5  75.8  65.3
  1084.  
  1085.    These calculations are based 259 40 ns clock periods to transmit a
  1086.    full burst and 23 clock periods for a short burst.  (HIPPI-PH
  1087.    specifies three clock periods of overhead per burst.) A packet of "n"
  1088.    kilobytes of user data consists of "n" full bursts and one short
  1089.    burst equal in length to the number of bytes in the HIPPI, LLC, IP
  1090.    and TCP headers.  "Hold Time" is the minimum connection duration
  1091.    needed to send the packets.  "Burst Rate" is the effective transfer
  1092.    rate for the duration of the connection, not counting connection
  1093.    switching time.  Throughput rates are in megabytes/second, accounting
  1094.    for connection switching times of 10, 30, 60, 90, 120 and 150
  1095.    microseconds.  These calculations ignore any limit on the rate at
  1096.    which a Source or Destination can process small packets; such limits
  1097.    may further reduce the available throughput if small packets are
  1098.    used.
  1099.  
  1100. 10 Sharing the Switch
  1101.  
  1102.    Network interconnection is only one potential application of HIPPI
  1103.    and HIPPI-SC switches.  While network applications need very frequent
  1104.    transient connections, other applications may favor longer term or
  1105.    even permanent connections between Source and Destination.  Since the
  1106.    switch can serve each Source or Destination with hardware paths
  1107.    totally separate from every other, it is quite feasible to use the
  1108.    same switch to support LAN interconnects and computer/peripheral
  1109.    applications simultaneously.
  1110.  
  1111.    Switch sharing is no problem when unlike applications do not share a
  1112.    HIPPI cable on any path.  However if a host must use a single input
  1113.    or output cable for network as well as other kinds of traffic, or if
  1114.    a link between switches must be shared, care must be taken to ensure
  1115.    that all applications are compatible with the connection discipline
  1116.    described in this memo.  Applications that hold connections too long
  1117.    on links shared with network traffic may cause loss of network
  1118.    packets or serious degradation of network service.
  1119.  
  1120.  
  1121.  
  1122. Renwick                     Standards Track                    [Page 20]
  1123.  
  1124. RFC 2067                     IP over HIPPI                  January 1997
  1125.  
  1126.  
  1127. 11 References
  1128.  
  1129.    [1]  ANSI X3.183-1991, High-Performance Parallel Interface -
  1130.         Mechanical, Electrical and Signalling Protocol Specification
  1131.         (HIPPI-PH).
  1132.  
  1133.    [2]  ANSI X3.210-1992, High-Performance Parallel Interface - Framing
  1134.         Protocol (HIPPI-FP).
  1135.  
  1136.    [3]  ANSI X3.218-1993, High-Performance Parallel Interface -
  1137.         Encapsulation of IEEE 802.2 (IEEE Std 802.2) Logical Link
  1138.         Control Protocol Data Units (802.2 Link Encapsulation) (HIPPI-
  1139.         LE).
  1140.  
  1141.    [4]  ANSI X3.222-1993, High-Performance Parallel Interface - Physical
  1142.         Switch Control (HIPPI-SC).
  1143.  
  1144.    [5]  Postel, J., "Internet Protocol", STD 5, RFC 791, USC/Information
  1145.         Sciences Institute, September 1981.
  1146.  
  1147.    [6]  IEEE, "IEEE Standards for Local Area Networks: Logical Link
  1148.         Control", IEEE, New York, New York, 1985.
  1149.  
  1150.    [7]  IEEE, "IEEE Standards for Local Area Networks: Logical Link
  1151.         Control", IEEE, New York, New York, 1985.
  1152.  
  1153.    [8]  Reynolds, J.K., and Postel, J., "Assigned Numbers", STD 2, RFC
  1154.         1340, USC/Information Sciences Institute, July 1992.
  1155.  
  1156.    [9]  Mogul, J.C., and Deering, S.E., "Path MTU discovery", RFC 1191,
  1157.         Stanford University, November, 1990.
  1158.  
  1159. 12 Security Considerations
  1160.  
  1161.    Security issues are not discussed in this memo.
  1162.  
  1163. 13 Author's Address
  1164.  
  1165.    John K. Renwick
  1166.    NetStar, Inc.
  1167.    10250 Valley View Road
  1168.    Minneapolis, MN USA 55344
  1169.  
  1170.    Phone: (612) 996-6847
  1171.    EMail: jkr@NetStar.com
  1172.  
  1173.    Mailing List: hippi-ext@think.com
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Renwick                     Standards Track                    [Page 21]
  1179.  
  1180. RFC 2067                     IP over HIPPI                  January 1997
  1181.  
  1182.  
  1183. 14 Appendix A -- HIPPI Basics
  1184.  
  1185.    This section is included as an aid to readers who are not completely
  1186.    familiar with the HIPPI standards.
  1187.  
  1188.    HIPPI-PH describes a parallel copper data channel between a Source
  1189.    and a Destination.  HIPPI transmits data in one direction only, so
  1190.    that two sets are required for bidirectional flow.  The following
  1191.    figure shows a simple point-to-point link between two computer
  1192.    systems:
  1193.  
  1194.    +----------+                                        +----------+
  1195.    |          |                                        |          |
  1196.    |          +--------+                      +--------+          |
  1197.    |          | HIPPI  |        Cable         | HIPPI  |          |
  1198.    |          |        +--------------------->|        |          |
  1199.    |          | Source |                      | Dest.  |          |
  1200.    |  System  +--------+                      +--------+  System  |
  1201.    |    X     +--------+                      +--------+    Y     |
  1202.    |          | HIPPI  |        Cable         | HIPPI  |          |
  1203.    |          |        |<---------------------+        |          |
  1204.    |          | Dest.  |                      | Source |          |
  1205.    |          +--------+                      +--------+          |
  1206.    |          |                                        |          |
  1207.    +----------+                                        +----------+
  1208.  
  1209. A Simple HIPPI Duplex Link
  1210.  
  1211.    Parallel copper cables may be up to 25 meters in length.
  1212.  
  1213.    In this document, all HIPPI connections are assumed to be paired
  1214.    HIPPI channels.
  1215.  
  1216.    HIPPI-PH has a single optional feature: it can use a single cable in
  1217.    each direction for a 32 bit parallel channel with a maximum data rate
  1218.    of 800 megabit/second, or two cables for 64 bits and 1600
  1219.    megabit/second.  Cable A carries bits 0-31 and is used in both modes;
  1220.    Cable B carries bits 32-63 and is use only with the 1600
  1221.    megabit/second data rate option.
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Renwick                     Standards Track                    [Page 22]
  1235.  
  1236. RFC 2067                     IP over HIPPI                  January 1997
  1237.  
  1238.  
  1239. HIPPI Signal Hierarchy
  1240.  
  1241.    HIPPI has the following hardware signals:
  1242.  
  1243.       Source to Destination
  1244.  
  1245.          INTERCONNECT A
  1246.          INTERCONNECT B (64 bit only)
  1247.          CLOCK (25 MHz)
  1248.          REQUEST
  1249.          PACKET
  1250.          BURST
  1251.          DATA (32 or 64 signals)
  1252.          PARITY (4 or 8 signals)
  1253.  
  1254.       Destination to Source
  1255.  
  1256.          INTERCONNECT A
  1257.          INTERCONNECT B (64 bit only)
  1258.          CONNECT
  1259.          READY
  1260.  
  1261.    The INTERCONNECT lines carry DC voltages that indicate that the cable
  1262.    is connected and that the remote interface has power.  INTERCONNECT
  1263.    is not used for signaling.
  1264.  
  1265.    The CLOCK signal is a continuous 25 MHz (40 ns period) square wave.
  1266.    All Source-to-Destination signals are synchronized to the clock.
  1267.  
  1268.    The REQUEST and CONNECT lines are used to establish logical
  1269.    connections.  A connection is always initiated by a Source as it
  1270.    asserts REQUEST.  At the same time it puts 32 bits of data on DATA
  1271.    lines 0-31, called the I-field.  The Destination samples the DATA
  1272.    lines and can complete a connection by asserting CONNECT.  Packets
  1273.    can be transmitted only while both REQUEST and CONNECT are asserted.
  1274.  
  1275.    A Destination can also reject a connection by asserting CONNECT for
  1276.    only a short interval between 4 and 16 HIPPI clock periods (160-640
  1277.    nanoseconds).  The Source knows a connection has been accepted when
  1278.    CONNECT is asserted for more than 16 clocks or it receives a READY
  1279.    pulse.
  1280.  
  1281.    Either Source or Destination can terminate a connection by
  1282.    deasserting REQUEST or CONNECT, respectively.  Normally connections
  1283.    are terminated by the Source after its last Packet has been sent.  A
  1284.    Destination cannot terminate a connection without potential loss of
  1285.    data.
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Renwick                     Standards Track                    [Page 23]
  1291.  
  1292. RFC 2067                     IP over HIPPI                  January 1997
  1293.  
  1294.  
  1295.                   +------+-------------------------+------+
  1296.                   | Idle |        Connected        | Idle | . . .
  1297.                   +------+-------------------------+------+
  1298.                         /                           \
  1299.                        /                             \
  1300.                       /                               \
  1301.                      /                                 \
  1302.                     /                                   \
  1303.                    +-------+ +-------+ +-------+ +-------+
  1304.                    |I-field| |Packet | |Packet | |Packet |
  1305.                    +-------+ +-------+ +-------+ +-------+
  1306.                             /         \
  1307.                            /           \
  1308.                           /             \
  1309.                          /               \
  1310.                         /                 \
  1311.                        /                   \
  1312.                       /                     \
  1313.                      +-----+ +-----+   +-----+
  1314.                      |Burst| |Burst|...|Burst|
  1315.                      +-----+ +-----+   +-----+
  1316.  
  1317.                     HIPPI Logical Framing Hierarchy
  1318.  
  1319.    The Source asserts PACKET for the duration of a Packet transmission,
  1320.    deasserting it to indicate the end of a Packet.  A sequence of Bursts
  1321.    comprise a Packet.  To send a burst, a Source asserts the BURST
  1322.    signal for 256 clock periods, during which it places 256 words of
  1323.    data on the DATA lines.  The first or last Burst of a Packet may be
  1324.    less than 256 clock periods, allowing the transmission of any
  1325.    integral number of 32 or 64 bit words in a Packet.
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Renwick                     Standards Track                    [Page 24]
  1347.  
  1348. RFC 2067                     IP over HIPPI                  January 1997
  1349.  
  1350.  
  1351.    The READY signal is a pulse four or more clock periods long.  Each
  1352.    pulse signals the Source that the Destination can receive one Burst.
  1353.    The Destination need not wait for a burst before sending another
  1354.    READY if it has burst buffers available; up to 63 unanswered READYs
  1355.    may be sent, allowing HIPPI to operate at full speed over distances
  1356.    of many kilometers.  If a Source must wait for flow control, it
  1357.    inserts idle periods between Bursts.
  1358.  
  1359.                 +------------------------------------------------+
  1360.       REQUEST---+                                                +----
  1361.                       +--------------------------------------------+
  1362.       CONNECT---------+                                            +--
  1363.                          +---------------------------------------+
  1364.       PACKET-------------+                                       +----
  1365.  
  1366.                        +-+   +-+   +-+   +-+   +-+   +-+   +-+   +-+
  1367.       READY------------+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +--
  1368.  
  1369.                          +-------+ +-------+ +-------+ +-----+
  1370.       BURST--------------+       +-+       +-+       +-+     +--------
  1371.  
  1372.       DATA------I-field----DATA------DATA------DATA-----DATA----------
  1373.  
  1374.                       HIPPI Signal Timing Diagram
  1375.  
  1376. Serial HIPPI
  1377.  
  1378.    There is no ANSI standard for HIPPI other than the parallel copper
  1379.    cable version.  However an implementors' agreement exists, specifying
  1380.    a serial protocol to extend HIPPI signals on optical fiber or coaxial
  1381.    copper cable.  Serial links may be used interchangeably with parallel
  1382.    links to overcome HIPPI distance limitations; they are transparent to
  1383.    the Source and Destination, except for the possibility of longer
  1384.    propagation delays.
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Renwick                     Standards Track                    [Page 25]
  1403.  
  1404. RFC 2067                     IP over HIPPI                  January 1997
  1405.  
  1406.  
  1407. I-Field and Switch Control
  1408.  
  1409.    The REQUEST, CONNECT and I-field features of HIPPI-PH were designed
  1410.    for the control of switches as described in HIPPI-SC.  A switch is a
  1411.    hub with a number of input and output HIPPI ports.  HIPPI Sources are
  1412.    cabled to switch input ports, and switch output ports are cabled to
  1413.    HIPPI Destinations.  When a HIPPI Source requests a connection, the
  1414.    switch interprets the I-field to select an output port and
  1415.    electrically connects the HIPPI Source to the HIPPI Destination on
  1416.    that port.  Once connected, the switch does not interact with the
  1417.    HIPPIs in any way until REQUEST or CONNECT is deasserted, at which
  1418.    time it breaks the physical connection and deasserts its output
  1419.    signals to both sides.  Some existing switch implementations can
  1420.    switch connections in less than one microsecond.  There is the
  1421.    potential for as many simultaneous connections, each transferring
  1422.    data at HIPPI speeds, as there are input or output ports on the
  1423.    switch.  A switch offers much greater total throughput capacity than
  1424.    broadcast or ring media.
  1425.  
  1426.       31    28  26    23                      11                     0
  1427.       +-+---+-+-+---+-+-----------------------+-----------------------+
  1428.       |L|   |W|D|PS |C|    Source Address     |  Destination Address  |
  1429.       +-+---+-+-+---+-+-----------------------+-----------------------+
  1430.  
  1431.                   HIPPI-SC I-field Format (Logical Address Mode)
  1432.  
  1433.            L  = Locally defined (1 => entire I-field is locally defined)
  1434.            W  = Width (1 => 64 bit connection)
  1435.            D  = Direction (1 => swap Source and Destination Address)
  1436.            PS = Path Selection (01 => Logical Address Mode)
  1437.            C  = Camp-on (1 => wait until Destination is free)
  1438.  
  1439.    HIPPI-SC defines I-field formats for two different addressing modes.
  1440.    The first, called Source Routing, encodes a string of port numbers in
  1441.    the lower 24 bits.  This string specifies a route over a number of
  1442.    switches.  A Destination's address may differ from one Source to
  1443.    another if multiple switches are used.
  1444.  
  1445.    The second format, called Logical Address Mode, defines two 12 bit
  1446.    fields, Source Address and Destination Address.  A Destination's 12
  1447.    bit Switch Address is the same for all Sources.  Switches commonly
  1448.    have address lookup tables to map 12 bit logical addresses to
  1449.    physical ports.  This mode is used for networking.
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Renwick                     Standards Track                    [Page 26]
  1459.  
  1460. RFC 2067                     IP over HIPPI                  January 1997
  1461.  
  1462.  
  1463. Control fields in the I-field are:
  1464.  
  1465.    L  The "Locally Defined" bit, when set, indicates that the I-field
  1466.       is not in the standard format.  The meaning of bits 30-0 are
  1467.       locally defined.
  1468.  
  1469.    W  The Width bit, when set, requests a 64 bit connection through
  1470.       the switch.  It is meaningless if Cable B is not installed at
  1471.       the Source.  If W is set and either the Source or the requested
  1472.       Destination has no Cable B to the switch, the switch rejects
  1473.       the connection.  Otherwise the switch connects both Cable A and
  1474.       Cable B if W is set, or Cable A only if W is clear.  This
  1475.       feature is useful if both Source and Destination
  1476.       implementations can selectively disable or enable Cable B on
  1477.       each new connection.
  1478.  
  1479.    D  The Direction bit, when set, reverses the sense of the Source
  1480.       Address and Destination Address fields.  In other words, D=1
  1481.       means that the Source Address is in bits 0-11 and the
  1482.       Destination Address is in bits 12-23.  This bit was defined to
  1483.       give devices a simple way to route return messages.  It is not
  1484.       useful for LAN operations.
  1485.  
  1486.    PS The Path Selection field determines whether the I-field
  1487.       contains Source Route or Address information, and in Logical
  1488.       Address mode, whether the switch may select from multiple
  1489.       possible routes to the destination.  The value "01" selects
  1490.       Logical Address mode and fixed routes.
  1491.  
  1492.    C  The Camp-on bit requests the switch not to reject the
  1493.       connection if the selected Destination is busy (connected to
  1494.       another Source) but wait and make the connection when the
  1495.       Destination is free.
  1496.  
  1497. 15 Appendix B -- How to Build a Practical HIPPI LAN
  1498.  
  1499.    "IP on HIPPI" describes the network host's view of a HIPPI local area
  1500.    network without providing much information on the architecture of the
  1501.    network itself.  Here we describe a network constructed from
  1502.    available HIPPI components, having the following characteristics:
  1503.  
  1504.    1.  A tree structure with a central HIPPI-SC compliant hub and
  1505.    optional satellite switches
  1506.  
  1507.    2.  Each satellite is connected to the hub by just one bidirectional
  1508.    HIPPI link.
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Renwick                     Standards Track                    [Page 27]
  1515.  
  1516. RFC 2067                     IP over HIPPI                  January 1997
  1517.  
  1518.  
  1519.    3.  Serial HIPPI or transparent fiber optic HIPPI extender devices
  1520.    may be used in any link.
  1521.  
  1522.    4.  Some satellites may be a particular switch product which is not
  1523.    HIPPI-SC compliant.
  1524.  
  1525.    5.  Host systems are attached either directly to the hub or to
  1526.    satellites, by single bidirectional links in which both HIPPI cables
  1527.    go to the same numbered switch port.
  1528.  
  1529. Switch Address Management
  1530.  
  1531.    Switch addresses use a flat address space.  The 12-bit address is
  1532.    subdivided into 6 bits of switch number and 6 bits of port number.
  1533.  
  1534.    11                       5                     0
  1535.       +-----------------------+-----------------------+
  1536.       |     Switch Number     |      Port Number      |
  1537.       +-----------------------+-----------------------+
  1538.  
  1539. Logical Address Construction
  1540.  
  1541.    Switches may be numbered arbitrarily.  A given host's address
  1542.    consists of the number of the switch it is directly attached to and
  1543.    the physical port number on that switch to which its input channel is
  1544.    attached.
  1545.  
  1546.    In the singly-connected tree structure, there is exactly one path
  1547.    between any pair of hosts.  Since each satellite must be connected
  1548.    directly to the hub, the maximum length of this path is three hops,
  1549.    and the minimum length is one.  Each HIPPI-SC compliant switch is
  1550.    programmed to map each of the host switch addresses to the
  1551.    appropriate output port: either the port to which the host is
  1552.    directly attached or a port that is linked to another switch in the
  1553.    path to it.
  1554.  
  1555. Special Treatment of Nonstandard Switches
  1556.  
  1557.    There is one commercially available switch that was designed
  1558.    before the drafting of HIPPI-SC and is not fully compliant.  It is
  1559.    in common use, so it is worth making some special provisions to
  1560.    allow its use in a HIPPI LAN.  This switch supports only the
  1561.    Source Route mode of addressing with a four bit right shift that
  1562.    can be disabled by a hardware switch on each input port.
  1563.    Addresses cannot be mapped.  The switch does not support the "W",
  1564.    "D", or "PS" fields of the I-field; it ignores their contents.
  1565.    Use of this switch as a satellite will require a slight deviation
  1566.    from normal I-field usage by the hosts that are directly attached
  1567.  
  1568.  
  1569.  
  1570. Renwick                     Standards Track                    [Page 28]
  1571.  
  1572. RFC 2067                     IP over HIPPI                  January 1997
  1573.  
  1574.  
  1575.    to it.  Hosts attached to standard switches are not affected.
  1576.  
  1577.    For a destination connected to a non compliant satellite, the
  1578.    satellite uses only the least significant four bits of the I-field
  1579.    as the address.  Since the address contains the destination's
  1580.    physical port number in the least significant bits, its port will
  1581.    be selected.  Nonstandard switches should be set to disable I-
  1582.    field shifting at the input from the hub, so that the destination
  1583.    host will see its correct switch address in the I-field when
  1584.    performing self-address discovery.  I-field shifting must be
  1585.    enabled on the satellite for each input port to which a host is
  1586.    attached.
  1587.  
  1588.    Hosts attached to nonstandard satellites must deviate from the
  1589.    normal I-field usage when connecting to hosts on another switch.
  1590.    It is suggested that all host implementations have this capability
  1591.    as long as the nonstandard switches remain in use.  The host must
  1592.    know, by some manual configuration method, that it is connected to
  1593.    a nonstandard switch, and it must have its "link port" number;
  1594.    that is, the number of the port on the satellite that is connected
  1595.    to the hub.
  1596.  
  1597.    The normal I-field format for a 32-bit connection, per the
  1598.    document, is this:
  1599.  
  1600.    31        26    23                      11                     0
  1601.    +---------+---+-+-----------------------+-----------------------+
  1602.    |0 0 0 0 0|x 1|C|        Unused         |  Destination Address  |
  1603.    +---------+---+-+-----------------------+-----------------------+
  1604.  
  1605.    The special I-field format is:
  1606.  
  1607.    31        26  24                15                     4 3     0
  1608.    +---------+---+-+---------------+-----------------------+-------+
  1609.    |0 0 0 0 0|x 1|C|    Unused     |  Destination Address  | Link  |
  1610.    +---------+---+-+---------------+-----------------------+-------+
  1611.  
  1612.    This I-field is altered by shifting the lower 24 bits left by four
  1613.    and adding the link port number.  Camp-on is optional, and the PS
  1614.    field is set to 01 or 11 (the host's option) as if the switch
  1615.    supported logical address mode.  All other I-field bits are set to
  1616.    zero.  When the host requests a connection with this I-field, the
  1617.    switch selects a connection through the link port to the hub, and
  1618.    shifts the lower 24 bits of the I-field right by four bits.  The link
  1619.    port number is discarded and the I-field passed through to the hub is
  1620.    a proper HIPPI-SC I-field selecting logical address mode.
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Renwick                     Standards Track                    [Page 29]
  1627.  
  1628. RFC 2067                     IP over HIPPI                  January 1997
  1629.  
  1630.  
  1631.    A host on a nonstandard satellite may use the special I-field format
  1632.    for all connection requests.  If connecting to another host on the
  1633.    same satellite, this will cause the connection to take an
  1634.    unnecessarily long path through the hub and back.  If an optimization
  1635.    is desired, the host can be given additional information to allow it
  1636.    to use the standard I-field format when connecting to another host on
  1637.    the same switch.  This information could consist of a list of the
  1638.    other hosts on the same switch, or the details of address formation,
  1639.    along with the switch number of the local satellite, which would
  1640.    allow the host to analyze the switch address to determine whether or
  1641.    not the destination is on the local switch.  This optimization is
  1642.    fairly complicated and may not always be worthwhile.
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682. Renwick                     Standards Track                    [Page 30]
  1683.  
  1684.