home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1000s / rfc1044.txt < prev    next >
Text File  |  1988-02-15  |  101KB  |  2,406 lines

  1. Network Working Group                                        K. Hardwick
  2. Request for Comments:  1044                                          NSC
  3.                                                             J. Lekashman
  4.                                                             NASA-Ames GE
  5.                                                            February 1988
  6.  
  7.  
  8.            Internet Protocol on Network Systems HYPERchannel
  9.                          Protocol Specification
  10.  
  11. STATUS OF THIS MEMO
  12.  
  13.    The intent of this document is to provide a complete discussion of
  14.    the protocols and techniques used to embed DoD standard Internet
  15.    Protocol datagrams (and its associated higher level protocols) on
  16.    Network Systems Corporation's HYPERchannel [1] equipment.
  17.    Distribution of this memo is unlimited.
  18.  
  19.    This document is intended for network planners and implementors who
  20.    are already familiar with the TCP/IP protocol suite and the
  21.    techniques used to carry TCP/IP traffic on common networks such as
  22.    the DDN or Ethernet.  No great familiarity with NSC products is
  23.    assumed; an appendix is devoted to a review of NSC technologies and
  24.    protocols.
  25.  
  26.    At the time of this first RFC edition, the contents of this document
  27.    has already been reviewed by about a dozen vendors and users active
  28.    in the use of TCP/IP on HYPERchannel media.  Comments and suggestions
  29.    are still welcome (and implementable,) however.
  30.  
  31.    Any comments or questions on this specification may be directed to:
  32.  
  33.       Ken Hardwick
  34.       Director, Software Technology
  35.       Network Systems Corporation MS029
  36.       7600 Boone Avenue North
  37.       Brooklyn Park, MN 55428
  38.  
  39.       Phone: (612) 424-1607
  40.  
  41.       John Lekashman
  42.       Nasa Ames Research Center. NAS/GE
  43.       MS 258-6
  44.       Moffett Field, CA, 94035
  45.       lekash@orville.nas.nasa.gov
  46.  
  47.       Phone: (415) 694-4359
  48.  
  49.  
  50.  
  51.  
  52. Hardwick & Lekashman                                            [Page 1]
  53.  
  54. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  55.  
  56.  
  57. TABLE OF CONTENTS
  58.  
  59.     Status of this memo  . . . . . . . . . .  . . . . . . . . . . . .  1
  60.     Goals of this document   . . . . . . . .  . . . . . . . . . . . .  3
  61.     Basic HYPERchannel network messages  . .  . . . . . . . . . . . .  4
  62.       Basic (16-bit address) Message Proper header  . . . . . . . . .  5
  63.       TO addresses and open driver architecture   . . . . . . . . . .  7
  64.       Extended (32-bit address) Message Proper header . . . . . . . .  8
  65.       Address Recognition and message forwarding .  . . . . . . . . . 10
  66.       32-bit message fields   . . . . . . . . . . . . . . . . . . . . 12
  67.     Broadcasting   . . . . . . . . . . . . . . . . . .  . . . . . . . 14
  68.  
  69.     PROTOCOL SPECIFICATION .  .  .  . . . . . . . . . . . . . . . . . 17
  70.       Basic (16-bit) Message Encapsulation    . . . . . . . . . . . . 18
  71.       Compatibility with existing implementations . . . . . . . . . . 21
  72.       Extended (32-bit) Message Encapsulation   . . . . . . . . . . . 24
  73.       Address Resolution Protocol   . . . . . . . . . . . . . . . . . 27
  74.       Maximum Transmission Unit . . . . . . . . . . . . . . . . . . . 31
  75.  
  76.     ADDRESS RESOLUTION    . . . . . . . . . . . . . . . . . . . . . . 32
  77.       Local Address Resolution  . . . . . . . . . . . . . . . . . . . 33
  78.       Configuration file format   . . . . . . . . . . . . . . . . . . 34
  79.       ARP servers   . . . . . . . . . . . . . . . . . . . . . . . . . 35
  80.       Broadcast ARP   . . . . . . . . . . . . . . . . . . . . . . . . 36
  81.  
  82.     Appendix A.
  83.     NSC Product Architecture and Addressing   . . . . . . . . . . . . 38
  84.  
  85.     Appendix B.
  86.     Network Systems HYPERchannel protocols    . . . . . . . . . . . . 42
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108. Hardwick & Lekashman                                            [Page 2]
  109.  
  110. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  111.  
  112.  
  113. GOALS OF THIS DOCUMENT
  114.  
  115.    In this document, there are four major technical objectives:
  116.  
  117.    1.  To bless a "de facto" standard for IP on HYPERchannel that  has
  118.        been implemented by Tektronix, Cray, NASA Ames, and others.
  119.        We are attempting to resolve some interoperability problems with
  120.        this standard so as to minimize the changes to existing IP on
  121.        HYPERchannel software.  If any ambiguities remain in the de facto
  122.        standard, we wish to assist in their resolution.
  123.  
  124.    2.  To address larger networks, NSC's newer network products are
  125.        moving to a 32-bit address from the current 16-bit TO address.
  126.        This document would introduce the addressing extension to the
  127.        user community and specify how IP datagrams would work in the
  128.        new addressing mode.
  129.  
  130.    3.  To define an Address Resolution Protocol for HYPERchannel and
  131.        other NSC products.  It is probably well known that current NSC
  132.        products do not support the broadcast modes that make ARP
  133.        particularly useful.  However, many have expressed interest in
  134.        "ARP  servers" at a known network address.  These servers could
  135.        fade away as NSC products with broadcast capability come into
  136.        existence.  Host drivers that can generate and recognize this
  137.        ARP protocol would be prepared to take advantage of it as the
  138.        pieces fall into place.
  139.  
  140.    4.  Part of this effort is to standardize the unofficial "message
  141.        type" field that reserves byte 8 of the HYPERchannel network
  142.        message.  To permit better interoperability, NSC will initiate a
  143.        "network protocol registry" where any interested party may
  144.        obtain a unique value in byte 8 (or bytes 8 and 9) for their own
  145.        public, private, commercial or proprietary protocol.  Lists of
  146.        assigned protocol type numbers and their "owners" will be
  147.        periodically published by NSC and would be available to
  148.        interested parties.
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164. Hardwick & Lekashman                                            [Page 3]
  165.  
  166. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  167.  
  168.  
  169. BASIC HYPERCHANNEL NETWORK MESSAGES
  170.  
  171.    Unlike most datagram delivery systems, the HYPERchannel network
  172.    message consists of two parts:
  173.  
  174.              Message Proper
  175.             +--------------------+
  176.             |                    |
  177.             |                    |
  178.             |     10-64 bytes    |
  179.             |                    |
  180.             |                    |
  181.             +--------------------+
  182.  
  183.              Associated Data
  184.             +----------------------------------------------------+
  185.             |                                                    |
  186.             |                                                    |
  187.             |                                                    |
  188.             |                                                    |
  189.             |           Unlimited length                         |
  190.             |                                                    |
  191.             |                                                    |
  192.             |                                                    |
  193.             |                                                    |
  194.             +----------------------------------------------------+
  195.  
  196.    The first part is a message header that can be up to 64 bytes in
  197.    length.  The first 10 bytes contain information required for the
  198.    delivery of the entire message, and the remainder can be used by
  199.    higher level protocols.  The second part of the message, the
  200.    "Associated Data," can be optionally included with the message
  201.    proper.  In most cases (transmission over HYPERchannel A trunks), the
  202.    length of the associated data is literally unlimited.  Others (such
  203.    as HYPERchannel B or transmission within a local HYPERchannel A A400
  204.    adapter) limit the size of the Associated Data to 4K bytes.  If the
  205.    information sent can be contained within the Message Proper, then the
  206.    Associated Data need not be sent.
  207.  
  208.    HYPERchannel lower link protocols treat messages with and without
  209.    Associated Data quite differently; "Message only" transmissions are
  210.    sent using abbreviated protocols and can be queued in the receiving
  211.    network adapter, thus minimizing the elapsed time needed to send and
  212.    receive the messages.  When associated data is provided, the
  213.    HYPERchannel A adapters free their logical resources towards driving
  214.    the host interface and coaxial trunks.
  215.  
  216.  
  217.  
  218.  
  219.  
  220. Hardwick & Lekashman                                            [Page 4]
  221.  
  222. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  223.  
  224.  
  225. BASIC (16-BIT ADDRESS) MESSAGE PROPER HEADER
  226.  
  227.    The first 10 bytes of the network Message Proper are examined by the
  228.    network adapters to control delivery of the network message.  Its
  229.    format is as follows:
  230.  
  231.     byte   Message Proper
  232.          +------------------------------+-----------------------------+
  233.       0  |      Trunks to Try           |        Message Flags        |
  234.          |   TO trunks  |  FROM trunks  |                 |EXC|BST|A/D|
  235.          +--------------+---------------+-----------------+---+---+---+
  236.       2  |                        Access code                         |
  237.          |                                                            |
  238.          +------------------------------+-----------------------------+
  239.       4  |       Physical addr of       |                   | TO Port |
  240.          |     destination adapter (TO) |                   | number  |
  241.          +------------------------------+-----------------------------+
  242.       6  |  Physical addr of source     |                   |FROM port|
  243.          |        adapter (FROM)        |                   |  number |
  244.          +------------------------------+-----------------------------+
  245.       8  |                        Message type                        |
  246.          |                                                            |
  247.          +------------------------------+-----------------------------+
  248.      10  |                                                            |
  249.          |            Available for higher level protocols            |
  250.          |                                                            |
  251.          |                                                            |
  252.          +------------------------------+-----------------------------+
  253.  
  254. TRUNKS TO TRY
  255.  
  256.    Consists of two four bit masks indicating which of four possible
  257.    HYPERchannel A coaxial data trunks are to be used to transmit the
  258.    message and to return it.  If a bit in the mask is ON, then the
  259.    adapter firmware will logically AND it with the mask of installed
  260.    trunk interfaces and use the result as a candidate list of
  261.    interfaces.  Whenever one of the internal "frames" are sent to
  262.    communicate with the destination adapter, the transmission hardware
  263.    electronically selects the first non-busy trunk out of the list of
  264.    candidates.  Thus, selection of a data trunk is best performed by the
  265.    adapter itself rather than by the host.  "Dedicating" trunks to
  266.    specific applications only makes sense in very critical real time
  267.    applications such as streaming data directly from high speed
  268.    overrunnable peripherals.
  269.  
  270.    A second Trunk mask is provided for the receiving adapter when it
  271.    sends frames back to the transmitter, as it is possible to build
  272.    "asymmetric" configurations of data trunks where trunk 1 on one box
  273.  
  274.  
  275.  
  276. Hardwick & Lekashman                                            [Page 5]
  277.  
  278. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  279.  
  280.  
  281.    is connected to the trunk 3 interface of a second.  Such
  282.    configurations are strongly discouraged, but the addressing structure
  283.    supports it if needed.
  284.  
  285.    The "trunks to try" field is only used by HYPERchannel A.  To assure
  286.    maximum interoperability, a value of 0xFF should be placed in this
  287.    field to assure delivery over any technology.  Other values should
  288.    only be used if the particular site hardware is so configured to not
  289.    be physically connected via those trunks.
  290.  
  291. MESSAGE FLAGS
  292.  
  293.    Contains options in message delivery.  In the basic type of message,
  294.    three bits are used:
  295.  
  296.    ASSOCIATED DATA PRESENT (A/D) is ON if an Associated Data block
  297.    follows the Message Proper.  0 if only a message proper is present in
  298.    the network message.  The value of this bit is enforced by the
  299.    network adapter firmware.
  300.  
  301.    BURST MODE (BST) Enables a special mode for time critical transfers
  302.    where a single HYPERchannel A coaxial trunk is dedicated during
  303.    transmission of the network message.  Not recommended for anything
  304.    that won't cause peripheral device overruns if data isn't delivered
  305.    once message transmission starts.
  306.  
  307.    EXCEPTION (EXC) Indicates to some channel programmed host interfaces
  308.    that the message is "out of band" in some way and requires special
  309.    processing.
  310.  
  311. ACCESS CODE
  312.  
  313.    A feature to permit adapters to share use of a cable yet still permit
  314.    an "access matrix" of which adapter boxes and physically talk to
  315.    which others.  Not currently in use by anyone, support is being
  316.    discontinued.
  317.  
  318. TO ADDRESS
  319.  
  320.    Consists of three parts.  The high order 8-bits contains the physical
  321.    address of the network adapter box which is to receive the message.
  322.    The low order 8-bits are interpreted in different ways depending on
  323.    the nature of the receiving network adapter.  If the receiving
  324.    adapter has different host "ports," then the low order bits of the TO
  325.    field are used to designate which interface is to receive the
  326.    message.  On IBM data channels, the entire "logical" TO field is
  327.    interpreted as the subchannel on which the incoming data is to be
  328.    presented.  Parts of the logical TO field that are not interpreted by
  329.  
  330.  
  331.  
  332. Hardwick & Lekashman                                            [Page 6]
  333.  
  334. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  335.  
  336.  
  337.    the network adapter are passed to the host for further
  338.    interpretation.
  339.  
  340. FROM ADDRESS
  341.  
  342.    The FROM address is not physically used during the process of
  343.    transmitting a network message, but is passed through to the
  344.    receiving host so that a response can be returned to the point of
  345.    origin.  In general, reversing the TO and FROM 16-bit address fields
  346.    and the TO and FROM trunk masks can reliably return a message to its
  347.    destination.
  348.  
  349. MESSAGE TYPE
  350.  
  351.    The following two bytes are reserved for NSC.  Users have been
  352.    encouraged to put a zero in byte 8 and anything at all in byte 9 so
  353.    as to not conflict with internal processing of messages by NSC
  354.    firmware.  In the past, this field has been loosely defined as
  355.    carrying information of interest to NSC equipment carrying the
  356.    message and not as a formal protocol type field.  For example, 0xFF00
  357.    in bytes 8 and 9 of the message will cause the receiving adapter to
  358.    "loop back" the message without delivering it to the attached host.
  359.  
  360.    Concurrent with this document, it is NSC's intent to use both bytes 8
  361.    and 9 as a formal "protocol type" designator.  Major protocols will
  362.    be assigned a unique value in byte 8 that will (among good citizens)
  363.    not duplicate a value generated by a different protocol.  Minor
  364.    protocols will have 16-bit values assigned to them so that we won't
  365.    run out when 256 protocols turn up.  Any interested party could
  366.    obtain a protocol number or numbers by application to NSC.  In this
  367.    document, protocol types specific to IP protocols are assigned.
  368.  
  369. TO ADDRESSES AND OPEN DRIVER ARCHITECTURE
  370.  
  371.    Since not all 16-bits of the TO address are used for the physical
  372.    delivery of the network message, the remainder are considered
  373.    "logical" in that their meaning is physically determined by host
  374.    computer software or (in cases such as the FIPS data channel) by
  375.    hardware in the host interface.
  376.  
  377.    Since HYPERchannel is and will be used to support a large variety of
  378.    general and special purpose protocols, it is desirable that several
  379.    independent protocol servers be able to independently share the
  380.    HYPERchannel network interface.  The implementation of many of NSC's
  381.    device drivers as well as those of other parties (such as Cray
  382.    Research) support this service.  Each protocol server that wishes to
  383.    send or receive HYPERchannel network messages logically "connects" to
  384.    a HYPERchannel device driver by specifying the complete 16-bit TO
  385.  
  386.  
  387.  
  388. Hardwick & Lekashman                                            [Page 7]
  389.  
  390. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  391.  
  392.  
  393.    address it will "own" in the sense that any network message with that
  394.    TO address will be delivered to that protocol server.
  395.  
  396.    The logical TO field serves a function similar to the TYPE byte in
  397.    the Ethernet 802.2 message header, but differs from it in that the
  398.    width of the logical TO field varies from host to host, and that no
  399.    values of the logical TO address are reserved for particular
  400.    protocols.  On the other hand, it is possible to have several
  401.    "identical" protocols (such as two independent copies of IP with
  402.    different HYPERchannel addresses) sharing the same physical
  403.    HYPERchannel interface.  This makes NSC's addressing approach
  404.    identical to the OSI concept that the protocol server to reach is
  405.    embedded within the address, rather than the IP notion of addressing
  406.    a "host" and identifying a server through a message type.
  407.  
  408.    Since the HYPERchannel header also has a "message type" field, there
  409.    is some ambiguity concerning the respective roles of the message type
  410.    and logical TO fields:
  411.  
  412.     o   The logical TO field is always used to identify the protocol
  413.         server which will receive the message.  Once a server has
  414.         specified the complete TO address for the messages it wishes to
  415.         receive, the message will not be delivered to a different
  416.         protocol server regardless of the contents of the message type
  417.         field.
  418.  
  419.     o   Although the "type" field cannot change the protocol server at
  420.         the final destination of the message, the type field can be used
  421.         by intermediate processes on the network to process the message
  422.         before it reaches the server destination.  An obvious example is
  423.         the 0xFF00 message loopback type function, where network
  424.         processing to loop back the message results in nondelivery to
  425.         the TO address.  In the future, intermediate nodes may process
  426.         "in transit" messages based on the message type only for
  427.         purposes such as security validation, aging of certain
  428.         datagrams, and network management.
  429.  
  430. EXTENDED (32-BIT ADDRESS) MESSAGE PROPER HEADER
  431.  
  432.    In the original days of HYPERchannel, the limitation of 256 adapter
  433.    "boxes" that could be addressed in a network message was deemed
  434.    sufficient as 40 or so adapters was considered a "large" network.  As
  435.    with the Ethernet, more recent networks have resulted in a need to
  436.    address larger networks.  Although a few ad hoc modes have existed to
  437.    address larger HYPERchannel networks for some years, newer
  438.    technologies of HYPERchannel equipment have logically extended the
  439.    network message to support 32-bits of addressing, with 24 of those
  440.    bits to designate a physical network adapter.
  441.  
  442.  
  443.  
  444. Hardwick & Lekashman                                            [Page 8]
  445.  
  446. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  447.  
  448.  
  449.    This 32-bit header has been designed so that existing network
  450.    adapters are capable of sending and receiving these messages.  Only
  451.    the network bridges need the intelligence to select messages
  452.    designated for them.
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500. Hardwick & Lekashman                                            [Page 9]
  501.  
  502. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  503.  
  504.  
  505.         +------------------------------+-----------------------------+
  506.      0  |      Trunks to Try           |        Message Flags        |
  507.         |   TO trunks  |  FROM trunks  |GNA|CRC|     |SRC|EXC|BST|A/D|
  508.         +--------------+---------------+---+---+--+--+---+---+---+---+
  509.      2  |         TO Domain #          |         TO Network #        |
  510.         |                              |                             |
  511.         +------------------------------+-----------------------------+
  512.      4  |O|    Physical addr of        |                   | TO Port |
  513.         |N|  destination adapter (TO)  |                   | number  |
  514.         +------------------------------+-----------------------------+
  515.      6  |O| Physical addr of source    |                   |FROM port|
  516.         |N|     adapter (FROM)         |                   |  number |
  517.         +------------------------------+-----------------------------+
  518.      8  |                         Message type                       |
  519.         |                                                            |
  520.         +------------------------------+-----------------------------+
  521.      10 |          FROM Domain #       |       FROM Network #        |
  522.         |                              |                             |
  523.         +------------------------------+-----------------------------+
  524.      12 |          - reserved -        |         age count           |
  525.         |                              |                             |
  526.         +------------------------------+-----------------------------+
  527.      14 |      Next Header Offset      |      Header End Offset      |
  528.         |        (normally 16)         |        (normally 16)        |
  529.         +------------------------------+-----------------------------+
  530.      16 |                  Start of user protocol                    |
  531.         |              bytes 16 - 64 of message proper               |
  532.         |                                                            |
  533.         +------------------------------+-----------------------------+
  534.  
  535.           Associated Data
  536.    +-----------------------------------------------------------------+
  537.    |                                                                 |
  538.    |     As with basic format network messages                       |
  539.    |                                                                 |
  540.    +-----------------------------------------------------------------+
  541.  
  542. ADDRESS RECOGNITION AND MESSAGE FORWARDING
  543.  
  544.    With the 32-bit form of addressing, NSC is keeping with the premise
  545.    that the native HYPERchannel address bears a direct relation to the
  546.    position of the equipment in an extended HYPERchannel network.
  547.  
  548.    Each collection of "locally" attached NSC network adapters that are
  549.    connected by coax or fiber optic cable (with the possible addition of
  550.    nonselective repeaters such as the ATRn series) is considered a
  551.    "network".  Each network can have up to 256 directly addressable
  552.    adapters attached to it which can be reached by the basic format
  553.  
  554.  
  555.  
  556. Hardwick & Lekashman                                           [Page 10]
  557.  
  558. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  559.  
  560.  
  561.    network message.
  562.  
  563.    Existing bridges or "link adapters" can be programmed to become
  564.    "selective repeaters" in that they can receive network messages
  565.    containing a subset of network addresses send them over the bridge
  566.    medium (if present) and reintroduce them on the other network.  Such
  567.    interconnected local area networks are considered a single network
  568.    from an addressing point of view.
  569.  
  570.    A large NSC network can have up to 64K networks which can be
  571.    complexly interconnected by network bridges and/or "backbone"
  572.    networks which distribute data between other networks.  To simplify
  573.    the mechanics of message forwarding, the 16-bit network field is
  574.    divided into two eight quantities, a "network number" identifying
  575.    which network is to receive the message and a "domain number" which
  576.    specifies which network of networks is the recipient.
  577.  
  578.    The bridge technology adapters which move messages between networks
  579.    have address recognition hardware which examines all the 24-bits in
  580.    bytes 2-5 of the network message header to determine if the bridge
  581.    should accept the message for forwarding.  At any given instant of
  582.    time in the network, each bridge will have a list of networks and
  583.    domains that it should accept for forwarding to a network at the
  584.    other end of the bridge.  Each Adapter (Including Newer Technology
  585.    host adapters) contains in address recognition hardware:
  586.  
  587.     o   domainmask -- a 256-bit mask of domain numbers that should  be
  588.         accepted for forwarding (not local processing) by this adapter.
  589.     o   MyDomain  --  the  value  of the domain on which this host
  590.         adapter or bridge end is installed.
  591.     o   NetworkMask -- a 256-bit mask of network numbers that should be
  592.         accepted for forwarding by this adapter.
  593.     o   MyNetwork  -  the  value of the network on which this host
  594.         adapter or bridge end is installed.
  595.     o   AddressMask -- A 256-bit mask of the local network addresses
  596.         that should be accepted by the adapter.
  597.     o   MyAddress -- the "base address" of the box, which must be
  598.         supplied in any message that is directed to control processes
  599.         within the adapter, such as a loopback message.
  600.  
  601.    Address recognition takes place using the algorithm:
  602.  
  603.            IF Domain IN DomainMask OR
  604.               IF (Domain = MyDomain AND Network IN NetworkMask) OR
  605.                  IF (Domain = MyDomain AND Network = MyNetwork AND
  606.                     Address IN AddressMask) THEN accept-message
  607.                                             ELSE ignore-message.
  608.  
  609.  
  610.  
  611.  
  612. Hardwick & Lekashman                                           [Page 11]
  613.  
  614. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  615.  
  616.  
  617.    This algorithm means that an adapter's hardware address recognition
  618.    logic will accept any messages to the box itself, any secondary or
  619.    aliased local addresses owned by the adapter, and any message
  620.    directed to a remote network or domain that that particular adapter
  621.    is prepared to forward.
  622.  
  623.  
  624. 32-BIT MESSAGE FIELDS
  625.  
  626. TRUNK MASK
  627.  
  628.    Is as in the basic network message.  Messages that are to be
  629.    delivered outside the immediate network should have 0xFF in this byte
  630.    so that all possible trunks in intermediate networks should be tried.
  631.    Locally delivered 32-bit messages may still contain specially
  632.    tailored trunk masks to satisfy local delivery needs.
  633.  
  634. MESSAGE FLAGS
  635.  
  636.    The currently defined bits remain as before.  Three new bits have
  637.    been defined since that time.
  638.  
  639.    CRC (END-END MESSAGE INTEGRITY).  Newer technology host adapters are
  640.    capable of generating a 32-bit CRC for the entire network message as
  641.    soon as it is received over the channel or bus interface from the
  642.    host.  This 32-bit CRC is appended to the end of the associated data
  643.    block and is preserved through the entire delivery process until it
  644.    is checked by the host adapter that is the ultimate recipient of the
  645.    message, which removes it.  This end to end integrity checking is
  646.    designed to provide a high degree of assurance that data has been
  647.    correctly moved through all intermediate LAN's, geographic links, and
  648.    internal adapter hardware and processes.
  649.  
  650.    SRC (SOURCE FROM ADDRESS CORRECT).  This bit is provided to take
  651.    advantage of the physical nature of the network address to optionally
  652.    verify that the 32-bit FROM address provided in the network message
  653.    is in fact the location that the message originated.  If the bit is
  654.    not set by the transmitting host, no particular processing occurs on
  655.    the message.  If the bit is set, then all intermediate adapters
  656.    involved in the delivery of the message have the privilege of turning
  657.    the bit off if the received message FROM address is not a TO address
  658.    that would be delivered to the originator if the message were going
  659.    the opposite direction.
  660.  
  661.    If the message is received by a host computer with this bit still
  662.    set, then the FROM address is guaranteed correct in the sense that
  663.    returning a message with TO and FROM information reversed will result
  664.    in delivery of the message to the process that actually originated
  665.  
  666.  
  667.  
  668. Hardwick & Lekashman                                           [Page 12]
  669.  
  670. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  671.  
  672.  
  673.    it.  By careful attention to the physical security of adapters and
  674.    intermediate links between networks, a high degree of security can be
  675.    built into systems that simply examine the FROM address of a message
  676.    to determine the legitimacy of its associated request.
  677.  
  678.    GNA (GLOBAL NETWORK ADDRESSING).  This bit ON indicates that 32-bit
  679.    addressing is present in the message.  When this bit is on, bytes 2-3
  680.    (Domain and Network numbers) should also be nonzero.
  681.  
  682. TO ADDRESS
  683.  
  684.    Four bytes contain the TO address, which is used to deliver the
  685.    network message as described in "Address Recognition and Message
  686.    Forwarding" on page 8.  The "logical" part of the TO address is used
  687.    to designate a protocol server exactly as in the basic format network
  688.    message header.
  689.  
  690.    The existing "address" field has its high order bit reserved as an
  691.    outnet bit for compatibility with existing A-series network adapter
  692.    equipment.  Were it not for this bit, the A-series adapters would
  693.    attempt to accept messages that were "passing through" the local
  694.    network on their way elsewhere simply because the address field
  695.    matched while the the Domain and Network numbers (ignored by the A-
  696.    series adapters) were quite different.
  697.  
  698.    This "outnet" bit is used in the following way:
  699.  
  700.     o   All network adapters (of  any type) in an extended set of
  701.         networks containing A-Series adapters that will ever use 32-bit
  702.         addressing must have their addresses in the range 00-7F (hex.)
  703.  
  704.     o   If a message is to be sent to a destination on a nonlocal
  705.         network and domain on such an extended network, then the
  706.         high order bit of the address field is turned on.
  707.  
  708.     o   When the last bridge in the chain realizes that it is about to
  709.         forward the message to its final destination (the Domain and
  710.         Network numbers are local), then it turns the Outnet bit off.
  711.         This will result in local delivery to the destination adapter.
  712.  
  713. FROM ADDRESS
  714.  
  715.    The FROM address follows the same logic as the TO address in that any
  716.    message can be returned to its source by reversing the FROM and TO
  717.    fields of the message.  Since so many protocols examine byte 8 of the
  718.    message to determine its type, the FROM field has been split so that
  719.    the Domain and Network numbers extend into bytes 10-11.
  720.  
  721.  
  722.  
  723.  
  724. Hardwick & Lekashman                                           [Page 13]
  725.  
  726. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  727.  
  728.  
  729. MESSAGE TYPE
  730.  
  731.    This field (informally defined in the past) has been extended to 16-
  732.    bits so that a unique value can be assigned to any present or future
  733.    protocol which is layer on HYPERchannel messages for either private
  734.    or public use.
  735.  
  736. AGE COUNT
  737.  
  738.    This field serves the same purpose as the IP "time to live" in that
  739.    it prevents datagrams from endlessly circulating about in an
  740.    improperly configured network.  Each time a 32-bit message passes
  741.    through a bridge, the Age Count is decremented by one.  When the
  742.    result is zero, the message is discarded by the bridge.
  743.  
  744. NEXT HEADER OFFSET AND HEADER END OFFSET
  745.  
  746.    These are used as fields to optionally provide "loose source
  747.    routing", where a list of 32-bit TO addresses can be provided by the
  748.    transmitter to explicitly determine the path of a message through the
  749.    network.  If this feature is not used, both these fields would
  750.    contain the value 16 (decimal) to both indicate extra TO addresses
  751.    are absent and that the beginning of protocol data following the
  752.    HYPERchannel header is in byte 16.
  753.  
  754.    Although it is conceivable that a HYPERchannel IP process could use
  755.    this source routing capability to direct messages to hosts or
  756.    gateways, this capability is not felt to be of sufficient value to IP
  757.    to build it into a HYPERchannel IP protocol.
  758.  
  759.    In the future, all higher level protocols should be able to examine
  760.    Header End Offset to determine the start of the higher level protocol
  761.    information.
  762.  
  763. BROADCASTING
  764.  
  765.    NSC message forwarding protocols use low level link protocols to
  766.    negotiate transmission of a message to its next destination on the
  767.    network.  Furthermore, NSC network boxes often "fan out" so that
  768.    several hosts share the same network transmission equipment as in the
  769.    A400 adapter.  Both these characteristics mean that providing a
  770.    genuine broadcast capability is not a trivial task, and in fact no
  771.    current implementations of NSC technology support a broadcast
  772.    capability.
  773.  
  774.    The last several years have seen broadcast applications mature to the
  775.    point where they have virtually unquestioned utility on a local and
  776.    sometimes campuswide basis.  Accordingly, new NSC technologies will
  777.  
  778.  
  779.  
  780. Hardwick & Lekashman                                           [Page 14]
  781.  
  782. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  783.  
  784.  
  785.    support a broadcast capability.  Information on the use of this
  786.    capability is included here as it is essential to the discussion of
  787.    the Address Resolution Protocol later in this document.
  788.  
  789.    Broadcast capability will be supported only with the extended (32-bit
  790.    address) message format.  A broadcast message will have the following
  791.    general appearance:
  792.  
  793.     byte   Message Proper
  794.          +------------------------------+-----------------------------+
  795.       0  |      Trunks to Try           |        Message Flags        |
  796.          |   TO trunks  |  FROM trunks  |GNA|CRC|     |SRC|EXC|BST|A/D|
  797.          +--------------+---------------+---+---+--+--+---+---+---+---+
  798.       2  |       TO Domain Number       |      TO Network Number      |
  799.          |          or 0xFF             |          or 0xFF            |
  800.          +------------------------------+-----------------------------+
  801.       4  |           0xFF               |   Broadcast channel number  |
  802.          |                              |                             |
  803.          +------------------------------+-----------------------------+
  804.       6  |O| Physical addr of source    |                   |FROM port|
  805.          |N|     adapter (FROM)         |                   |  number |
  806.          +------------------------------+-----------------------------+
  807.       8  |                         Message type                       |
  808.          |                                                            |
  809.          +------------------------------+-----------------------------+
  810.       10 |     FROM Domain Number       |    FROM Network Number      |
  811.          |                              |                             |
  812.          +------------------------------+-----------------------------+
  813.       12 |          - reserved -        |         age count           |
  814.          |                              |                             |
  815.          +------------------------------+-----------------------------+
  816.       14 |      Next Header Offset      |      Header End Offset      |
  817.          |        (normally 16)         |        (normally 16)        |
  818.          +------------------------------+-----------------------------+
  819.       16 |                  Start of user protocol                    |
  820.          |              bytes 16 - 64 of message proper               |
  821.          |                                                            |
  822.          +------------------------------+-----------------------------+
  823.           Associated Data
  824.     +-----------------------------------------------------------------+
  825.     |                                                                 |
  826.     |     As with basic format network messages                       |
  827.     |     Maximum associated data size 1K bytes.                      |
  828.     |                                                                 |
  829.     +-----------------------------------------------------------------+
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836. Hardwick & Lekashman                                           [Page 15]
  837.  
  838. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  839.  
  840.  
  841. TRUNKS TO TRY AND MESSAGE FLAGS
  842.  
  843.    These fields are defined just as with a normal 32-bit message.  All
  844.    bits in the Message Flags field are valid with broadcast modes.
  845.  
  846. BROADCAST ADDRESS
  847.  
  848.    For Domain, Network and Adapter Address fields, the value 0xFF is
  849.    reserved for use by the broadcast mechanism.  A value of 0xFF in the
  850.    adapter address field indicates to the local network hardware that
  851.    this message is to be sent to all connected network equipment on the
  852.    individual network.
  853.  
  854.    A value of 0xFF in the network or domain fields, respectively
  855.    indicates a request that the scope of the broadcast exceed the local
  856.    network.  The bridging link adapters will receive the broadcast
  857.    message along with everyone else and will examine the "Broadcast
  858.    Channel" field and their internal switches to determine if the
  859.    message should be forwarded to other remote networks.
  860.  
  861.    If the Network and Domain fields contain the local network and
  862.    domain, then the broadcast message will only be broadcast within the
  863.    local network.  If a remote Network and Domain is specified, then the
  864.    message will be delivered as a single message to the remote network
  865.    and broadcast there.
  866.  
  867. BROADCAST CHANNEL
  868.  
  869.    Since individual hosts and protocol servers generally are not
  870.    interested in all broadcast messages that float about the network, a
  871.    filtering mechanism is provided in the header and network adapter
  872.    equipment so that only proper classes of broadcast messages are
  873.    delivered to the end point.
  874.  
  875.    Broadcast channel numbers in the range 00-0xFF will be assigned by
  876.    NSC much like the "message type" field.  Host protocol servers
  877.    specify a specific TO address containing a channel number (such as
  878.    0xFF04) when they bind themselves to the HYPERchannel device driver.
  879.    The driver and the underlying equipment will deliver only broadcast
  880.    messages with the correct channel number to the protocol server.  If
  881.    a protocol server wishes to receive several different broadcast
  882.    messages, it must bind itself to the driver several times with the
  883.    desired addresses.
  884.  
  885.    Link adapters that are prepared to handle multinetwork broadcast
  886.    messages may be equipped with switches to determine which broadcast
  887.    channels will be propagated into the next network.  Since
  888.    multinetwork broadcast is an arrangement that must be configured with
  889.  
  890.  
  891.  
  892. Hardwick & Lekashman                                           [Page 16]
  893.  
  894. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  895.  
  896.  
  897.    care, these switches are off by default.
  898.  
  899. FROM ADDRESS
  900.  
  901.    The FROM address is constructed just as with a normal 32-bit network
  902.    message.  The Source Address Correct bit is processed just as with a
  903.    normal message.
  904.  
  905. MESSAGE TYPE
  906.  
  907.    Message type is defined as with normal messages.  Presumably
  908.    broadcast applications will have unique message types that are not
  909.    generally found in normal messages.
  910.  
  911. AGE COUNT
  912.  
  913.    Age count is vitally important in a multinetwork broadcast as "loops"
  914.    in the network can cause a great deal of activity until all the
  915.    progeny of the original broadcast message die out.
  916.  
  917. PROTOCOL SPECIFICATION
  918.  
  919.    This section contains information on the technique used to
  920.    encapsulate IP datagrams on the HYPERchannel network message.  It
  921.    contains three sections to describe three protocol packagings:
  922.  
  923.     o   The technique used to encapsulate IP datagrams on the basic
  924.         16-bit network message.  This is a de facto standard that has
  925.         been in use for several years and is documented here to make it
  926.         official.
  927.  
  928.     o   The encapsulation technique for IP datagrams on 32 bit network
  929.         messages.
  930.  
  931.     o   The definition of an Address Resolution Protocol on
  932.         HYPERchannel.
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948. Hardwick & Lekashman                                           [Page 17]
  949.  
  950. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  951.  
  952.  
  953. BASIC (16-BIT) MESSAGE ENCAPSULATION
  954.  
  955.            Message Proper
  956.          +------------------------------+-----------------------------+
  957.       0  |      Trunks to Try           |        Message Flags        |
  958.          |   TO trunks  |  FROM trunks  |GNA|CRC|     |SRC|EXC|BST|A/D|
  959.          +------------------------------+-----------------------------+
  960.       2  |                      Access code 0000                      |
  961.          |                   (no longer supported)                    |
  962.          +------------------------------+-----------------------------+
  963.       4  |       Physical addr of       |  Protocol server  |Dest Port|
  964.          |     destination adapter      |  logical address  | number  |
  965.          +------------------------------+-----------------------------+
  966.       6  |       Physical addr of       |    Originating    | Src Port|
  967.          |       source  adapter        |  server address   |  number |
  968.          +------------------------------+-----------------------------+
  969.       8  |    IP on HYPERchannel        |   Offset to start of IP     |
  970.          |    type code  0x05           |  header from message start  |
  971.          +------------------------------+-----------------------------+
  972.      10  |      IP type designator      |   Offset to start of IP     |
  973.          |           0x34               |    header from byte 12      |
  974.          +------------------------------+-----------------------------+
  975.      12  |          Padding (variable length incl. zero bytes)        |
  976.          |                                                            |
  977.          +------------------------------+-----------------------------+
  978.      Off |          First (64-Offset) bytes of IP datagram            |
  979.          |                                                            |
  980.          |                                                            |
  981.          |                                                            |
  982.          +------------------------------+-----------------------------+
  983.            Associated Data
  984.          +------------------------------+-----------------------------+
  985.          |                                                            |
  986.          |                Remainder of IP datagram                    |
  987.          |                                                            |
  988.          |            No associated data is present if IP             |
  989.          |            datagram fits in the Message Proper             |
  990.          |                                                            |
  991.          +------------------------------+-----------------------------+
  992.  
  993. TRUNK MASK
  994.  
  995.    From the vantage of an IP driver, any trunk mask is valid so long as
  996.    it results in successful delivery of the HYPERchannel network message
  997.    to its destination.  There is no reason to check this field for
  998.    validity on reception of the message.  Specification of the Trunk
  999.    Mask on output is a local affair that could be specified by the
  1000.    transmitting driver's address resolution tables.
  1001.  
  1002.  
  1003.  
  1004. Hardwick & Lekashman                                           [Page 18]
  1005.  
  1006. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1007.  
  1008.  
  1009. MESSAGE FLAGS
  1010.  
  1011.    No use is made of the Flags field (byte 1) other than to
  1012.    appropriately set the Associated Data bit.  Burst Mode and the
  1013.    Exception bit should not be used with IP.
  1014.  
  1015. ACCESS CODE
  1016.  
  1017.    Although some current implementations of IP on HYPERchannel support
  1018.    the access code, no one appears to be using it at the current time.
  1019.    Since this field is currently reserved for the use of 32-bit
  1020.    addresses, no value other than 0000 should be placed in this field.
  1021.  
  1022. TO ADDRESS
  1023.  
  1024.    The TO field is generally obtained by a local IP driver through a
  1025.    table lookup algorithm where a 16-bit TO address is found that
  1026.    corresponds to the IP address of a local host or gateway.  The high
  1027.    order bits of the TO address of course refer to the adapter number
  1028.    the adapter attached to the destination host.
  1029.  
  1030.    The logical TO field should contain the protocol server address of
  1031.    the HYPERchannel IP driver for that host as determined by the host's
  1032.    system administrator.  Many HYPERchannel TCP/IP drivers in the field
  1033.    today are not "open" in that any network message delivered to that
  1034.    host will be presumed to be an IP datagram regardless of the logical
  1035.    TO field; however any transmitting IP process should be capable of
  1036.    generating the entire 16-bit TO field in order to generate a message
  1037.    capable of reaching a destination IP process.
  1038.  
  1039.    The process of determining which HYPERchannel address will receive an
  1040.    IP datagram based on its IP address is a major topic that is covered
  1041.    in "Address Resolution".
  1042.  
  1043. FROM ADDRESS
  1044.  
  1045.    The FROM address is filled in with the address that the local driver
  1046.    expects to receive from the network, but no particular use is make of
  1047.    the FROM address.
  1048.  
  1049. MESSAGE TYPE
  1050.  
  1051.    Network Systems requests that a value of 5 (decimal) be placed in
  1052.    this byte to uniquely indicate that the network message is being used
  1053.    to carry IP traffic.  No other well-behaved protocol using
  1054.    HYPERchannel should duplicate this value of 5.
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. Hardwick & Lekashman                                           [Page 19]
  1061.  
  1062. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1063.  
  1064.  
  1065.    Many current implementations of IP on HYPERchannel place a zero or
  1066.    other values in this field simply because no value was reserved for
  1067.    IP usage.  Transmitting versions of IP should always place a 5 in
  1068.    this field; receiving IP's should presume a delivered message to be
  1069.    an IP datagram until proven otherwise regardless of the contents of
  1070.    the Message Type field.
  1071.  
  1072.    Developers should note that it is often convenient to permit
  1073.    reception of the value 0xFF00 in bytes 8 and 9 of the IP datagram.
  1074.    Transmitting a message with this value will cause it to be looped
  1075.    back at the destination adapter and returned to the protocol server
  1076.    designate in the FROM address.  This permits the developer have host
  1077.    applications talk to others on the same host for purposes of network
  1078.    interface or other protocol debugging.
  1079. IP HEADER OFFSET
  1080.  
  1081.    Byte 9 contains the offset to the start of the IP header within the
  1082.    message proper, such that the Message Proper address plus the IP
  1083.    header offset generates the address of the first byte of the IP
  1084.    header (at least on byte addressable machines.)
  1085.  
  1086.    This field is redundant with the offset field in byte 11, and is
  1087.    present for cosmetic compatibility with 32-bit implementations.  On
  1088.    reception, the value in byte 11 should take precedence.
  1089.  
  1090.    As part of the migration to larger HYPERchannel headers, this field
  1091.    will become significant with the 32-bit addressing format, as the
  1092.    length of the header is no longer 10 bytes and byte 11 is used for
  1093.    other purposes.
  1094.  
  1095. IP TYPE DESIGNATOR
  1096.  
  1097.    Early implementations of IP drivers on HYPERchannel wanted to leave
  1098.    bytes 8 and 9 alone for NSC use and place a "message type" field in
  1099.    later in the message.  A value of 0x34 had been selected by earlier
  1100.    developers for reasons that are now of only historical interest.
  1101.    Once again, implementations should generate this value on
  1102.    transmission, but not check it on input, assuming that an IP datagram
  1103.    is present in the message.
  1104.  
  1105. IP HEADER OFFSET
  1106.  
  1107.    This value is used by a number of commercial implementations of IP on
  1108.    HYPERchannel to align the start of the IP header within the network
  1109.    message.  This offset is relative to byte 12 of the network message
  1110.    so that a value of zero indicates that the IP header begins in byte
  1111.    12.  This value should be both correctly generated on transmission,
  1112.    and always respected on input processing.
  1113.  
  1114.  
  1115.  
  1116. Hardwick & Lekashman                                           [Page 20]
  1117.  
  1118. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1119.  
  1120.  
  1121.    The maximum permissible offset in this field is 52 indicating that
  1122.    the IP header begins at the start of the associated data block.
  1123.  
  1124. IP DATAGRAM CONTENTS
  1125.  
  1126.    Beginning at the offset designated in byte 11, the IP datagram is
  1127.    treated as a contiguous block of data that flows from byte 63 of the
  1128.    message proper into the first byte of associated data, so that the
  1129.    entire message plus data is treated as a single contiguous block.
  1130.  
  1131.    If the IP header is small enough to fit within the entire network
  1132.    message, then only the message proper is transmitted.  The length of
  1133.    the message proper sent should always be 64 bytes, even if the IP
  1134.    datagram and HYPERchannel header do not occupy all 64 bytes of the
  1135.    message proper.
  1136.  
  1137.    If the datagram flows over into the associated data, then both
  1138.    message and data are sent.  Since a number of machines cannot send a
  1139.    length of data to the HYPERchannel that is an exact number of bytes
  1140.    (due to 16-64 bits on the channel bus,) the length of the associated
  1141.    data received should not be used as a guide to the length of the IP
  1142.    datagram -- this should be extracted from the IP header.  A driver
  1143.    should verify, of course, that the associated data received is at
  1144.    least as long as is needed to hold the entire IP datagram.
  1145.  
  1146. COMPATIBILITY WITH EXISTING IMPLEMENTATIONS
  1147.  
  1148.    The basic format described here is clearly a compromise between
  1149.    several implementations of IP on HYPERchannel.  Not all existing
  1150.    implementations are interoperable with the standard described above.
  1151.    Currently there are two known "families" of IP HYPERchannel drivers
  1152.    in existence:
  1153.  
  1154. THE "CRAY-NASA AMES" PROTOCOL
  1155.  
  1156.    This protocol is in the widest production use and has the largest
  1157.    number of supported drivers in existence.  It is interoperable and
  1158.    identical with the standard described above with the sole exception
  1159.    that bytes 8 and 9 are set to zero by these drivers.  As these bytes
  1160.    are ignored by most implementations of this driver, they have been
  1161.    assigned values to formalize the use of the message type field and to
  1162.    make it consistent with the 32-bit protocol.
  1163.  
  1164. THE "TEKTRONIX-BERKELEY" PROTOCOL
  1165.  
  1166.    This protocol was historically the first IP on HYPERchannel
  1167.    implementation developed (at Tektronix) and subsequently made its way
  1168.    to Berkeley and BSD UNIX.  This protocol is not interoperable with
  1169.  
  1170.  
  1171.  
  1172. Hardwick & Lekashman                                           [Page 21]
  1173.  
  1174. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1175.  
  1176.  
  1177.    the standard described above due to several distinct differences.
  1178.  
  1179.    First, bytes 8 through 11 are always zero.  The IP header always
  1180.    starts on byte 12.  Comments in some of these drivers designate byte
  1181.    11 as an "IP header offset" field, but apparently this value is never
  1182.    processed.
  1183.  
  1184.    The major difference (and the incompatibility) concerns the packaging
  1185.    of the IP datagram into the network message.  Due to historical
  1186.    difficulties in the early 80's with the sending and receiving of very
  1187.    small blocks of associated data on VAXes, this protocol the takes a
  1188.    curious approach to the placement of the IP header and the headers of
  1189.    higher level protocols (such as TCP or UDP.)
  1190.  
  1191.     o   If the entire length of the IP datagram is 54 bytes or less,
  1192.         it is possible to fit the entire datagram and the HYPERchannel
  1193.         header in the 64 byte message proper.  In this case, no
  1194.         associated data is sent; only a message proper is used to carry
  1195.         the data.  The length of the message proper transmitted is the
  1196.         exact length needed to enclose the IP datagram; no padding bytes
  1197.         are sent at the end of the message.
  1198.  
  1199.     o   If the length of the IP header is greater than 54 bytes, then:
  1200.  
  1201.         -   All higher level protocol information (TCP/UDP header and
  1202.             their associated  data fields) are placed in the associated
  1203.             data block, with the TCP/UDP header beginning at the start
  1204.             of the associated data block.
  1205.  
  1206.         -   On transmission, the length of the message proper
  1207.             transmitted is set to the length of the HYPERchannel header
  1208.             plus the IP header --  it is not padded out to 64 bytes.
  1209.             The length of the associated data sent should be sufficient
  1210.             to accommodate the TCP/UDP header and its data fields.
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228. Hardwick & Lekashman                                           [Page 22]
  1229.  
  1230. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1231.  
  1232.  
  1233. WHICH PROTOCOL IS BEST?
  1234.  
  1235.    In choosing which to follow, the "Cray-Ames" approach was taken for
  1236.    several reasons:
  1237.  
  1238.     1.  Cray Research has performed exemplary work in dealing with other
  1239.         vendors to provide IP on HYPERchannel from the Cray computers to
  1240.         other hosts.  As a result, there are 4 or 5 vendor supported
  1241.         implementations of IP on HYPERchannel that use this approach.
  1242.  
  1243.     2.  The two part structure of the message proper has its uses when a
  1244.         machine wishes to make protocol decisions before staging the
  1245.         transfer of an immense block of associated data into memory.
  1246.         Many network coprocessors and intelligent I/O subsystems find it
  1247.         simpler to read in the entire network message before deciding
  1248.         what to do with it.  Arbitrarily catenating the two components
  1249.         does this best and permits streaming of messages from future
  1250.         technology network adapters.
  1251.  
  1252.     3.  Some TCP users (mostly  secure  DoD  sites) intend to load up IP
  1253.         datagrams with optional fields in the future.  The
  1254.         Tektronix-Berkeley implementation has problems if the IP header
  1255.         length exceeds 54 bytes.
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284. Hardwick & Lekashman                                           [Page 23]
  1285.  
  1286. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1287.  
  1288.  
  1289. EXTENDED (32-BIT) MESSAGE ENCAPSULATION
  1290.  
  1291.            Message Proper
  1292.          +------------------------------+-----------------------------+
  1293.       0  |      Trunks to Try           |1|       Message Flags       |
  1294.          |   TO trunks  |  FROM trunks  |GNA|CRC|     |SRC|EXC|BST|A/D|
  1295.          +------------------------------+-----------------------------+
  1296.       2  |    Destination  Domain       |    Destination  Network     |
  1297.          |         Number               |           Number            |
  1298.          +------------------------------+-----------------------------+
  1299.       4  |O|     Physical addr of       |  Protocol server  |Dest Port|
  1300.          |N|  destination adapter       |  logical address  | number  |
  1301.          +------------------------------+-----------------------------+
  1302.       6  |O|     Physical addr of       |    Originating    | Src Port|
  1303.          |N|     source  adapter        |  server address   |  number |
  1304.          +------------------------------+-----------------------------+
  1305.       8  |    IP on HYPERchannel        |   Offset to start of IP     |
  1306.          |    type code  0x06           |      datagram header        |
  1307.          +------------------------------+-----------------------------+
  1308.       10 |    Source Domain Number      |   Source Network Number     |
  1309.          |                              |                             |
  1310.          +------------------------------+-----------------------------+
  1311.       12 |          - reserved -        |         Age Count           |
  1312.          +------------------------------+-----------------------------+
  1313.       14 |      Next Header Offset      |      Header End Offset      |
  1314.          |                              |       (usually 16)          |
  1315.          +------------------------------+-----------------------------+
  1316.       16 |         Padding to IP header start (usually 0 bytes)       |
  1317.          |                                                            |
  1318.          +------------------------------+-----------------------------+
  1319.       Off|     Entire IP datagram if datagram length <= (64-Offset)   |
  1320.          |                                                            |
  1321.          |        else first (64-Offset) bytes of IP datagram         |
  1322.          +------------------------------+-----------------------------+
  1323.  
  1324.            Associated Data
  1325.          +------------------------------+-----------------------------+
  1326.          |                                                            |
  1327.          |                   Remainder of IP datagram                 |
  1328.          |                                                            |
  1329.          |            No associated data is present if IP             |
  1330.          |            datagram fits in the Message Proper             |
  1331.          |                                                            |
  1332.          +------------------------------+-----------------------------+
  1333.  
  1334. TRUNK MASK
  1335.  
  1336.    From the vantage of an IP driver, any trunk mask is valid so long as
  1337.  
  1338.  
  1339.  
  1340. Hardwick & Lekashman                                           [Page 24]
  1341.  
  1342. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1343.  
  1344.  
  1345.    it results in successful delivery of the HYPERchannel network message
  1346.    to its destination.  There is no reason to check this field for
  1347.    validity on reception of the message.  Specification of the Trunk
  1348.    Mask on output is a local affair that can be specified by the
  1349.    transmitting driver's address resolution tables.
  1350.  
  1351.    The use of 0xFF in this value is strongly encouraged for any message
  1352.    other than those using exotic trunk configurations on a single local
  1353.    network.
  1354.  
  1355. MESSAGE FLAGS
  1356.  
  1357.    Several new bits have been defined here.
  1358.  
  1359.    EXTENDED ADDRESSING.  This bit should be set ON whenever a 32-bit
  1360.    address (Network and/or Domain numbers nonzero) is present in the
  1361.    message.  It should always be OFF with the 16-bit message header.  If
  1362.    this bit is improperly set, delivery of the message to the (apparent)
  1363.    destination is unlikely.
  1364.  
  1365.    END-TO-END CRC.  Some newer technology adapters are equipped to place
  1366.    a 32-bit CRC of the associated data at the end of the associated data
  1367.    block when this bit is on.  Similarly equipped adapters will examine
  1368.    the trailing 32-bits of associated data (when the bit is on) to
  1369.    determine if the message contents have been corrupted at any stage of
  1370.    the transmission.
  1371.  
  1372.    Transmitting device drivers should include the ability to set this
  1373.    bit on transmission as a configuration option similar to the specific
  1374.    HYPERchannel device interface used.  The bit should be generated to
  1375.    be turned ON if the HYPERchannel IP driver is attached to an adapter
  1376.    equipped to generated CRC information -- it should be left OFF in all
  1377.    other circumstances.
  1378.  
  1379.    If a message arrives at the host with the CRC bit still on, this
  1380.    indicates that the CRC information was placed at the end of
  1381.    associated data by the transmitting adapter and not removed by the
  1382.    receiving adapter; thus the associated data will be four bytes longer
  1383.    than otherwise expected.  Since the IP datagram length is self
  1384.    contained in the network message, this should not impact IP drivers.
  1385.  
  1386.    It is possible for host computers to both generate and check this CRC
  1387.    information to match the hardware assisted generation and checking
  1388.    logic in newer network adapters.  Contact NSC if there are particular
  1389.    applications requiring exceptional data integrity that could benefit
  1390.    from host generation and checking.
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396. Hardwick & Lekashman                                           [Page 25]
  1397.  
  1398. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1399.  
  1400.  
  1401.    FROM ADDRESS CORRECT.  This bit should be set by all transmitting IP
  1402.    drivers who have endeavored to provide a completely correct FROM
  1403.    address that properly reflects the adapter interface used.  No action
  1404.    should be taken on this bit by the receiving IP driver at this time.
  1405.    Additional work needs to be done to determine the action an IP driver
  1406.    should take if it detects a real or imagined "security violation"
  1407.    should a message arrive with this bit absent.
  1408.  
  1409. TO ADDRESS
  1410.  
  1411.    The TO address logically constitutes bytes 2-5 of the network
  1412.    message.
  1413.  
  1414.    NETWORK AND DOMAIN NUMBERS.  The Network and Domain numbers should
  1415.    both be nonzero when 32-bit addressing is used.  If the message is
  1416.    local in nature, then the local Network and Domain numbers should be
  1417.    placed in this field.
  1418.  
  1419.    ADAPTER ADDRESS.  Contains the adapter address as in the basic
  1420.    message.  The high order bit of this eight bit field (the "outnet"
  1421.    bit) should be set to zero if the destination network and domain are
  1422.    the same as the transmitting host's.  The high order bit should be
  1423.    set to one if the destination host is not in the local network or
  1424.    domain.
  1425.  
  1426.    LOGICAL TO AND SUBADDRESS.  The logical TO field should contain the
  1427.    protocol server address of the HYPERchannel IP driver for that host
  1428.    as determined by the host's system administrator.
  1429.  
  1430. FROM ADDRESS
  1431.  
  1432.    The FROM address is filled in with the address that the local driver
  1433.    expects to receive from the network, but no particular use is made of
  1434.    the FROM address.
  1435.  
  1436. MESSAGE TYPE
  1437.  
  1438.    The value 6 must be placed in this byte to uniquely indicate that the
  1439.    network message is being used to carry IP traffic.  No other well-
  1440.    behaved protocol using HYPERchannel should duplicate this value of 6.
  1441.  
  1442.    Note that all IP drivers should be prepared to send and receive the
  1443.    basic format network messages using the 16-bit HYPERchannel
  1444.    addresses.  The driver can distinguish an incoming network message by
  1445.    the value of byte 8 -- 32-bit messages will always have a 6 in byte
  1446.    8, while 16-bit messages should have a 5 here.  For interoperability
  1447.    with older drivers, a value of 0 here should be treated as 16 address
  1448.    bit messages.
  1449.  
  1450.  
  1451.  
  1452. Hardwick & Lekashman                                           [Page 26]
  1453.  
  1454. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1455.  
  1456.  
  1457. IP HEADER OFFSET
  1458.  
  1459.    Byte 9 contains the offset to the start of the IP header within the
  1460.    message proper, such that the Message Proper address plus the IP
  1461.    header offset generates the address of the first byte of the IP
  1462.    header (at least on byte addressable machines.)
  1463.  
  1464.    Unlike the 16-bit header, receiving IP drivers should assume that
  1465.    this field contains a correct offset to the IP header and examine the
  1466.    information at that offset for conformance to an IP datagram header.
  1467.  
  1468.    Valid offsets are in the range of 16 through 44 bytes, inclusive.
  1469.    The limitation of 44 bytes is imposed so that routing decisions on
  1470.    the vast majority of IP datagrams can be made by examining only the
  1471.    message proper, as the basic IP datagram will fit into the message
  1472.    proper if it begins at an offset of 44.
  1473.  
  1474. IP DATAGRAM CONTENTS
  1475.  
  1476.    The message and data are treated as logically contiguous entities
  1477.    where the first byte of associated data immediately follows the 64th
  1478.    byte of the message proper.
  1479.  
  1480.    If the entire IP datagram is less than or equal to (64-offset) bytes
  1481.    in length it will fit into the Message Proper.  If so, only a message
  1482.    proper containing the HYPERchannel header and IP datagram is sent on
  1483.    the network.
  1484.  
  1485.    If the IP datagram is greater than this length, the IP datagram
  1486.    spills over into the associated data.  On transmission, a 64 byte
  1487.    message proper is sent followed by as many bytes of associated data
  1488.    as are needed to send the entire datagram.
  1489.  
  1490.    On reception, the message proper can be read into the start of an IP
  1491.    input buffer and the associated data read into memory 64 bytes from
  1492.    the start of the message.  If the received message is in fact a 32-
  1493.    bit address message, no "shuffling" of the message will be required
  1494.    to build a contiguous IP datagram -- it's right there at buffer+16.
  1495.  
  1496. ADDRESS RESOLUTION PROTOCOL
  1497.  
  1498.    Address Resolution Protocol has achieved a great deal of success on
  1499.    the Ethernet as it permits a local IP network to configure itself
  1500.    simply by having each node know its own IP address.  Those unfamiliar
  1501.    with the intent, protocol, and logic of the Address Resolution
  1502.    Protocol should refer to RFC-826, "An Ethernet Address Resolution
  1503.    Protocol" [2].
  1504.  
  1505.  
  1506.  
  1507.  
  1508. Hardwick & Lekashman                                           [Page 27]
  1509.  
  1510. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1511.  
  1512.  
  1513.    A later section of this document describes four techniques where a
  1514.    target HYPERchannel address is to obtained given the destination's IP
  1515.    address.  The protocol is defined in this section for completeness.
  1516.  
  1517.            Message Proper
  1518.          +------------------------------+-----------------------------+
  1519.       0  |      Trunks to Try           |1|       Message Flags       |
  1520.          |   TO trunks  |  FROM trunks  |GNA|CRC|     |SRC|EXC|BST|A/D|
  1521.          +------------------------------+-----------------------------+
  1522.       2  |      Server Domain or        |      Server Network or      |
  1523.          |          0xFF                |           0xFF              |
  1524.          +------------------------------+-----------------------------+
  1525.       4  |   Server Adapter Address or  | Server logical addr/port or |
  1526.          |           0xFF               |             07              |
  1527.          +------------------------------+-----------------------------+
  1528.       6  |O|     Physical addr of       |    Originating    | Src Port|
  1529.          |N|     source  adapter        |  server address   |  number |
  1530.          +------------------------------+-----------------------------+
  1531.       8  |                      NSC ARP type code                     |
  1532.          |             07               |             00              |
  1533.          +------------------------------+-----------------------------+
  1534.       10 |         Source Domain        |       Source Network        |
  1535.          +------------------------------+-----------------------------+
  1536.       12 |          - reserved -        |         Age Count           |
  1537.          +------------------------------+-----------------------------+
  1538.       14 |      Next Header Offset      |      Header End Offset      |
  1539.          |        (usually 16)          |       (usually 16)          |
  1540.          +------------------------------+-----------------------------+
  1541.       16 |        Padding to start of IP info (usually 0 bytes)       |
  1542.          +------------------------------+-----------------------------+
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564. Hardwick & Lekashman                                           [Page 28]
  1565.  
  1566. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1567.  
  1568.  
  1569.          +------------------------------+-----------------------------+
  1570.      Off |          ARP hardware address type for HYPERchannel        |
  1571.          |                              8                             |
  1572.          +------------------------------+-----------------------------+
  1573.       +2 |                 HYPERchannel protocol type                 |
  1574.          |             06                           00                |
  1575.          +------------------------------+-----------------------------+
  1576.       +4 | HYPERchannel address length  |     IP address length       |
  1577.          |             6                |           4                 |
  1578.          +------------------------------+-----------------------------+
  1579.       +6 |               ARP opcode (request or reply)                |
  1580.          +------------------------------+-----------------------------+
  1581.       +8 |          Domain              |           Network           |
  1582.          +-           Sender's 32-bit HYPERchannel address           -+
  1583.      +10 |       Adapter address        |     Logical addr/port       |
  1584.          +------------------------------+-----------------------------+
  1585.      +12 |                      Source's MTU size                     |
  1586.          +------------------------------+-----------------------------+
  1587.      +14 |                              |                             |
  1588.          +-                Sender's 32-bit IP address                -+
  1589.      +16 |                                                            |
  1590.          +------------------------------+-----------------------------+
  1591.      +18 |          Domain              |           Network           |
  1592.          +-        Destination's 32-bit HYPERchannel address         -+
  1593.      +20 |                (to be determined on request)               |
  1594.          |       Adapter address        |     Logical addr/port       |
  1595.          +------------------------------+-----------------------------+
  1596.      +22 |                  Destination's MTU size                    |
  1597.          |               (to be determined on request)                |
  1598.          +------------------------------+-----------------------------+
  1599.      +24 |                              |                             |
  1600.          +-             Destination's 32-bit IP address              -+
  1601.      +26 |                                                            |
  1602.          +------------------------------+-----------------------------+
  1603.  
  1604.    Layout of the fields of this ARP message is a fairly straightforward
  1605.    exercise given the standards of ARP and the 32-bit message header.  A
  1606.    few fields are worth remarking upon:
  1607.  
  1608. TO ADDRESS
  1609.  
  1610.    The TO address of an ARP message will be one of two classes of
  1611.    address.  A "normal" address indicates that the message is an ARP
  1612.    response, or that it is an ARP request directed at an ARP server at a
  1613.    well known address on the local network.  For those HYPERchannel
  1614.    networks which are equipped to broadcast, a value of 0xFFFFFF07 in
  1615.    the TO address will (by convention) be picked up only by those
  1616.    protocol servers prepared to interpret and respond to ARP messages.
  1617.  
  1618.  
  1619.  
  1620. Hardwick & Lekashman                                           [Page 29]
  1621.  
  1622. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1623.  
  1624.  
  1625.    The issue of which address to use in an ARP request is discussed in
  1626.    the Address Resolution section.
  1627.  
  1628. FROM ADDRESS
  1629.  
  1630.    Must be the correct FROM address of the user protocol server issuing
  1631.    an ARP request.  The Source Correct bit in the Message Flags byte
  1632.    should be set by this requesting server, as some ARP servers may
  1633.    someday choose to issue ARP information on an "need to know" basis in
  1634.    secure environments.  With an ARP response, the FROM address will
  1635.    contain the "normal" HYPERchannel address of the protocol server
  1636.    responding to the ARP address, even if that server was reached via
  1637.    broadcast mechanisms.
  1638.  
  1639.    ARP responses are returned to the party specified in the FROM address
  1640.    specified in the message header, rather than the address in the
  1641.    "Source HYPERchannel Address" field within the body of the ARP
  1642.    message.
  1643.  
  1644. MESSAGE TYPE
  1645.  
  1646.    The 16-bit value 0x0700 is reserved for the exclusive use of ARP.
  1647.    Unlike IP messages, no provision is made for the ARP message to begin
  1648.    at an arbitrary offset within the message proper, so the value in
  1649.    byte 9 is an extension of the message type.
  1650.  
  1651. HEADER END OFFSET
  1652.  
  1653.    ARP uses the 32-bit addressing convention that byte 15 contains the
  1654.    offset to the start of user protocol (and hence the end of user
  1655.    protocol information).  Note that this is not a substitute for the IP
  1656.    offset fields, as this field also serves as the end of HYPERchannel
  1657.    header information -- future NSC message processing code may well
  1658.    take exception to "garbage" between the actual header end and the
  1659.    start of user data.
  1660.  
  1661. HYPERCHANNEL HARDWARE TYPE CODE
  1662.  
  1663.    This 16-bit number is assigned a formal ARP hardware type of 8.
  1664.  
  1665. HYPERCHANNEL PROTOCOL TYPE
  1666.  
  1667.    On the Ethernet, this field is used to distinguish IP from all other
  1668.    protocols that may require address resolution.  To be logically
  1669.    consistent, this field is identical to bytes 8 and 9 0x0600 in a 32-
  1670.    bit address HYPERchannel message carrying an IP datagram.
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676. Hardwick & Lekashman                                           [Page 30]
  1677.  
  1678. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1679.  
  1680.  
  1681. HYPERCHANNEL ADDRESS LENGTH
  1682.  
  1683.    This contains the value 6, a sufficient number of bytes to
  1684.    accommodate the four byte HYPERchannel address and 2 bytes to
  1685.    indicate the largest IP datagram size that source and destination can
  1686.    handle.
  1687.  
  1688. SOURCE AND DESTINATION HYPERCHANNEL ADDRESS
  1689.  
  1690.    This field contains the Domain, Network, and Adapter/port address of
  1691.    source and destination, respectively.  A value of 0000 in the Domain
  1692.    and Network fields has special significance as this is interpreted as
  1693.    a request to send and receive 16-bit HYPERchannel headers rather than
  1694.    32-bit headers.  If 32-bit headers are to be used within a single
  1695.    HYPERchannel network, then the local domain and network numbers may
  1696.    be specified.
  1697.  
  1698. MAXIMUM TRANSMISSION UNIT
  1699.  
  1700.    HYPERchannel LAN technology is such that messages of unlimited length
  1701.    may be sent between hosts.  Since host throughput on a network is
  1702.    generally limited by the rate the network equipment can be
  1703.    functioned, larger transmission sizes result in higher bulk transfer
  1704.    performance.  Since not every host will be able to handle the maximum
  1705.    size IP datagram, a more flexible means of MTU (maximum transmission
  1706.    unit) size negotiation than simply wiring the same value into every
  1707.    network host is needed.  With this field, each host declares the
  1708.    maximum IP datagram size (not the associated data block size) it is
  1709.    prepared to receive.  Transmitting IP drivers should be prepared to
  1710.    send the minimum of the source and destination IP sizes negotiated at
  1711.    ARP time.
  1712.  
  1713.    The MTU size sent refers to the maximum size of IP header + data.  It
  1714.    does not include the length of the HYPERchannel Hardware header or
  1715.    any offset between the header and the start of the IP datagram.
  1716.    Since it is the option of the transmitting hosts to use an offset of
  1717.    up to 44 bytes a receiving host must in any event be prepared to
  1718.    receive a 64 byte Message Proper and an Associated Data block of
  1719.    MTU-20 (that is 64 - 44, or the length of the basic IP header).
  1720.  
  1721.         An example of a typical 16-bit packet is:
  1722.  
  1723.             12 bytes hardware header.
  1724.             12 bytes offset.
  1725.             40 bytes IP/TCP header.
  1726.           4096 bytes of data.
  1727.        This gives an MTU of 4136.
  1728.  
  1729.  
  1730.  
  1731.  
  1732. Hardwick & Lekashman                                           [Page 31]
  1733.  
  1734. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1735.  
  1736.  
  1737.        An example of a typical 32-bit packet is:
  1738.  
  1739.             16 bytes hardware header.
  1740.              8 bytes offset.
  1741.             40 bytes  IP/TCP header.
  1742.           4096 bytes of associated data,
  1743.        This also gives an MTU of 4136.
  1744.  
  1745.    The offset values are chosen so that the typical packet causes user
  1746.    data to be page aligned at the start of the associated data area.
  1747.    This is an implementation decision, which can certainly be modified
  1748.    as required.
  1749.  
  1750.    The maximum maximum transmission unit is 65536, the current largest
  1751.    size IP datagram.  In order to allow this value to fit into a 16-bit
  1752.    field, the offset length is not included in the MTU.  This MTU size
  1753.    is not a requirement that a local host be equipped to send or receive
  1754.    datagrams of that size; it simply indicates the maximum capacity of
  1755.    the receiving host.
  1756.  
  1757.    A note on trunk masks:
  1758.  
  1759.    There is no field for specifying trunk masks.  This is intentional,
  1760.    as new NSC hardware will contain trunk reachability information,
  1761.    eliminating the need for the host to maintain hardware configuration
  1762.    layouts.  All HYPERchannel messages generated as a result of an ARP
  1763.    response should use 0xFF in the trunk mask.
  1764.  
  1765. ADDRESS RESOLUTION
  1766.  
  1767.    This section describes techniques used by an IP driver to determine
  1768.    the HYPERchannel address and header that a message should contain
  1769.    given an IP datagram containing an IP address.  It describes
  1770.    techniques that are local to specific hosts (and hence can be
  1771.    modified without regard to the activities or techniques of other
  1772.    hosts) as well as techniques to use the Address Resolution Protocol
  1773.    on existing HYPERchannel equipment to better manage IP addresses.
  1774.  
  1775.    It also discusses the migration of name resolution on one of four
  1776.    steps.
  1777.  
  1778.     1.  Truncation of the IP address to form a HYPERchannel address.
  1779.  
  1780.     2.  Local resolution of HYPERchannel addresses through configuration
  1781.         files.
  1782.  
  1783.     3.  Centralized resolution of HYPERchannel addresses through an "ARP
  1784.         server" driven by a configuration file.
  1785.  
  1786.  
  1787.  
  1788. Hardwick & Lekashman                                           [Page 32]
  1789.  
  1790. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1791.  
  1792.  
  1793.     4.  Distributed resolution of HYPERchannel addresses using a "real"
  1794.         address Resolution Protocol on future HYPERchannel media
  1795.         supporting a broadcast mode.
  1796.  
  1797. IP ADDRESS TRUNCATION
  1798.  
  1799.    A number of IP on HYPERchannel implementations support modes where
  1800.    the HYPERchannel address is generated by placing the low order 16-
  1801.    bits of the IP address in the TO address of the message proper.  This
  1802.    more or less treats a set of HYPERchannel boxes addressable through
  1803.    16-bit HYPERchannel addresses as a Class B IP network.
  1804.  
  1805.    This approach certainly offers simplicity:  IP addresses are simply
  1806.    chosen to match HYPERchannel addresses and no IP address
  1807.    "configuration files" need be kept.  Although this approach works in
  1808.    an environment where the HYPERchannel completely constitutes a Class
  1809.    B network, or where connection to a larger IP network is not a
  1810.    concern, its long term use is discouraged for several reasons:
  1811.  
  1812.     o   It simply will not work with any Class C address (the physical
  1813.         TO address is not controllable) or a Class A address (where host
  1814.         addresses are generally carefully administered.)  In addition,
  1815.         it will not support subnetworks.  It is quite incompatible with
  1816.         32-bit HYPERchannel addresses.
  1817.  
  1818.     o   By decoupling the IP and HYPERchannel addresses through more
  1819.         complex address resolution, the characters of the two addresses
  1820.         allow greater site flexibility:  the IP address becomes
  1821.         "logical" in character so that an address can move about a site
  1822.         with the user or host; the HYPERchannel address maintains its
  1823.         physical character so that a HYPERchannel address carefully
  1824.         identifies the physical location of the source and destination
  1825.         within the extended HYPERchannel network.
  1826.  
  1827. LOCAL ADDRESS RESOLUTION
  1828.  
  1829.    The current state of address resolution art with IP on HYPERchannel
  1830.    works as follows:  given an arbitrary IP address, the IP HYPERchannel
  1831.    driver looks up an entry with that address in a (generally hashed)
  1832.    table.  If found, the table entry contains the first 6 bytes of the
  1833.    HYPERchannel header that is used to send the IP datagram to the next
  1834.    IP node on the internet.  Since implementations such as the 4.3BSD
  1835.    UNIX IP are clever enough to provide its lower level drivers with the
  1836.    IP address of the next gateway as well as the destination address on
  1837.    the internet (assuming the message is not delivered locally on the
  1838.    HYPERchannel,) the number of entries in this table is more or less
  1839.    manageable, as it must only contain the IP hosts and gateway
  1840.    addresses that are directly accessible on the HYPERchannel.
  1841.  
  1842.  
  1843.  
  1844. Hardwick & Lekashman                                           [Page 33]
  1845.  
  1846. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1847.  
  1848.  
  1849. CONFIGURATION FILE FORMAT
  1850.  
  1851.    So long as this technique of address resolution is used, the
  1852.    techniques used are exclusively local to the host in the sense that
  1853.    the techniques used to generate and store the information in the
  1854.    table are irrelevant to other hosts.
  1855.  
  1856.    Shown here is a typical file format.  This file should probably be
  1857.    program generated from a database, as asymmetric trunk configurations
  1858.    and multiply homed hosts can cause differences in physical routing
  1859.    and trunk usage.  This format is documented here to illustrate what
  1860.    sort of information must be kept at the link layer.
  1861.  
  1862.    The file consists of source lines each with the form:
  1863.  
  1864.       <type> <hostname> <trunks/flags> <domain/net> <addr> <MTU>
  1865.  
  1866.       an example:
  1867.  
  1868.            <type>  <hostname>             <t/f> <dom/net> <addr>  <MTU>
  1869.            # Random front end
  1870.            host    hyper.nsco.com          FF88    0103    3702    4148
  1871.            # because we want to show the 4 byte format
  1872.            host    192.12.102.1            FF00    0000    2203    1024
  1873.            # Small packets, interactive traffic.
  1874.            host    cray-b.nas.nasa.gov     FF88    0103    4401    4148
  1875.            # The other interface, for big packets.
  1876.            ahost   cray-b.nas.nasa.gov     FF88    0103    4501    32768
  1877.            # A loopback interface, (What else)
  1878.            loop    loop37.nsco.com         FF00    0000    3700    4148
  1879.            # And of course an example of arp service.
  1880.            arpserver hcgate.nsco.com       FF88    0103    7F07
  1881.  
  1882.     Comments may begin with  either # or ;.
  1883.     Case is not significant in any field.
  1884.  
  1885.     <type> indicates the type of entity to be defined.
  1886.       Currently defined types are "host," "ahost", "loop," "address,"
  1887.       and "arpserver".
  1888.  
  1889.       host    This token indicates an IP  host.  The following field  is
  1890.               expected to be a name that can be resolved to an IP
  1891.               address.
  1892.  
  1893.       ahost   This field indicates an additional network interface to
  1894.               the same host.  This may be used for performance
  1895.               enhancements.
  1896.  
  1897.  
  1898.  
  1899.  
  1900. Hardwick & Lekashman                                           [Page 34]
  1901.  
  1902. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1903.  
  1904.  
  1905.       loop    Sets a flag in the entry for that host so that  0xFF00 is
  1906.               placed in bytes 8 and 9 of the message.  This will cause
  1907.               the IP datagram  to be directed towards the specified host
  1908.               (which must still be a valid host name) and looped back
  1909.               within the remote adapter.  This facility serves both as a
  1910.               debugging aid and as a crude probe of the availability of
  1911.               the remote network adapter.
  1912.  
  1913.       arpserver This indicates an address to use for directing ARP
  1914.               requests to the network.  If several arpserver addresses
  1915.               are specified, they will be tried in turn until a response
  1916.               is received (or we run out of servers.)  An arpserver with
  1917.               the  appropriate  broadcast address of FFFF FF07 would
  1918.               cause an ARP broadcast to take place when broadcasting
  1919.               becomes available.  Broadcast and specific addresses may
  1920.               be used in combination.
  1921.  
  1922.    <hostname> This field is the logical name of the destination.  For a
  1923.    host it is the logical name to be given to the local naming service
  1924.    to determine the associated IP address.  This field may contain four
  1925.    decimal numbers separated by dots, in which case it is assumed to be
  1926.    the explicit IP address.
  1927.  
  1928.    <trunks/flags> This field is the value to be placed in bytes 0 and 1
  1929.    of the message header when sending to this host.  The associated data
  1930.    bit need not be supplied as the driver must control it.  All other
  1931.    bits are sent as provided.  This field is a hexidecimal number.
  1932.  
  1933.    <domain/net> This field is the value to be placed in the Domain and
  1934.    Network number field of the message.  A value of 0000 in this field
  1935.    indicates that the destination should be reached by constructing a
  1936.    16-bit HYPERchannel header, rather than a 32-bit header.
  1937.  
  1938.    <address> This field is the value to be placed in the 16-bit TO field
  1939.    to reach <hostname>.  This field is a hexidecimal number.
  1940.  
  1941.    <MTU> This field contains the largest size IP datagram that the
  1942.    destination host is prepared to receive.  This field is a decimal
  1943.    number.  This field is optional.  If not present, a value of 4148 is
  1944.    assumed.  See the earlier discussion on Maximum Transmission Unit for
  1945.    more detail.
  1946.  
  1947. ARP SERVERS
  1948.  
  1949.    The primary problem with local host address resolution is that
  1950.    changes or additions to hosts on the local net must be replicated to
  1951.    every HYPERchannel host in that network.  While this is manageable
  1952.    for up to half a dozen hosts, it becomes quite unmanageable for
  1953.  
  1954.  
  1955.  
  1956. Hardwick & Lekashman                                           [Page 35]
  1957.  
  1958. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  1959.  
  1960.  
  1961.    larger networks.  An approach that can be implemented using existing
  1962.    HYPERchannel technology is to have a server on the HYPERchannel
  1963.    network provide the HYPERchannel destination address that is
  1964.    associated with an IP address.
  1965.  
  1966.    Although this is strictly a point-to-point request/response dialogue
  1967.    between two network nodes, the Address Resolution Protocol which was
  1968.    originally designed for Ethernet (but thoughtfully constructed to
  1969.    work with any pair of link and network addresses) performs an
  1970.    excellent job.
  1971.  
  1972.    ARP servers can be reached simply by placing the address of the
  1973.    server in the 32-bit TO address of the network message.  ARP servers
  1974.    only "listen" to messages that arrive on their well known normal
  1975.    address; they do not respond to ARP broadcast messages.  Properly
  1976.    equipped IP drivers should respond to the broadcast messages when
  1977.    they appear.
  1978.  
  1979.    If an ARP server receives a message containing an IP address it does
  1980.    not know how to resolve, it ignores the message so that another ARP
  1981.    server might be addressed at the source's next attempt.
  1982.  
  1983.    If the address is resolvable, it places the known HYPERchannel
  1984.    address and MTU size in the response and returns it to the location
  1985.    in the HYPERchannel header FROM address.
  1986.  
  1987.    Unlike a broadcast ARP, the ARP server will be required to service
  1988.    two requests when two hosts that are initially unknown to one another
  1989.    attempt to get in touch.  Since the destination did not receive the
  1990.    ARP request, it must contact the ARP server when its higher level
  1991.    protocols first generate a datagram to respond to the the source's
  1992.    first IP datagram to go through to the destination.
  1993.  
  1994.    The source configuration file described in the previous section was
  1995.    explicitly designed so that it could be sufficient as a data base for
  1996.    an ARP server as well as an individual host.
  1997.  
  1998. BROADCAST ARP
  1999.  
  2000.    When a local HYPERchannel network contains a broadcast capability,
  2001.    any IP driver wishing to perform HYPERchannel address resolution may
  2002.    be configured to emit the ARP message on a broadcast instead of a
  2003.    well known address.  IP drivers on other hosts are presumed to know
  2004.    if their local HYPERchannel interface can send broadcast messages; if
  2005.    so, they arrange to "listen" on the FF07 broadcast TO address for
  2006.    ARP.
  2007.  
  2008.    Processing of a received ARP broadcast message is otherwise identical
  2009.  
  2010.  
  2011.  
  2012. Hardwick & Lekashman                                           [Page 36]
  2013.  
  2014. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2015.  
  2016.  
  2017.    to RFC-826:
  2018.  
  2019.     o   Messages are responded to if and only if the destination IP
  2020.         driver is authoritative for the designated IP address.
  2021.  
  2022.     o   Whenever an ARP message is processed, the IP driver takes the
  2023.         source HYPERchannel address and MTU size and adds it to its
  2024.         address resolution tables.  Thus the driver is equipped to
  2025.         turn around the IP datagram that arrives from the destination
  2026.         host when contact is made.
  2027.  
  2028.    Each IP driver may have address resolutions that are set through a
  2029.    static routing table (the configuration file specified above).  If
  2030.    ARP information arrives that contradicts a static entry (as opposed
  2031.    to previously set dynamic ARP information) then the ARP information
  2032.    should be ignored.  This decision is made on the premise that the
  2033.    only useful purpose of static routing in a broadcast ARP environment
  2034.    is to add authentication, as it's easy to lie with ARP.
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068. Hardwick & Lekashman                                           [Page 37]
  2069.  
  2070. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2071.  
  2072.  
  2073. APPENDIX A.  NSC PRODUCT ARCHITECTURE AND ADDRESSING
  2074.  
  2075.    This section is intended to be a concise review of the state of the
  2076.    art in NSC networks and the techniques they provide for the delivery
  2077.    of messages.  Those who are thoroughly familiar with HYPERchannel may
  2078.    wish to only skim this section; however, there is material on new
  2079.    technologies and addressing formats that are not yet generally known
  2080.    to most of NSC's customers.
  2081.  
  2082. NETWORK SYSTEMS HYPERCHANNEL TECHNOLOGIES
  2083.  
  2084.    Network Systems manufactures several different network technologies
  2085.    that use very different media and link controls, but still provide a
  2086.    common host interface in both the protocol and hardware sense of the
  2087.    term.  These four technologies are:
  2088.  
  2089.     o   HYPERchannel A -- A 50-megabit, baseband, CSMA with collision
  2090.         avoidance  network using a coaxial cable bus.  Individual
  2091.         HYPERchannel "network adapters" can control up to 4 of these
  2092.         coaxial cable "trunks,"  providing up to 200 megabits of
  2093.         capacity on a fully interconnected network.  HYPERchannel A
  2094.         is NSC's earliest product and has been in production since
  2095.         1977.  It is principally used to interconnect larger
  2096.         mainframe computers and high speed mainframe peripherals such
  2097.         as tape drives and laser printers.
  2098.  
  2099.     o   HYPERchannel  B -- a 10-megabit, baseband, CSMA with collision
  2100.         avoidance network using a single coaxial cable bus.  This
  2101.         technology is used for direct host to host communications under
  2102.         the name HYPERchannel B, and for terminal connections under the
  2103.         name HYPERbus.  It is currently used for three major
  2104.         applications -- local networks of ASCII terminals, networks
  2105.         of IBM 3270 terminals, and host to host communications of
  2106.         smaller computers.
  2107.  
  2108.     o   DATAPIPE[3]  --  a 275-megabit fiber optic "backbone" network
  2109.         that interconnects lower speed local area networks within a 20
  2110.         mile range, and to provide an ultra-high-performance network for
  2111.         the next generation of supercomputers and optical storage
  2112.         systems.  A prototype version of DATApipe is currently under
  2113.         development at a customer site.
  2114.  
  2115.     o   Bridges and Network Distance Extensions -- NSC quickly
  2116.         discovered that its customers wanted very high speeds over
  2117.         geographic areas, not just within the range of several miles
  2118.         that is conceivable with a coaxial cable network.  Starting
  2119.         in 1978, NSC began to build a series of "link adapters" that
  2120.         are integral bridges between local area networks.  These link
  2121.  
  2122.  
  2123.  
  2124. Hardwick & Lekashman                                           [Page 38]
  2125.  
  2126. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2127.  
  2128.  
  2129.         adapters support common high speed communications media such
  2130.         as Telco T1 circuits, private microwave, high speed
  2131.         satellite links, and fiber optic point to point connections.
  2132.  
  2133. ATTACHMENT TO HOST COMPUTERS
  2134.  
  2135.    Network Systems' high speed interfaces use the attachment techniques
  2136.    of the manufacturer's highest speed peripheral controllers in order
  2137.    to achieve burst transfer rates of tens of megabits per second.
  2138.    These attachment techniques fall into three categories:
  2139.  
  2140. "MAINFRAME" DATA CHANNEL ATTACHMENT
  2141.       +-----------+-------+                   +------------+  | | | |
  2142.       |           |       |                   |HYPERchannel+--+ | | |
  2143.       |           |       +-------------------+  Network   +--|-+ | |
  2144.       | Host      |  I/O  +-------------------+  Adapter   +--|-|-+ |
  2145.       |           |       |   Standard host   |            +--|-|-|-+
  2146.       | Computer  |Control|    data channel   +------------+  | | | |
  2147.       |           |       |
  2148.       |           |       |
  2149.       |           |       |
  2150.       |           |       |
  2151.       +-----------+-------+
  2152.  
  2153.    The network adapter contains interface boards and firmware to be
  2154.    cabled to the manufacturer's data channel, such as would be done with
  2155.    a disk or tape controller.  Mainframe network adapters do not emulate
  2156.    an existing manufacturer's device (such as a tape drive) but are
  2157.    supported by software which functions the channel and adapter to send
  2158.    and receive network messages.
  2159.  
  2160.    Models of HYPERchannel adapters are available for essentially all
  2161.    large scale computers worldwide.
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180. Hardwick & Lekashman                                           [Page 39]
  2181.  
  2182. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2183.  
  2184.  
  2185. MINICOMPUTER AND WORKSTATION ATTACHMENT
  2186.  
  2187.    Since the network adapter contains lots of expensive, high speed
  2188.    logic, a different technique is used to provide attachment to
  2189.    minicomputers and workstations.
  2190.  
  2191.       +-------------+        +---------------+       +--------------+
  2192.       |             |        |               |       |              |
  2193.       | Minicomputer|        |  Supermini    |       | Workstation  |
  2194.       |             |        |               |       |              |
  2195.       +-----+-------+        +-------+-------+       +-------+------+
  2196.       |     |  DMA  |        |       |  DMA  |       |  DMA  |      |
  2197.       |     |control|        |       |control|       |control|      |
  2198.       +-----+---++--+        +-------+--++---+       +--++---+------+
  2199.                 ||                      ||              ||
  2200.                 ||                      ||              ||
  2201.                 |+----------+           ||    +---------+|
  2202.                 +----------+|           ||    |+---------+
  2203.                            ||           ||    ||
  2204.                          +-++--+-----+--++-+--++-+
  2205.                          |     |     |     |     |
  2206.                          +-----+-----+-----+-----+
  2207.                          |         x400          |
  2208.                          |    Network Adapter    |
  2209.                          |                       |
  2210.                          +-------+-+-+-+---------+
  2211.                                  | | | |
  2212.                ------------------|-|-|-+----------------
  2213.                ------------------|-|-+------------------
  2214.                ------------------|-+--------------------
  2215.                ------------------+----------------------
  2216.  
  2217.    In this case, NSC provides a DMA controller designed for direct
  2218.    connection to that minicomputer's backplane bus.  These DMA
  2219.    controllers accept functions and burst blocks of data from host
  2220.    memory to a channel cable that is connected to one of four ports on a
  2221.    "general purpose computer adapter."  This adapter multiplexes
  2222.    transmissions to and from the HYPERchannel trunks from up to four
  2223.    attached processors.
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236. Hardwick & Lekashman                                           [Page 40]
  2237.  
  2238. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2239.  
  2240.  
  2241. NETWORK COPROCESSORS
  2242.  
  2243.    For about 10 different bus systems, Network systems provides a
  2244.    "smart" DMA controller containing onboard memory and a Motorola 68010
  2245.    protocol processor.
  2246.  
  2247.        +------------+-----+---------------+-------+
  2248.        |            |     |   Coprocessor |       |        +--------+
  2249.        |            |Host |    MC 68010   |Adapter+--------+  x400  |
  2250.        |    HOST    |DMA  |   256K memory |  DMA  +--------+ Adapter|
  2251.        |            |     |               |       |        +--------+
  2252.        |    Memory  +-----+---------------+-------+
  2253.        |            |
  2254.        +------------+
  2255.  
  2256.    This class of interface works through the network coprocessor's
  2257.    direct access to host memory.  Network transmit and receive request
  2258.    packets are placed in a common "mailbox" area and extracted by the
  2259.    coprocessor.  The coprocessor reads and writes system memory as
  2260.    required to service network requests in the proper order.  The
  2261.    coprocessors currently provide a service to read or write network
  2262.    messages (called Driver service as it is more or less identical to
  2263.    HYPERchannel dumb DMA drivers) and a service for NETEX, which is
  2264.    NSC's OSI-like communications protocol.
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292. Hardwick & Lekashman                                           [Page 41]
  2293.  
  2294. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2295.  
  2296.  
  2297. APPENDIX B. NETWORK SYSTEMS HYPERCHANNEL PROTOCOLS
  2298.  
  2299.    The protocols implemented by NSC within its own boxes are designed
  2300.    for the needs of the different technologies.  A compact summation of
  2301.    these protocols is:
  2302.  
  2303.       HYPERchannel B         HYPERchannel A            DATApipe
  2304.      10 Mbits/second       50-200 Mbits/second     275 Mbits/second
  2305.  +----------------------+----------------------+---------------------+
  2306.  |                                                                   |
  2307.  |                  HYPERchannel network message                     |
  2308.  |                 connectionless datagram protocol                  |
  2309.  |                                                                   |
  2310.  +----------------------+----------------------+---------------------+
  2311.  |    "HYPERchannel     |                      |                     |
  2312.  |  compatibility mode" |    HYPERchannel A    |     DATApipe        |
  2313.  |   Virtual circuit    |   reservation and    |   acknowledgment    |
  2314.  |   estab. & control   |    flow control      |    & flow control   |
  2315.  +----------------------+      protocol        |      protocol       |
  2316.  |                      |                      |                     |
  2317.  |  Virtual Circuits    |                      |                     |
  2318.  |    Flow Control      |                      |                     |
  2319.  +----------------------+----------------------+---------------------+
  2320.  |    CSMA / VT         |      CSMA / CA       |                     |
  2321.  |  frame (datagram)    |  frame (datagram)    | TDMA packet delivery|
  2322.  |    delivery and      |   delivery and       |                     |
  2323.  |   acknowledgment     |  acknowledgment      |                     |
  2324.  +----------------------+----------------------+---------------------+
  2325.  |                      |                      |    Fiber optics     |
  2326.  |     75 ohm coax      |  1-4 75 ohm coax     | (various cable sizes|
  2327.  |       cable          |      cables          |  and xmission modes)|
  2328.  +----------------------+----------------------+---------------------+
  2329.  
  2330.    Without getting into great detail on these internal protocols, a few
  2331.    points are particularly interesting to system designers:
  2332.  
  2333.     o   All three technologies supply the same interface to the host
  2334.         computer or network coprocessor, a service to send and receive
  2335.         network messages that are datagrams from the host's vantage in
  2336.         that each contains sufficient information to deliver the message
  2337.         in and of itself.  Since this datagram and its header fields are
  2338.         of paramount interest to the host implementor, it is discussed
  2339.         in detail below.
  2340.  
  2341.     o   All technologies use acknowledgments at a very low level to
  2342.         determine if packets  have been successfully delivered.  In
  2343.         addition to permitting  a highly tuned contention mechanism for
  2344.         the coax medium, it also permits HYPERchannel A to balance the
  2345.  
  2346.  
  2347.  
  2348. Hardwick & Lekashman                                           [Page 42]
  2349.  
  2350. RFC 1044           IP on Network Systems HYPERchannel      February 1988
  2351.  
  2352.  
  2353.         load over several coax cables -- a feat that has proven very
  2354.         difficult on, for example, Ethernet.
  2355.  
  2356.     o   All boxes go to some lengths to assure that resources exist
  2357.         in the receiving box before actual transmission takes place.
  2358.         HYPERchannel B uses a virtual circuit that endures for several
  2359.         seconds of inactivity after one host first attempts to send a
  2360.         message to the other.  Traffic over this "working virtual
  2361.         circuit" is flow controlled from source to destination and
  2362.         buffer resources are reserved for the path.
  2363.  
  2364.    HYPERchannel A exchanges frames at very high rates to determine that
  2365.    the receiver is ready to receive data and to control its flow as data
  2366.    moves through the network.
  2367.  
  2368.    DATApipe propagation time is relatively long compared to the time
  2369.    needed to send an internal packet of 2K-4K bytes.  As a result,
  2370.    DATApipe controllers use a streamlined TP4-like transport protocol to
  2371.    assure delivery of frames between DATApipe boxes.
  2372.  
  2373. REFERENCES
  2374.  
  2375.       [1]   HYPERchannel is a trademark of Network Systems Corporation.
  2376.  
  2377.       [2]   Plummer, D., "An Ethernet Address Resolution Protocol",
  2378.             RFC-826, Symbolics, September 1982.
  2379.  
  2380.       [3]   DATApipe is a registered trademark of Network Systems
  2381.             Corporation.
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404. Hardwick & Lekashman                                           [Page 43]
  2405.  
  2406.