home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1005 < prev    next >
Text File  |  1991-04-21  |  68KB  |  1,907 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                            Atul Khanna, Andy Malis
  8. Request for Comments: 1005                      BBN Communications Corp.
  9.                                                                 May 1987
  10.  
  11.  
  12.         The ARPANET AHIP-E Host Access Protocol (Enhanced AHIP)
  13.  
  14.  
  15. 1. Status of this Memo
  16.  
  17.    This RFC is a proposed specification for the encoding of Class A
  18.    IP addresses for use on ARPANET-style networks such as the Milnet
  19.    and Arpanet, and for enhancements to the ARPANET AHIP Host Access
  20.    Protocol (AHIP; formerly known as 1822).  These enhancements
  21.    increase the size of the PSN field, allow ARPANET hosts to use
  22.    logical names to address each other, allow for the communication
  23.    of type-of-service information from the host to the PSN and
  24.    enable the PSN to provide congestion feedback to the host on a
  25.    connection basis. Distribution of this memo is unlimited.
  26.    Comments on this RFC should be sent to the netmail address
  27.    "ahipe@bbn.com".
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Khanna & Malis                                                  [Page 1]
  59.  
  60. RFC 1005                                                        May 1987
  61.  
  62.  
  63.                              Table of Contents
  64.  
  65.  
  66.         1   INTRODUCTION.......................................... 4
  67.  
  68.         2   IP ISSUES............................................. 6
  69.         2.1   Current Interpretation of Class A IP Address
  70.               Fields
  71.                ................................................... 6
  72.         2.2   Requirements and Constraints Affecting New
  73.               Class A Mapping
  74.                ................................................... 7
  75.         2.3   New Interpretation of IP Address Fields............. 8
  76.         2.4   Discussion of the New Mapping.......................10
  77.         2.5   Interoperability between Current AHIP and
  78.               AHIP-E
  79.                ...................................................11
  80.  
  81.         3   LOGICAL ADDRESSING................................... 13
  82.         3.1   Addresses and Names................................ 13
  83.         3.2   Name Translations.................................. 14
  84.         3.2.1   Authorization and Effectiveness.................. 15
  85.         3.2.2   Translation Policies............................. 16
  86.         3.2.3   Reporting Destination Host Downs................. 17
  87.         3.3   Establishing Host-PSN Communications............... 18
  88.         3.4   Name Server........................................ 19
  89.  
  90.         4   OTHER CHANGES........................................ 20
  91.         4.1   Type-of-Service Specification...................... 20
  92.         4.2   Subnet Congestion Feedback......................... 21
  93.         4.3   Precedence Level Information....................... 21
  94.  
  95.         5   FORMATS FOR NEW AHIP-E MESSAGES...................... 23
  96.         5.1   Host-to-PSN AHIP-E Leader Format................... 23
  97.         5.2   PSN-to-Host AHIP-E Leader Format................... 27
  98.  
  99.         6   AHIP-E VERSIONS...................................... 33
  100.  
  101.         7   REFERENCES........................................... 34
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Khanna & Malis                                                  [Page 2]
  115.  
  116. RFC 1005                                                        May 1987
  117.  
  118.  
  119.                                   FIGURES
  120.  
  121.         2.1  IP Class A Mapping................................... 6
  122.         2.2  New Class A IP Address Interpretation................ 8
  123.         2.3  AHIP-E Address and Name.............................. 9
  124.         3.1  Current AHIP Address Format......................... 13
  125.         3.2  AHIP-E Address Format............................... 14
  126.         3.3  Logical Name Format................................. 14
  127.         5.1  Host-to-PSN AHIP-E Leader Format.................... 23
  128.         5.2  NDM Message Format.................................. 25
  129.         5.3  PSN-to-Host AHIP-E Leader Format.................... 27
  130.         5.4  Name Server Reply Format............................ 30
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Khanna & Malis                                                  [Page 3]
  171.  
  172. RFC 1005                                                        May 1987
  173.  
  174.  
  175. 1  INTRODUCTION
  176.  
  177. This RFC is a proposed specification for the encoding of Class A
  178. IP addresses for use on ARPANET-style networks such as the Milnet
  179. and Arpanet, and for enhancements to the AHIP Protocol (AHIP is the
  180. preferred term for what has previously been known as the 1822
  181. protocol).  These enhancements and modifications are partially
  182. motivated by a need to overcome the current address limitation
  183. of 256 PSNs per network and by a desire to allow hosts to take
  184. advantage of logical addressing with minimal change to their AHIP
  185. software. This enhanced AHIP protocol will be referred to as
  186. "AHIP-E".  These enhancements will:
  187.  
  188.  
  189.     1.   Increase the size of the PSN field to 10 bits.
  190.  
  191.     2.   Allow hosts to use logical names (i.e., host names that are
  192.          independent of physical location on the network) in addition to
  193.          physical port addresses to communicate with each other.
  194.  
  195.     3.   Enable the host to specify a type-of-service to the PSN.
  196.  
  197.     4.   Provide a mechanism for the PSN to communicate subnetwork
  198.          congestion information to the host on a destination host basis.
  199.          This will give the host an opportunity to selectively reduce
  200.          its congesting flows, thus preventing all of its flows from
  201.          being blocked b y the network.  Currently, a host has no way of
  202.          knowing which of its flows is experiencing congestion;
  203.          consequently, it is possible that one congesting flow can
  204.          result in the blocking of all the host's flows .
  205.  
  206.     5.   Enable the PSN to inform the host about changes in precedence
  207.          cutoff levels and about precedence level violations.
  208.  
  209. A host can take advantage of the extended and logical addressing
  210. capabilities without making substantial changes to its AHIP
  211. implementation.  In particular, the specification provides three
  212. versions of AHIP-E: version 0 is current AHIP with no changes; version 1
  213. allows use of logical and extended addressing with minimal change to
  214. code; version 2 constitutes full-fledged AHIP-E.  This is described in
  215. further detail in chapter 6.
  216.  
  217. This RFC's terminology is consistent with that used in BBN Report 1822
  218. [1], and any new terms are defined when they are first used.
  219. Familiarity with Report 1822 (section 3 in particular) is assumed.  As
  220. could be expected, the RFC makes many references to Report 1822.  As a
  221. result, it uses, as a convenient abbreviation, "see 1822(x)" instead of
  222. "please refer to Report 1822, section x, for further details".
  223.  
  224.  
  225.  
  226. Khanna & Malis                                                  [Page 4]
  227.  
  228. RFC 1005                                                        May 1987
  229.  
  230.  
  231. The rest of this RFC is organized as follows.  Chapter 2 describes the
  232. new mapping between IP class A addresses and subnetwork hosts.  Chapter
  233. 3 discusses logical addressing.  Chapter 4 describes the enhancements
  234. related to type-of-service and reliability specification and to
  235. congestion and precedence feedback.  Chapter 5 includes a specification
  236. of the new message types and their formats.  Finally, chapter 6
  237. describes the AHIP-E version numbering scheme.
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Khanna & Malis                                                  [Page 5]
  283.  
  284. RFC 1005                                                        May 1987
  285.  
  286.  
  287. 2  IP ISSUES
  288.  
  289. This section discusses the changes to the mapping between Class A IP
  290. addresses [5] and subnet addresses.  These changes are made necessary
  291. by:
  292.  
  293.       1.  The introduction of logical names.
  294.  
  295.       2.  The expansion of the PSN-number field.
  296.  
  297.  
  298. Note that this RFC does not affect Class B and C mappings [5].
  299.  
  300.  
  301. 2.1  Current Interpretation of Class A IP Address Fields
  302.  
  303. Class A IP addresses are 32 bits in length, with 8 bits devoted to
  304. network number and 24 to the local address.  In particular, they are of
  305. the form n.h.l.i, where n,h,l and i are decimal integers less than 256.
  306. AHIP addresses are 24 bits in length.  The current ARPANET-style class A
  307. mapping is as follows (from RFC 796):
  308.  
  309.  
  310.  
  311.  
  312.              0       7 8     15 16   23 24     31
  313.              +--------+--------+-------+---------+
  314.              | net #  |  HOST  |   LH  | PSN     |   IP Address
  315.              +--------+--------+-------+---------+
  316.                  8        8         8      8
  317.  
  318.  
  319.                       8          8        8
  320.               +--------+--------+--------+
  321.               |  HOST  |  ZERO  | PSN    |  AHIP Physical Address
  322.               +--------+--------+--------+
  323.               41     48 49    56 57    64
  324.             (bit positions in the AHIP leader)
  325.  
  326.                             IP Class A Mapping
  327.                                 Figure 2.1
  328.  
  329.  
  330.  
  331. The LH (logical host) field is used by the hosts only and is not passed
  332. to the network.
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Khanna & Malis                                                  [Page 6]
  339.  
  340. RFC 1005                                                        May 1987
  341.  
  342.  
  343. 2.2  Requirements and Constraints Affecting New Class A Mapping
  344.  
  345. This section discusses some of the requirements and constraints that
  346. were considered significant in determining the new address mapping.
  347.  
  348.      1.   Address Mapping Stability Requirement:
  349.  
  350.           Any current IP physical address with l (logical host) = 0
  351.           should remain unchanged under the new design.  For example,
  352.           the binary string corresponding to 10.0.0.51 should continue
  353.           to refer to sri-nic.arpa (assuming, of course, that sri-nic
  354.           continues to reside on psn 51, port 0).  This requirement is
  355.           motivated by a desire to avoid a network-wide address
  356.           switchover.
  357.  
  358.      2.   Existing implementation compatibility:
  359.  
  360.           Existing compliant implementations of AHIP should continue to
  361.           function for destinations with addresses fitting the
  362.           restrictions in 1.  In other words, such addresses should
  363.           continue to refer to their original destinations, not only
  364.           with the AHIP-E implementation (which is the condition in 1),
  365.           but also with current ones.
  366.  
  367.      3.   Compatibility between X.25's IP address to subnet host mapping
  368.           and AHIP's IP address to subnet host mapping:
  369.  
  370.           The AHIP-E IP to host mapping should be able to co-exist in
  371.           some sense with the IP to host mapping specified by the DDN
  372.           X.25 Specification [6].  In particular, restricted use of the
  373.           revised IP to DDN host mapping should produce addresses that
  374.           are consistent with the current X.25 mapping.  In other words,
  375.           there should be a set that includes "sufficiently many"
  376.           logical names and physical addresses, with the property that
  377.           each address/name in the set maps onto the same host under
  378.           both the AHIP and X.25 mappings.
  379.  
  380.      4.   Maximum number of PSNs that can be supported:
  381.  
  382.           The new design should support a maximum of more than 256 PSNs
  383.           per network.
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Khanna & Malis                                                  [Page 7]
  395.  
  396. RFC 1005                                                        May 1987
  397.  
  398.  
  399. 2.3  New Interpretation of IP Address Fields
  400.  
  401. The following is the new interpretation of the IP address field, in the
  402. context of ARPANET-style networks:
  403.  
  404.  
  405.             Proposed IP Address Interpretation
  406.  
  407.               8        8     1   5       10
  408.           +--------+--------+-+-----+----------+
  409.           | net #  |  HOST  |0|XXXXX|   PSN    |  Physical Address
  410.           +--------+--------+-+-----+----------+
  411.           0       7 8     15  17  21 22      31
  412.  
  413.  
  414.               8        8      2   6       8
  415.           +--------+--------+--+------+--------+
  416.           | net #  | UPPER  |11|XXXXXX| LOWER  |  Logical Name
  417.           +--------+--------+--+------+--------+
  418.           0       7 8     15   18   23 24    31
  419.  
  420.  
  421.                    16         2       14
  422.           +-----------------+--+---------------+
  423.           |                 |10|               |  Reserved Format
  424.           +-----------------+--+---------------+
  425.           0               15    18            31
  426.  
  427.                       (X = don't care)
  428.  
  429.                  New Class A IP Address Interpretation
  430.                                Figure 2.2
  431.  
  432.  
  433. The fields have the following meanings:
  434.  
  435.           HOST = host-number
  436.  
  437.           PSN = 10 bit PSN-number field
  438.  
  439.           UPPER = upper 8 bits of the 16-bit logical name
  440.  
  441.           LOWER = lower 8 bits of the 16-bit logical name
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Khanna & Malis                                                  [Page 8]
  451.  
  452. RFC 1005                                                        May 1987
  453.  
  454.  
  455. AHIP-E physical addresses and logical names have the following formats:
  456.  
  457.                8     1   5       10
  458.           +--------+-+-----+----------+
  459.           |  HOST  |0|XXXXX|   PSN    |  Physical Address
  460.           +--------+-+-----+----------+
  461.           41     48         55      64
  462.           (bit positions in the AHIP leader)
  463.                 (X = don't care)
  464.  
  465.  
  466.               8      2   6       8
  467.           +--------+--+------+--------+
  468.           | UPPER  |11|XXXXXX| LOWER  |  Logical Name
  469.           +--------+--+------+--------+
  470.           41     48           57     64
  471.                (bit positions in the AHIP leader)
  472.  
  473.  
  474.           +--------+--+---------------+
  475.           |        |10|               |  Reserved Address Format
  476.           +--------+--+---------------+
  477.           41     48    51            64
  478.                (bit positions in the AHIP leader)
  479.  
  480.  
  481.                         AHIP-E Address and Name
  482.                                Figure 2.3
  483.  
  484. The reserved address format is currently undefined and will be rejected
  485. by the PSN, which will return an error message (message type 6, subtype
  486. 3) to the host.
  487.  
  488.     -----------------------------------------------------------------
  489.    |This design does not require the AHIP-E host to do any processing|
  490.    |of the address -- the host need only copy bits 8-31 of the IP    |
  491.    |address into bits 41-64 of the AHIP leader.  The host no longer  |
  492.    |needs to zero out bits 49-56 of the AHIP leader.  The PSN will   |
  493.    |take care of the AHIP to subnet address conversion.  In other    |
  494.    |words, bits 8-31 of the IP address field should be passed        |
  495.    |unchanged to the PSN, which interprets them exactly as shown in  |
  496.    |figure 2.3.                                                      |
  497.     -----------------------------------------------------------------
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Khanna & Malis                                                  [Page 9]
  507.  
  508. RFC 1005                                                        May 1987
  509.  
  510.  
  511. 2.4  Discussion of the New Mapping
  512.  
  513. This section presents an evaluation of the design in terms of the
  514. requirements in section 2.2
  515.  
  516.      1.   Address mapping stability requirement:
  517.  
  518.           Current physical IP addresses will not have to be changed, as
  519.           long as they have been following the convention of setting LH
  520.           = 0.  This ensures that bit 16 is set to 0, indicating that
  521.           the address is physical, and that the PSN number comes out
  522.           right.
  523.  
  524.  
  525.      2.   Existing implementation compatibility:
  526.  
  527.           The design meets this requirement, as the address that gets to
  528.           the PSN has its second octet = 0, which results in its correct
  529.           interpretation as a physical address.
  530.  
  531.      3.   Compatibility with the current X.25 IP address to DDN host
  532.           mapping:
  533.  
  534.           The current X.25 IP to HOST mapping [6] is as follows: If h <
  535.           64, the address is considered physical, i.e., it refers to
  536.           host h on PSN i.  If h >= 64, the address is considered
  537.           logical, i.e., it refers to the host whose logical name is h
  538.           concatenated with i.
  539.  
  540.           The design is compatible in a limited sense with the current
  541.           X.25 logical addressing implementation, as long as logical
  542.           names are assigned such that host-number > 63 (also PSN-number
  543.           < 256 which is automatic, given the 16-bit size of the logical
  544.           name field) and physical addresses are in the range host-
  545.           number < 64 and PSN- number < 256, with the appropriate
  546.           setting of bits 16 and 17 of the IP address field.  This works
  547.           because the X.25 mapping ignores the value of the l field,
  548.           i.e., the third IP address octet.
  549.  
  550.           Given the desire to be able to address more than 64 hosts
  551.           physically and for PSN numbers > 255, this address assignment
  552.           restriction should not be considered permanent, but rather as
  553.           an interim compromise until the hosts' X.25 implementations
  554.           are revised to incorporate the new mapping between IP and DDN
  555.           addresses.
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Khanna & Malis                                                 [Page 10]
  563.  
  564. RFC 1005                                                        May 1987
  565.  
  566.  
  567.      4.   Maximum number of PSNs that can be supported:
  568.  
  569.           The design allows addressing of up to 1024 PSNs per network.
  570.  
  571. 2.5  Interoperability between Current AHIP and AHIP-E
  572.  
  573. This section discusses the interoperability between hosts using current
  574. AHIP and AHIP-E.  It also discusses the general issue of current AHIP
  575. host operation in the AHIP-E addressing environment.
  576.  
  577. The proposed modifications to AHIP have been designed with backward
  578. compatibility in mind.  However, note that bits 41-64 of the PSN-to-host
  579. leader (see 1822(3.4)) will always contain the physical address of the
  580. source host.  This means that an error could occur when a host on a PSN
  581. numbered greater than 255 attempts to send a message to a host running a
  582. current AHIP implementation, which interprets the address of the source
  583. host as one with PSN-number < 256.
  584.  
  585. There are other possibilities for errors, caused by incorrect address
  586. translation between IP and current AHIP:
  587.  
  588.    1.  A host running current AHIP cannot physically address
  589.        any host on a PSN numbered greater than 255 (see Figure
  590.        3.1).  Consequently, an error will result if the host
  591.        attempts to use an address from the NIC host table that
  592.        has PSN-number > 255.
  593.  
  594.    2.  If a host running current AHIP attempts to use a
  595.        logical name that it might have in its host table, an
  596.        error will occur.  This is because the logical name flag
  597.        bits 16 and 17 of the IP address, bits 49 and 50 of the
  598.        AHIP leader.  Recal that bits 49 - 56 of the AHIP
  599.        leader get set to zero with current AHIP (see figure
  600.        2.1).
  601.  
  602. Since these errors cannot be detected by the subnetwork, it is essential
  603. that all hosts implement at least version 1 AHIP-E (see chapter 6)
  604. before PSN numbers over 255 and logical names are assigned.
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Khanna & Malis                                                 [Page 11]
  619.  
  620. RFC 1005                                                        May 1987
  621.  
  622.  
  623. Another aspect of interoperability has to do with the IP LH field, which
  624. is currently used by a handful of Arpanet hosts to demultiplex a single
  625. host port.  The 5 don't-care bits of the physical IP address (bits 17-
  626. 21) and the 6 don't-care bits of the IP logical name (bits 18-23) can be
  627. used for this purpose -- in particular, the use of these bits is divided
  628. between the network and external devices, based on administrative
  629. agreement.  At the very least, the IP addresses of such hosts will have
  630. to change to reflect the changed position of the LH field.  However, the
  631. preferred way to demultiplex a single host port is via the mechanism of
  632. logical names.  The only change this involves is to get the port
  633. expander implementation to look at the entire IP address, rather than
  634. just the LH field.
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Khanna & Malis                                                 [Page 12]
  675.  
  676. RFC 1005                                                        May 1987
  677.  
  678.  
  679. 3  LOGICAL ADDRESSING
  680.  
  681. The modifications to AHIP allow a host to use logical addressing to
  682. communicate with other hosts on the network.  Basically, logical
  683. addressing allows hosts to refer to each other using a logical name (see
  684. section 3.1) which is independent of a host's physical location in the
  685. network.  IEN 183 (also published as BBN Report 4473) [2] gives the use
  686. of logical addressing considerable justification.  Among the advantages
  687. it cites are:
  688.  
  689. o The ability to refer to each host on the network by a name
  690.   independent of its location in the network (especially
  691.   important if the host has to move to another physical port).
  692.  
  693. o Allowing different hosts to share the same host port on a
  694.   time-division basis.
  695.  
  696. o Allowing a host to use multi-homing (where a single host uses
  697.   more than one port to communicate with the network).
  698.  
  699. o Allowing several hosts that provide the same service to share
  700.   the same name.
  701.  
  702. o Allowing a host to provide services that have their own unique
  703.   names.
  704.  
  705. 3.1  Addresses and Names
  706.  
  707. The AHIP-E protocol allows two forms of host specification.  The first
  708. is a slightly modified version of the form used by the current AHIP
  709. protocol, the physical address.  The second form is the logical name
  710. (the terms "name", "logical name" and "logical address" are used
  711. interchangeably in this document).
  712.  
  713. Current AHIP addresses are the 24-bit host addresses found in AHIP
  714. leaders.  They have the following format:
  715.  
  716.                        8          8        8
  717.                +-------------+--------+------------+
  718.                | host-number |00000000| PSN-number |
  719.                +-------------+--------+------------+
  720.                 41         48 49    56 57        64
  721.                 (bit positions in the AHIP leader)
  722.  
  723.                       Current AHIP Address Format
  724.                                Figure 3.1
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Khanna & Malis                                                 [Page 13]
  731.  
  732. RFC 1005                                                        May 1987
  733.  
  734.  
  735. AHIP-E addresses have the following format:
  736.  
  737.  
  738.                   8     1   5       10
  739.              +--------+-+-----+----------+
  740.              |  HOST  |0|XXXXX|   PSN    |  Physical Address
  741.              +--------+-+-----+----------+
  742.              41     48         55      64
  743.              (bit positions in the AHIP leader)
  744.            (X = don't care)
  745.  
  746.                          AHIP-E Address Format
  747.                                Figure 3.2
  748.  
  749. Logical names are 16-bit unsigned numbers that serve as a logical
  750. identifier for one or more hosts.  A logical name is the concatenation
  751. of two separate octets in the AHIP leader, bits 41-48 (Upper 8) and 57-
  752. 64 (Lower 8) in particular.
  753.  
  754.  
  755.                          8      2   6       8
  756.                      +--------+--+------+--------+
  757.                      | UPPER  |11|XXXXXX| LOWER  |
  758.                      +--------+--+------+--------+
  759.                      41     48           57     64
  760.                     (bit positions in the AHIP leader)
  761.                            (X = don't care)
  762.  
  763.  
  764.                           Logical Name Format
  765.                                Figure 3.3
  766.  
  767. 3.2  Name Translations
  768.  
  769. There are a number of factors that determine how a logical name is
  770. translated by the PSN into a physical address on the network.  These
  771. factors include which translations are legal; in what order different
  772. translations for the same name should be attempted; and which legal
  773. translations should not be attempted because a particular host port is
  774. down.  These issues are discussed in the following sections.
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Khanna & Malis                                                 [Page 14]
  787.  
  788. RFC 1005                                                        May 1987
  789.  
  790.  
  791. 3.2.1  Authorization and Effectiveness
  792.  
  793. Every host on a PSN, regardless of whether it is using the AHIP or
  794. AHIP-E protocol to access the network, can have one or more logical
  795. names.  Hosts using AHIP-E can then use these names to address the hosts
  796. in the network independent of their physical locations.
  797.  
  798. At this point, several questions arise:  How are these names assigned,
  799. how do they become known to the PSNs (so that translations to physical
  800. addresses can be made), and how do the PSNs know which host is currently
  801. using a shared port?  To answer each question in order:
  802.  
  803. Names are assigned by a central network administrator.  When each name
  804. is created, it is assigned to a host (or a group of hosts) at one or
  805. more specific host ports.  The host(s) are allowed to reside at those
  806. specific host ports, and nowhere else.  If a host moves, it will keep
  807. the same name, but the administrator has to update the central database
  808. to reflect the new host port.  Changes to this database are distributed
  809. to the PSNs by the Monitoring Center (MC).  For a while, the host may be
  810. allowed to reside at either of (or both) the new and old ports.  Once
  811. the correspondence between a name and one or more hosts ports where it
  812. may be used has been made official by the administrator, that name is
  813. said to be authorized.  Physical addresses, which actually refer to
  814. physical host ports, are always authorized in this sense.
  815.  
  816. When the PSN detects that a host has come up on one of its ports, it
  817. makes effective the default name(s), if any, for that host.  This
  818. default action is specified in the configuration table for that host,
  819. and can be one of the following: Enable All Names, Enable No Names,
  820. Enable One Particular Name.  In the case of an AHIP-E host, the default
  821. name might not be the one that the host desires to be known as (recall
  822. that several hosts may share the same port, or one host may prefer to be
  823. known by different names at different times).  This requires that an
  824. AHIP-E host be able to declare its name to the PSN.  This function is
  825. performed by a new host-to-PSN message, the Name Declaration Message
  826. (NDM), which lists the names that the host would like to be known by.
  827. The PSN checks its tables to see if each of the names is authorized, and
  828. sends an NDM Reply to the host saying which names were actually
  829. authorized and can now be used for sending and receiving messages (i.e.,
  830. which names are effective).  A host can also use an NDM message to
  831. change its list of effective names (it can add to and delete from the
  832. list) at any time.  The only constraint on the host is that any names it
  833. wishes to use can become effective only if they are authorized.
  834.  
  835. If a host is using the current AHIP protocol, it can still receive
  836. messages from hosts via its logical name.  Of course, it can also
  837. receive messages from a current AHIP host via its physical address as
  838. well.  (Remember, the distinction between logical names and physical
  839.  
  840.  
  841.  
  842. Khanna & Malis                                                 [Page 15]
  843.  
  844. RFC 1005                                                        May 1987
  845.  
  846.  
  847. addresses is that the addresses correspond to physical locations on the
  848. network, while the names are strictly logical identifiers).
  849.  
  850. The third question above has by now already been answered. An AHIP-E
  851. host can use the NDM message to tell the PSN which host it is (which
  852. names it is known by).  Thus, even if this is a shared port, the PSN
  853. knows which host is currently connected.
  854.  
  855. WHENEVER A HOST GOES DOWN, ITS NAMES AUTOMATICALLY BECOME NON-
  856. EFFECTIVE.  When it comes back up, the default action (from the host's
  857. configuration) is taken.  If the host wishes to be known by a name other
  858. than the default, it will have to issue a NDM.  It will also have to do
  859. this upon receipt of reset NOPS from the PSN.
  860.  
  861. 3.2.2  Translation Policies
  862.  
  863. Several hosts can share the same logical name.  If more than one of
  864. these hosts is up at the same time, any messages sent to that logical
  865. name will be delivered to just one of the hosts sharing that name, and a
  866. RFNM will be returned as usual.  However, the sending host will not
  867. receive any indication of which host received the message, and
  868. subsequent messages to that name are not guaranteed to be sent to the
  869. same host.  Typically, hosts providing exactly the same service could
  870. share the same logical name in this manner.
  871.  
  872. Similarly, when a host is multi-homed, the same logical name may refer
  873. to more than one host port (all connected to the same host).  If the
  874. host is up on only one of those ports, that port will be used for all
  875. messages addressed to the host.  However, if the host were up on more
  876. than one port, the message would be delivered over just one of those
  877. ports, and the subnet would choose which port to use.  This port
  878. selection could change from message to message.  If a host wanted to
  879. insure that certain messages were delivered to it on specific ports,
  880. these messages could use either the port's physical address or a
  881. specific logical name that referred to that port alone.
  882.  
  883. Three different address selection policies are available for the name
  884. mapping process.  When translated, each name uses one of the three
  885. policies (the policy is administratively pre-determined on a per-name
  886. basis).  The three policies are:
  887.  
  888. o  Attempt each translation in the order in which the physical
  889.    addresses are listed in the PSN's translation tables, to find
  890.    the first reachable physical host address.  This list is
  891.    always searched from the top whenever a new virtual circuit
  892.    connection has to be created.  This is the most commonly used
  893.    policy.
  894.  
  895.  
  896.  
  897.  
  898. Khanna & Malis                                                 [Page 16]
  899.  
  900. RFC 1005                                                        May 1987
  901.  
  902.  
  903. o  Selection of the closest physical address, which uses the
  904.    PSN's internal routing tables to find the translation to the
  905.    destination PSN with the least cost path for the particular
  906.    type-of-service whenever a new virtual circuit connection has
  907.    to be created.
  908.  
  909. o  Use load leveling.  This is similar to the first policy, but
  910.    differs in that searching the address list for a valid
  911.    translation starts at the address following where the
  912.    previous translation search ended whenever a new virtual
  913.    circuit connection has to be created. This attempts to
  914.    spread out the load from any one PSN's hosts to the various
  915.    host ports associated with a particular name.  Note that
  916.    this is NOT network-wide load leveling, which would require
  917.    knowledge about flows throughout the network.
  918.  
  919. 3.2.3  Reporting Destination Host Downs
  920.  
  921. As is explained in Report 1822, whenever regular messages are sent by a
  922. host, the PSN opens a virtual circuit connection to each destination
  923. host from the source host.  A new connection is opened for each new
  924. source-address/destination-name (or address, as the case might
  925. be)/handling-type/type-of-service combination.  A connection will stay
  926. open at least as long as there are any outstanding (un-RFNMed) messages
  927. using it and both the source and destination hosts stay up.  Connections
  928. are also closed after a period of inactivity.
  929.  
  930. However, the destination host may go down for some reason during the
  931. lifetime of a connection.  If the host goes down while there are no
  932. outstanding messages to it in the network, then the connection is closed
  933. and no other action is taken until the source host submits the next
  934. message for that destination.  At that time, ONE of the following events
  935. will occur:
  936.  
  937. A1.  If a physical address is being used to specify the
  938.      destination host, then the source host will receive a type
  939.      7, subtype 0 (Destination Host Dead) message from the PSN.
  940.  
  941. A2.  If a logical name is being used to specify the
  942.      destination host, and the name maps to only one authorized
  943.      host port,then a type 7, subtype 0 message will be sent to
  944.      the source host.
  945.  
  946. A3.  If a logical name is being used to specify the destination
  947.      host, and the name maps to more than one authorized host
  948.      port, then the PSN attempts to open a connection to another
  949.      authorized and effective host port for that name.  If no
  950.      such connection can be made, the host will receive a type
  951.  
  952.  
  953.  
  954. Khanna & Malis                                                 [Page 17]
  955.  
  956. RFC 1005                                                        May 1987
  957.  
  958.  
  959.      15 (AHIP Name or Address Error), subtype 5 (no effective
  960.      translations) message (see section 5.2).  Note that a type
  961.      7 message cannot be returned to the source host, since type
  962.      7 messages refer to a particular destination host port, and
  963.      the name maps to more than one destination port.  However,
  964.      in the case of a version 0 or 1 host, a type 7, subtype 0
  965.      message will be returned for each outstanding message.  See
  966.      chapter 6 for further details on version numbers.
  967.  
  968. Things get a bit more complicated if there are any outstanding messages
  969. on the connection when the destination host goes down.  The connection
  970. will be closed, and one of the following will occur:
  971.  
  972. B1.  If a physical address is being used to specify the
  973.      destination host, then the source host will receive a type
  974.      7 message for each outstanding message.
  975.  
  976. B2.  If a logical name is being used to specify the
  977.      destination host, then the source host will receive a type
  978.      9 (Incomplete Transmission), subtype 6 (message lost due to
  979.      logically addressed host going down) message for each
  980.      outstanding  message.  The next time the source host
  981.      submits another message for that same destination name,
  982.      the previous algorithm will be used (either step A2 or
  983.      step A3). However,in the case of a version 0 or 1 host, a
  984.      type 7,subtype 0 message will be returned for each
  985.      outstanding message. See chapter 6 for further details
  986.      on version numbers.
  987.  
  988. 3.3  Establishing Host-PSN Communications
  989.  
  990. When a host comes up on a PSN, or after there has been a break in the
  991. communications between the host and its PSN (see 1822 (3.2)),the orderly
  992. flow of messages between the host and the PSN needs to be properly (re-
  993. )established.  This allows the PSN and host to recover from almost any
  994. failure in the other or in their communications path, including a break
  995. in mid-message.
  996.  
  997. The first messages that a host should send to its PSN are three NOPs.
  998. Three messages are required to ensure that at least one message will be
  999. properly read by the PSN (the first NOP could be concatenated to a
  1000. previous message if communications had been broken in mid-stream, and
  1001. the third provides redundancy for the second).  These NOPs serve to
  1002. synchronize the PSN with the host, to inform the PSN about how much
  1003. padding the host requires between the message leader and its body and to
  1004. specify the host's AHIP-E version number to the PSN (see chapter 6).
  1005.  
  1006. Similarly, the PSN will send three NOPs to the host when it detects that
  1007.  
  1008.  
  1009.  
  1010. Khanna & Malis                                                 [Page 18]
  1011.  
  1012. RFC 1005                                                        May 1987
  1013.  
  1014.  
  1015. the host has come up.  The NOPs will be followed by an Interface Reset
  1016. message.  These NOPs will contain the physical address of the host
  1017. interface.
  1018.  
  1019. Once the PSN and the host have sent each other the above messages,
  1020. regular communications can commence.  See 1822(3.2) for further details
  1021. concerning the ready line, host tardiness, and other issues.
  1022.  
  1023. 3.4  Name Server
  1024.  
  1025. There may be times when a host wants to perform its own translations, or
  1026. might need the full list of physical addresses to which a particular
  1027. name maps.  For example, a connection- based host-to-host protocol may
  1028. require that the same physical host port on a multi-homed host be used
  1029. for all messages using that host-to-host connection, and the host does
  1030. not wish to trust the PSN to always deliver messages using a destination
  1031. name to the same host port.
  1032.  
  1033. In these cases, the host can submit a type 11 (Name Server Request)
  1034. message to the PSN, which requests the PSN to translate the destination
  1035. name and return a list of the addresses to which it maps.  The PSN will
  1036. respond with a type 11 (Name Server Reply) message, which contains the
  1037. selection policy in use for that name, the number of addresses to which
  1038. the name maps, the addresses themselves, and for each address, whether
  1039. it is effective and its routing distance (for the particular type-of-
  1040. service specified in the Name Server Request message) from the PSN.  See
  1041. section 5.2 for a complete description of these messages' contents.
  1042.  
  1043. Using this information, the source host could make an informed decision
  1044. on which of the physical host ports corresponding to a logical name to
  1045. use and then send the messages to that port, rather than to the name.
  1046.  
  1047. The PSN also supports a different type of name service.  A host needs to
  1048. issue a Name Declaration Message to the PSN in order to change its
  1049. effective names, but it may not wish to keep its names in some table or
  1050. file in the host.  In this case, it can ask the PSN to tell it which
  1051. names it is authorized to use.
  1052.  
  1053. In this case, the host submits a type 12 (Port List Request) message to
  1054. the PSN, and the PSN replies with a type 12 (Port List Reply) message.
  1055. It contains, for the host port over which the PSN received the request
  1056. and sent the reply, the number of names that map to the port, the list
  1057. of names, and whether or not each name is effective.  The host can then
  1058. use this information in order to issue the Name Declaration Message.
  1059. Section 5.2 contains a complete description of the reply's contents.
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Khanna & Malis                                                 [Page 19]
  1067.  
  1068. RFC 1005                                                        May 1987
  1069.  
  1070.  
  1071. 4  OTHER CHANGES
  1072.  
  1073. This section describes the enhancements to the AHIP protocol involving
  1074. type-of-service specification, subnet congestion feedback and network
  1075. precedence level feedback.  Note that only version 2 hosts will receive
  1076. the congestion and precedence messages described in this section.
  1077.  
  1078. 4.1  Type-of-Service Specification
  1079.  
  1080. Bits 9 and 10 of the AHIP leader, currently unused, will be used by the
  1081. host to specify desired delay and throughput characteristics to the PSN.
  1082. Bit 11, also currently unused, will be used to specify reliability.  The
  1083. bits have the following meaning:
  1084.  
  1085. Bit 9:    delay bit
  1086.  
  1087.             0 -- normal delay
  1088.             1 -- low delay
  1089.  
  1090. Bit 10:   throughput bit
  1091.  
  1092.             0 -- normal throughput
  1093.             1 -- high throughput
  1094.  
  1095. Bit 11:   reliability bit
  1096.  
  1097.             0 -- normal reliability
  1098.             1 -- high reliability
  1099.  
  1100.  
  1101. The values of these bits are consistent with those of IP, and bits 11,
  1102. 12 and 13 of the IP header can be copied directly into bits 9, 10 and 11
  1103. of the AHIP leader.
  1104.  
  1105. The type-of-service bits should be considered as extensions of the
  1106. "Handling Type" field (bits 33-40 of the AHIP leader -- see 1822 (3.3)).
  1107. Messages from host A to host B using the same destination name and of
  1108. the same handling type and type-of- service will use the same
  1109. connection, while those that differ in either type-of-service,
  1110. destination name or handling type will use separate connections.  In
  1111. other words, for a given source host and destination name pair, a new
  1112. connection will be established whenever a message with a new handling-
  1113. type/type-of- service combination is received.
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Khanna & Malis                                                 [Page 20]
  1123.  
  1124. RFC 1005                                                        May 1987
  1125.  
  1126.  
  1127. 4.2  Subnet Congestion Feedback
  1128.  
  1129. This section describes the new messages that are part of the mechanism
  1130. used by the PSN to communicate subnetwork congestion information to the
  1131. host. Note that a host will be blocked by the PSN when its share of
  1132. buffers in the PSN is used up.  Thus, this information, which is
  1133. communicated on a connection basis, will give the host an opportunity to
  1134. selectively reduce its congesting flows, thus preventing all of its
  1135. flows from getting blocked. Currently, a host has no way of knowing
  1136. which of its flows is experiencing congestion; consequently, it is
  1137. possible that one congesting flow can result in the blocking of all the
  1138. host's flows.
  1139.  
  1140. Three new PSN-to-host messages have been created. These messages are:
  1141.  
  1142.       1.  STOP: Blocking Imminent -- Stop Sending on this
  1143.           Connection (Message type 13)
  1144.  
  1145.       2.  SLOW: Subnet Congestion -- Send at Slow Rate on this
  1146.           Connection (Message type 14) -- Maintain Window Size of
  1147.           1, i.e., do not send a new message to this destination
  1148.           host with this type-of-service and handling type until
  1149.           all previous messages have been acknowledged by RFNMs.
  1150.  
  1151.       3.  GO: Congestion Subsided -- Send at Regular Rate on this
  1152.           Connection (Message type 16) -- Maintain Window Size of
  1153.           8
  1154.  
  1155.  
  1156. These messages may be sent in any order and correspond to states, not
  1157. transitions.  A participating host should support three states with
  1158. effective windows of 8, 1 and 0.  The format of these messages can be
  1159. found in section 5.2.
  1160.  
  1161.  
  1162. 4.3  Precedence Level Information
  1163.  
  1164. Two new messages have been created:
  1165.  
  1166.      1.  Network Not Accepting Messages at this Precedence Level
  1167.          (Message type 9, subtype 7).
  1168.  
  1169.      2.  Network Precedence Level Cutoff Change (Message type
  1170.          17).
  1171.  
  1172. The first message will be generated whenever the host attempts to send a
  1173. message at a precedence level lower than the cutoff.  The cutoff
  1174. represents a precedence level below which no traffic may be submitted
  1175.  
  1176.  
  1177.  
  1178. Khanna & Malis                                                 [Page 21]
  1179.  
  1180. RFC 1005                                                        May 1987
  1181.  
  1182.  
  1183. into the subnetwork; note that a cutoff set to the lowest possible
  1184. precedence level implies that no precedence restrictions are in effect.
  1185. If the host has chosen not to receive the new AHIP-E messages, then the
  1186. PSN will send a type 7, sub-type 3 message (communication with the
  1187. destination host is administratively prohibited) instead.  The second
  1188. message will be generated whenever the network precedence level cutoff
  1189. changes.  Both messages contain the network precedence cutoff value.
  1190. The format of these messages can be found in section 5.2.
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Khanna & Malis                                                 [Page 22]
  1235.  
  1236. RFC 1005                                                        May 1987
  1237.  
  1238.  
  1239. 5  FORMATS FOR NEW AHIP-E MESSAGES
  1240.  
  1241. The following sections describe the formats of the leaders that precede
  1242. messages between an AHIP-E host and its PSN.  The formats are almost
  1243. identical to those of AHIP (see 1822(3.3) and 1822(3.4)). New message
  1244. types are marked by margin bars (as shown | here).
  1245.  
  1246. 5.1  Host-to-PSN AHIP-E Leader Format
  1247.  
  1248.  1      4 5      8         13  16 17    20 21 22 24 25            32
  1249. +---------+--------+-+-+-+-+------+--------+-+------+----------------+
  1250. |         | FORMAT |D|T|R|U|      |        |T|LEADER|                |
  1251. | UNUSED  |  FLAG  |E|H|E|N| VERS | UNUSED |R|FLAGS |  MESSAGE TYPE  |
  1252. |         |  (15)  |L|R|L|U|      |        |C|      |                |
  1253. +---------+--------+-+-+-+-+------+--------+-+------+----------------+
  1254.  
  1255.  33                  40 41                                          64
  1256. +----------------------+----------------------------------------------+
  1257. |                      |                                              |
  1258. |    HANDLING TYPE     |                DESTINATION HOST              |
  1259. |                      |                                              |
  1260. +----------------------+----------------------------------------------+
  1261.  
  1262.  65                     76 77    80 81                              96
  1263. +-------------------------+--------+----------------------------------+
  1264. |                         |        |                                  |
  1265. |       MESSAGE ID        |SUB-TYPE|            UNUSED                |
  1266. |                         |        |                                  |
  1267. +-------------------------+--------+----------------------------------+
  1268.  
  1269.                     Host-to-PSN AHIP-E Leader Format
  1270.                                Figure 5.1
  1271.  
  1272.  
  1273. Bits 1-4: Unused, must be set to zero.
  1274.  
  1275. Bits 5-8: Format Flag
  1276.      This field is set to decimal 15 (1111 in binary).
  1277.  
  1278. Bits 9-11: Type-of-Service
  1279.  
  1280.      Bit 9: Delay Bit:
  1281.                0 -- normal delay
  1282.                1 -- low delay
  1283.      Bit 10: Throughput Bit:
  1284.                0 -- normal throughput
  1285.                1 -- high throughput
  1286.      Bit 11: Reliability Bit:
  1287.  
  1288.  
  1289.  
  1290. Khanna & Malis                                                 [Page 23]
  1291.  
  1292. RFC 1005                                                        May 1987
  1293.  
  1294.  
  1295.                0 -- normal reliability
  1296.                1 -- high reliability
  1297.  
  1298. Bit 12: Unused, must be set to zero.
  1299.  
  1300.  
  1301. Bits 13-16: AHIP-E Version number
  1302.      Ignored by the PSN except in the case of a NOP -- see
  1303.      chapter 6.
  1304.  
  1305. Bits 17-20: Unused, must be set to zero.
  1306.  
  1307. Bit 21: Trace Bit:
  1308.      If equal to one, this message is designated for tracing as
  1309.      it proceeds through the network.  See 1822(5.5).
  1310.  
  1311. Bits 22-24: Leader Flags:
  1312.  
  1313.      Bit 22: A flag available for use by the destination host.
  1314.           See AHIP(3.3) for a description of its use by the
  1315.           PSN's TTY Fake Host.
  1316.      Bits 23-24: Reserved for future use, must be zero.
  1317.  
  1318. Bits 25-32: Message Type:
  1319.  
  1320.      Type 0: Regular Message - All host-to-host communication
  1321.           occurs via regular messages, which have several sub-
  1322.           types, found in bits 77-80.  These sub-types are:
  1323.           0: Standard - The PSN uses its full message and error
  1324.              control facilities, and host blocking may occur.
  1325.           3: Uncontrolled Packet - The PSN will perform no
  1326.              message-control functions for this type of
  1327.              message, and network flow and congestion control
  1328.              may cause loss of the packet.  Also see
  1329.              1822(3.6). 1-2,4-15: Unassigned.
  1330.  
  1331.      Type 1: Error Without Message ID - See 1822(3.3).
  1332.  
  1333.      Type 2: Host Going Down - see 1822(3.3).
  1334.  
  1335.      Type 3: Name Declaration Message (NDM) - This message is         |
  1336.              used by the host to declare which of its logical names   |
  1337.              is or is not effective (see section 3.2.1), or to make   |
  1338.              all of its names non-effective.  The first 16 bits of    |
  1339.              the data portion of the NDM message, following the       |
  1340.              leader and any leader padding, contains the number of    |
  1341.              logical names contained in the message.  This is         |
  1342.              followed by the logical name entries, each 32 bits       |
  1343.  
  1344.  
  1345.  
  1346. Khanna & Malis                                                 [Page 24]
  1347.  
  1348. RFC 1005                                                        May 1987
  1349.  
  1350.  
  1351.              long, of which the first 16 bits is a logical name and   |
  1352.              the second 16 bits contains either of the integers       |
  1353.              zero or one.  Zero indicates that the name should not    |
  1354.              be effective, and one indicates that the name should be  |
  1355.              effective.  Note that only the names explicitly in the   |
  1356.              NDM will remain enabled after the NDM is processed       |
  1357.              (assuming that they are authorized).  The PSN will       |
  1358.              reply with a NDM Reply message (see section 5.2)         |
  1359.              indicating which of the names are now effective and      |
  1360.              which are not.  Pictorially, a NDM message has the       |
  1361.              following format including the leader, which is printed  |
  1362.              in hexadecimal, and without any leader padding):         |
  1363.  
  1364.  
  1365.                  1             16 17            32 33            48
  1366.                 +----------------+----------------+----------------+
  1367.                 |                |                |                |
  1368.                 |      0F00      |      0003      |      0000      |
  1369.                 |                |                |                |
  1370.                 +----------------+----------------+----------------+
  1371.                  49            64 65            80 81            96
  1372.                 +----------------+----------------+----------------+
  1373.                 |                |                |                |
  1374.                 |      0000      |      0000      |      0000      |
  1375.                 |                |                |                |
  1376.                 +----------------+----------------+----------------+
  1377.                  97           112 113          128 129          144
  1378.                 +----------------+----------------+----------------+
  1379.                 |                |                |                |
  1380.                 |  # of entries  |     name #1    |     0 or 1     |
  1381.                 |                |                |                |
  1382.                 +----------------+----------------+----------------+
  1383.                 145           160 161          176
  1384.                 +----------------+----------------+
  1385.                 |                |                |
  1386.                 |   name #2      |     0 or 1     |       etc.
  1387.                 |                |                |
  1388.                 +----------------+----------------+
  1389.  
  1390.  
  1391.                            NDM Message Format
  1392.                                Figure 5.2
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Khanna & Malis                                                 [Page 25]
  1403.  
  1404. RFC 1005                                                        May 1987
  1405.  
  1406.  
  1407.                An NDM with zero entries will cause all current
  1408.                effective names for the host to become non-effective.
  1409.  
  1410.           Type 4: NOP -- see 1822(3.3).  Bits 13-16 of the NOP leader   |
  1411.                are used to determine the host's AHIP-E version -- see   |
  1412.                chapter 6.                                               |
  1413.  
  1414.           Type 8: Error with Message ID - see 1822(3.3).
  1415.  
  1416.           Type 11: Name Server Request - This allows the host to use    |
  1417.                the PSN's logical addressing tables as a name server.    |
  1418.                The destination name in the AHIP-E leader is             |
  1419.                translated, and the PSN replies with a Name Server       |
  1420.                Reply message, which lists the physical host addresses   |
  1421.                to which the destination name maps.  The type-of-        |
  1422.                service bits (bits 9-11) should be set correctly by      |
  1423.                the host, as the Name Server Reply message contains      |
  1424.                information about characteristics of the subnetwork      |
  1425.                route(s) to that destination, which will depend on the   |
  1426.                type-of-service.                                         |
  1427.  
  1428.           Type 12: Port List Request - This allows the physical host    |
  1429.                to request the list of names that map to the host port   |
  1430.                over which this request was received by the PSN.  The    |
  1431.                PSN replies with a Port List Reply message, which        |
  1432.                lists the names that map to the port.                    |
  1433.  
  1434.           Types 5-7,9-10,13-255: Unassigned.
  1435.  
  1436.      Bits 33-40: Handling Type:
  1437.           The top two bits (33 and 34) specify the precedence of the
  1438.           connection.  There are 4 precedence levels, level 3 being
  1439.           the highest and level 0 the lowest.  Bits 35-40 are used to
  1440.           specify up to 64 separate connections at a particular
  1441.           precedence level and type-of-service.
  1442.  
  1443.      Bits 41-64: Destination Host:
  1444.           This field contains the name or address of the destination
  1445.           host, as described in figures 3.3 and 3.2 respectively.  If
  1446.           it contains a name, the name will be checked for
  1447.           effectiveness, with an error message returned to the source
  1448.           host if the name is not effective.
  1449.  
  1450.      Bits 65-76: Message ID:
  1451.           This is a host-specified identification used in all type 0
  1452.           and type 8 messages, and is also used in type 2 messages.
  1453.           When used in type 0 messages, bits 65-72 are also known as
  1454.           the Link Field, and should contain values specified in
  1455.  
  1456.  
  1457.  
  1458. Khanna & Malis                                                 [Page 26]
  1459.  
  1460. RFC 1005                                                        May 1987
  1461.  
  1462.  
  1463.           Assigned Numbers [3] appropriate for the host-to-host
  1464.           protocol being used.
  1465.  
  1466.      Bits 77-80: Sub-type:
  1467.           This field is used as a modifier by message types 0, 2, 4,
  1468.           and 8.
  1469.  
  1470.      Bits 81-96: Unused
  1471.  
  1472.  
  1473. 5.2  PSN-to-Host AHIP-E Leader Format
  1474.  
  1475.  
  1476.  1      4 5      8       12    16 17    20 21 22 24 25            32
  1477. +--------+--------+-+-+-+--------+--------+-+------+----------------+
  1478. |        | FORMAT |D|T|R|        |        |T|LEADER|                |
  1479. | UNUSED |  FLAG  |E|H|E| UNUSED | UNUSED |R|FLAGS |  MESSAGE TYPE  |
  1480. |        |  (15)  |L|R|L|        |        |C|      |                |
  1481. +--------+--------+-+-+-+--------+--------+-+------+----------------+
  1482.  
  1483.  33                  40 41                                          64
  1484. +----------------------+----------------------------------------------+
  1485. |                      |                                              |
  1486. |    HANDLING TYPE     |                SOURCE HOST                   |
  1487. |                      |                                              |
  1488. +----------------------+----------------------------------------------+
  1489.  
  1490.  65                     76 77    80 81                              96
  1491. +-------------------------+--------+----------------------------------+
  1492. |                         |        |                                  |
  1493. |       MESSAGE ID        |SUB-TYPE|        MESSAGE LENGTH            |
  1494. |                         |        |                                  |
  1495. +-------------------------+--------+----------------------------------+
  1496.  
  1497.                     PSN-to-Host AHIP-E Leader Format
  1498.                                Figure 5.3
  1499.  
  1500. Bits 1-4: Unused and set to zero.
  1501.  
  1502. Bits 5-8: Format Flag
  1503.      This field is set to decimal 15 (1111 in binary).
  1504.  
  1505. Bits 9-11: Type-of-Service
  1506.      Specified by the source host (see section 5.1).
  1507.  
  1508. Bits 12-20: Unused, must be set to zero.
  1509.  
  1510. Bit 21: Trace Bit:
  1511.  
  1512.  
  1513.  
  1514. Khanna & Malis                                                 [Page 27]
  1515.  
  1516. RFC 1005                                                        May 1987
  1517.  
  1518.  
  1519.      If equal to one, the source host has designated this
  1520.      message for tracing as it proceeds through the network.
  1521.      See 1822(5.5).
  1522.  
  1523. Bits 22-24: Leader Flags:
  1524.  
  1525.      Bit 22: Available as a destination host flag.
  1526.      Bits 23-24: Reserved for future use, set to zero.
  1527.  
  1528. Bits 25-32: Message Type:
  1529.  
  1530.      Type 0: Regular Message - All host-to-host communication
  1531.           occurs via regular messages, which have several sub-
  1532.           types.  The sub-type field (bits 77-80) is the same as
  1533.           that sent in the host-to-PSN leader (see section 5.1).
  1534.  
  1535.      Type 1: Error in Leader - See 1822(3.4).
  1536.  
  1537.      Type 2: PSN Going Down - See 1822(3.4).
  1538.  
  1539.      Type 3: NDM Reply - This is a reply to the NDM host-to-PSN    |
  1540.           message (see section 5.1).  It has the same number of    |
  1541.           entries as the NDM message to which it replies, and      |
  1542.           each listed name is accompanied by a zero or a one       |
  1543.           (see figure 5.2).  A zero signifies that the name is     |
  1544.           not effective, and a one means that the name is now      |
  1545.           effective.                                               |
  1546.  
  1547.      Type 4: NOP - The host should discard this message.  It is
  1548.           used during initialization of the PSN/host
  1549.           communication.  The Destination Host field will
  1550.           contain the physical address of the host port over
  1551.           which the NOP is being sent.  All other fields are
  1552.           unused.
  1553.  
  1554.      Type 5: Ready for Next Message (RFNM) - See 1822(3.4).
  1555.  
  1556.      Type 6: Dead Host Status - See 1822(3.4).
  1557.  
  1558.      Type 7: Destination Host or PSN Dead (or unknown) - See
  1559.           1822(3.4).
  1560.  
  1561.      Type 8: Error in Data - See 1822(3.4).
  1562.  
  1563.      Type 9: Incomplete Transmission - See 1822(3.4).  In
  1564.           addition to its already defined sub-types, this
  1565.           message has two new sub-types:
  1566.           6: Logically Addressed Host Went Down - A logically      |
  1567.  
  1568.  
  1569.  
  1570. Khanna & Malis                                                 [Page 28]
  1571.  
  1572. RFC 1005                                                        May 1987
  1573.  
  1574.  
  1575.                addressed message was lost in the network because   |
  1576.                the destination host to which it was being          |
  1577.                delivered went down.  The message should be         |
  1578.                resubmitted by the source host, since there may     |
  1579.                be another effective host port to which the         |
  1580.                message could be delivered (see section 2.2.3).     |
  1581.           7: Network Not Accepting Messages at this Precedence     |
  1582.                Level - bits 33 and 34 encode the minimum           |
  1583.                precedence level currently being accepted by the    |
  1584.                network.  See section 4.3.
  1585.  
  1586.      Type 10: Interface Reset - See 1822(3.4).
  1587.  
  1588.      Type 11: Name Server Reply - This reply to the Name Server    |
  1589.           Request host-to-PSN message contains, following the      |
  1590.           leader and any leader padding, a word with the           |
  1591.           selection policy and the number of physical addresses    |
  1592.           to which the destination name maps, followed by five     |
  1593.           octets per physical address: the first three octets      |
  1594.           contain an AHIP-E address, and the last two contain a    |
  1595.           bit signifying whether or not that particular            |
  1596.           translation is effective and the routing distance        |
  1597.           (expected network transmission delay, in 6.4 ms units)   |
  1598.           to the address's PSN for the type-of-service specified   |
  1599.           in the Name Server Request being replied to.  This       |
  1600.           type-of-service will be included in the Name Server      |
  1601.           Reply leader.  In figure 5.4, which includes the         |
  1602.           leader without any leader padding and has type-of        |
  1603.            -service set  to 000, EFF is 1 for effective and 0      |
  1604.           for non-effective, the destination name is in the format |
  1605.           of figure 3.3, and POL is a two-bit number indicating    |
  1606.           the selection policy for the name (see section 3.2.2):   |
  1607.  
  1608.           0: First reachable.
  1609.           1: Closest physical address.                             |
  1610.           2: Load leveling.                                        |
  1611.           3: Unused.
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Khanna & Malis                                                 [Page 29]
  1627.  
  1628. RFC 1005                                                        May 1987
  1629.  
  1630.  
  1631.                  1             16 17            32 33     40
  1632.                 +----------------+----------------+--------+
  1633.                 |                |                |        |
  1634.                 |      0F00      |      000B      |   00   |
  1635.                 |                |                |        |
  1636.                 +----------------+----------------+--------+
  1637.  
  1638.                  41                    64 65            80
  1639.                 +------------------------+-----------------+
  1640.                 |                        |                 |
  1641.                 |  Destination name      |      0000       |
  1642.                 |                        |                 |
  1643.                 +------------------------+-----------------+
  1644.                      81            96 97            112
  1645.                     +----------------+-+--------------+
  1646.                     |                |P|              |
  1647.                     |      0000      |O|  # of addrs  |
  1648.                     |                |L|              |
  1649.                     +----------------+-+--------------+
  1650.  
  1651.                  113                    136 137          152
  1652.                 +--------------------------+-+-------------+
  1653.                 |                          |E|             |
  1654.                 |    AHIP-E addr #1        |F| routing dist|
  1655.                 |                          |F|             |
  1656.                 +--------------------------+-+-------------+
  1657.  
  1658.                  153                    176 177          192
  1659.                 +--------------------------+-+-------------+
  1660.                 |                          |E|             |
  1661.                 |    AHIP-E addr #2        |F| routing dist|   etc.
  1662.                 |                          |F|             |
  1663.                 +--------------------------+-+-------------+
  1664.  
  1665.                         Name Server Reply Format
  1666.                                Figure 5.4
  1667.  
  1668.           Type 12: Port List Reply - This is the reply to the Port      |
  1669.                List Request host-to-PSN message.  It contains the       |
  1670.                number of names that map to this physical host port,     |
  1671.                followed by two words per name: the first word           |
  1672.                contains a logical name that maps to this port, and      |
  1673.                the second contains either a zero or a one,              |
  1674.                signifying whether or not that particular translation    |
  1675.                is effective.  The format is identical to the type 3     |
  1676.                NDM Reply message(see figure 5.2).                       |
  1677.  
  1678.           Type 13: STOP -- Stop Sending on this Connection.  See        |
  1679.  
  1680.  
  1681.  
  1682. Khanna & Malis                                                 [Page 30]
  1683.  
  1684. RFC 1005                                                        May 1987
  1685.  
  1686.  
  1687.                section 4.2.                                             |
  1688.  
  1689.           Type 14: SLOW -- maintain window size of 1 on this            |
  1690.                connection.  See section 4.2.                            |
  1691.  
  1692.           Type 15: Name or Address Error - This message is sent in      |
  1693.                response to a type 0 message from a host that            |
  1694.                contained an erroneous Destination Host field.  Its      |
  1695.                sub-types are:                                           |
  1696.                2: The Destination Host name is not authorized.          |
  1697.                3: The physical host to which this singly-homed          |
  1698.                     Destination Host name translated is authorized      |
  1699.                     and up, but not effective.  If the host was         |
  1700.                     actually down, a type 7 message would be            |
  1701.                     returned, not a type 15.                            |
  1702.                5: The multi-homed Destination Host name is              |
  1703.                   authorized  but has no available effective            |
  1704.                   translations.                                         |
  1705.                6: A logically-addressed uncontrolled packet was sent    |
  1706.                     to a dead or non-effective host port.  However,     |
  1707.                     if it is resubmitted, there may be another          |
  1708.                     effective host port to which the PSN may be able    |
  1709.                     to attempt to send the packet.                      |
  1710.                7: Logical addressing is not in use.                     |
  1711.                     The PSN has no table of mappings from logical       |
  1712.                     addresses to physical host ports.                   |
  1713.                0, 1, 4, 8-15: Unassigned                                |
  1714.  
  1715.           Type 16: GO -- maintain window size of 8 on this              |
  1716.                 connection. See section 4.2.                            |
  1717.  
  1718.           Type 17: Network Precedence Level Cutoff Change -- bits 33    |
  1719.                and 34 encode the minimum precedence level currently     |
  1720.                being accepted by the network.  See section 4.3.
  1721.  
  1722.           Types 18-255: Unassigned.
  1723.  
  1724. Bits 33-40: Handling Type:
  1725.      This has the value assigned by the source host (see
  1726.      1822(3.1)).  This field is only used in message types 0, 5-
  1727.      9, and 13-16.
  1728.  
  1729. Bits 41-64: Source Host:
  1730.      See 1882(3.4).  For type 0 messages this contains the
  1731.      physical address of the source host, in the format detailed
  1732.      in figure 3.2.  For type 4 messages, this contains the
  1733.      physical address of the local host.  For messages of type
  1734.      5-9, 11 and 13-16 which are responses to messages from the
  1735.  
  1736.  
  1737.  
  1738. Khanna & Malis                                                 [Page 31]
  1739.  
  1740. RFC 1005                                                        May 1987
  1741.  
  1742.  
  1743.      local host, this contains the destination name as specified
  1744.      in the message from the local host.
  1745.  
  1746. Bits 65-76: Message ID:
  1747.      For message types 0, 5, 7-9, and 15, this is the value
  1748.      assigned by the source host to identify the message (see
  1749.      section 5.1).  This field is also used by message types 2
  1750.      and 6.
  1751.  
  1752. Bits 77-80: Sub-type:
  1753.      This field is used as a modifier by message types 0-2, 5-7,
  1754.      9, and 15.
  1755.  
  1756. Bits 81-96: Message Length:
  1757.      This field is contained in type 0 messages only, and is the
  1758.      actual length in bits of the message (exclusive of leader,
  1759.      leader padding, and hardware padding) as computed by the
  1760.      PSN.
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Khanna & Malis                                                 [Page 32]
  1795.  
  1796. RFC 1005                                                        May 1987
  1797.  
  1798.  
  1799. 6  AHIP-E VERSIONS
  1800.  
  1801. This specification provides three versions of AHIP-E and allows a host
  1802. to specify its version in bits 13-16 of the leader of the NOP.  The PSN
  1803. will set the version of a host based on the value contained in the most
  1804. recent NOP that it has received from the host.  Thus, a host can change
  1805. the PSN's idea of its version by issuing a NOP containing a different
  1806. version value.  Note that the version field in all other host-to-PSN
  1807. messages will be ignored by the PSN.
  1808.  
  1809. Version 0:
  1810.  
  1811. A host that doesn't change its current AHIP implementation will
  1812. presumably have the version bits in the AHIP leader set to zero.
  1813. Version 0, thus, is nothing but current AHIP.
  1814.  
  1815. A version 0 host will not receive any of the new AHIP-E messages from
  1816. the PSN, nor will the PSN expect any of the new host-to-PSN message
  1817. types from the host.  The type-of-service bits will always be set to
  1818. zero in the PSN-to-host leader.
  1819.  
  1820. Version 1:
  1821.  
  1822. A version 1 host will be able to use logical names to address other
  1823. hosts, will be able to use the 10-bit PSN field, will be able to specify
  1824. desired type-of-service to the PSN, but will not receive any of the new
  1825. AHIP-E messages from the PSN.  The PSN will not expect any of the new
  1826. host-to-PSN message types from the host either.
  1827.  
  1828. To implement version 1, a host need only make the following changes to
  1829. its AHIP implementation:
  1830.  
  1831.      1. Set the version number field to 1 when sending type 4
  1832.         messages (NOPs).
  1833.  
  1834.      2. When sending type 0 messages, copy IP address bits 8-31
  1835.         into bits 41-64 of the AHIP leader.
  1836.  
  1837.      3. When sending type 0 messages, copy IP header bits 11-13
  1838.         to AHIP leader bits 9-11.
  1839.  
  1840. Version 2:
  1841.  
  1842. A version 2 host is one that is fully compliant with the AHIP-E protocol
  1843. as described in this document.  In addition to being able to take
  1844. advantage of the features described under version 1 above, it should be
  1845. able to send and receive all the new AHIP-E messages described in this
  1846. document.
  1847.  
  1848.  
  1849.  
  1850. Khanna & Malis                                                 [Page 33]
  1851.  
  1852. RFC 1005                                                        May 1987
  1853.  
  1854.  
  1855. 7  REFERENCES
  1856.  
  1857.    [1]  "Specifications for the Interconnection of a Host and an
  1858.         PSN", BBN Report 1822, as found in "DDN Protocol Handbook",
  1859.         December 1985, vol. 3, section 3.10.
  1860.  
  1861.    [2]  E. C. Rosen et. al., "ARPANET Routing Algorithm
  1862.         Improvements", Internet Experimenter's Note 183 (also
  1863.         published as BBN Report 4473, Vol. 1), August 1980, pp. 55-
  1864.         107.
  1865.  
  1866.    [3]  J. Reynolds and J. Postel, "Assigned Numbers", Request For
  1867.         Comments 990, November 1986.
  1868.  
  1869.    [4]  J. Postel, ed., "Internet Protocol -- DARPA Internet
  1870.         Program Protocol Specification", Request for Comments 791,
  1871.         September 1981.
  1872.  
  1873.    [5]  J. Postel, "Address Mappings", Request for Comments 796,
  1874.         September 1981, as found in "DDN Protocol Handbook", vol.
  1875.         3, section 3.4.
  1876.  
  1877.    [6]  "Defense Data Network X.25 Host Interface Specification",
  1878.         pp. 497-498, DDN protocol handbook, vol. 1, December 1985.
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Khanna & Malis                                                 [Page 34]
  1907.