mirror of
https://github.com/PDP-10/its.git
synced 2026-03-25 17:58:40 +00:00
3011 lines
76 KiB
Plaintext
3011 lines
76 KiB
Plaintext
|
||
|
||
|
||
|
||
Request for Comments: 878
|
||
Obsoletes RFCs: 851, 802
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
The ARPANET 1822L Host Access Protocol
|
||
|
||
|
||
|
||
RFC 878
|
||
|
||
|
||
|
||
|
||
|
||
Andrew G. Malis
|
||
ARPANET Mail: malis@bbn-unix
|
||
|
||
|
||
|
||
|
||
|
||
BBN Communications Corp.
|
||
50 Moulton St.
|
||
Cambridge, MA 02238
|
||
|
||
|
||
|
||
|
||
|
||
December 1983
|
||
|
||
|
||
|
||
|
||
|
||
This RFC specifies the ARPANET 1822L Host Access Protocol, which
|
||
is a successor to the existing 1822 Host Access Protocol. 1822L
|
||
allows ARPANET hosts to use logical names as well as 1822's
|
||
physical port locations to address each other.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Table of Contents
|
||
|
||
|
||
|
||
|
||
|
||
1 INTRODUCTION.......................................... 1
|
||
|
||
2 THE ARPANET 1822L HOST ACCESS PROTOCOL................ 3
|
||
2.1 Addresses and Names................................. 5
|
||
2.2 Name Translations................................... 7
|
||
2.2.1 Authorization and Effectiveness................... 7
|
||
2.2.2 Translation Policies............................. 11
|
||
2.2.3 Reporting Destination Host Downs................. 13
|
||
2.2.4 1822L and 1822 Interoperability.................. 15
|
||
2.3 Uncontrolled Packets............................... 16
|
||
2.4 Establishing Host-IMP Communications............... 19
|
||
2.5 Counting RFNMs When Using 1822L.................... 20
|
||
2.6 1822L Name Server.................................. 23
|
||
|
||
3 1822L LEADER FORMATS................................. 25
|
||
3.1 Host-to-IMP 1822L Leader Format.................... 26
|
||
3.2 IMP-to-Host 1822L Leader Format.................... 34
|
||
|
||
4 REFERENCES........................................... 42
|
||
|
||
A 1822L-IP ADDRESS MAPPINGS............................ 43
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- i -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
FIGURES
|
||
|
||
|
||
|
||
|
||
2.1 1822 Address Format.................................. 5
|
||
2.2 1822L Name Format.................................... 6
|
||
2.3 1822L Address Format................................. 6
|
||
3.1 Host-to-IMP 1822L Leader Format..................... 27
|
||
3.2 NDM Message Format.................................. 30
|
||
3.3 IMP-to-Host 1822L Leader Format..................... 35
|
||
3.4 Name Server Reply Format............................ 38
|
||
A.1 1822 Class A Mapping................................ 44
|
||
A.2 1822L Class A Mapping............................... 44
|
||
A.3 1822L Class B Mapping............................... 45
|
||
A.4 1822L Class C Mapping............................... 46
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- ii -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
1 INTRODUCTION
|
||
|
||
|
||
This RFC specifies the ARPANET 1822L Host Access Protocol, which
|
||
|
||
will allow hosts to use logical addressing (i.e., host names that
|
||
|
||
are independent of their physical location on the ARPANET) to
|
||
|
||
communicate with each other. This new host access protocol is
|
||
|
||
known as the ARPANET 1822L (for Logical) Host Access Protocol,
|
||
|
||
and is a successor to the current ARPANET 1822 Host Access
|
||
|
||
Protocol, which is described in sections 3.3 and 3.4 of BBN
|
||
|
||
Report 1822 [1]. Although the 1822L protocol uses different
|
||
|
||
Host-IMP leaders than the 1822 protocol, the IMPs will continue
|
||
|
||
to support the 1822 protocol, and hosts using either protocol can
|
||
|
||
readily communicate with each other (the IMPs will handle the
|
||
|
||
translation automatically).
|
||
|
||
|
||
The RFC's terminology is consistent with that used in Report
|
||
|
||
1822, and any new terms will be defined when they are first used.
|
||
|
||
Familiarity with Report 1822 (section 3 in particular) is
|
||
|
||
assumed. As could be expected, the RFC makes many references to
|
||
|
||
Report 1822. As a result, it uses, as a convenient abbreviation,
|
||
|
||
"see 1822(x)" instead of "please refer to Report 1822, section x,
|
||
|
||
for further details".
|
||
|
||
|
||
This RFC updates, and obsoletes, RFC 851. The changes from that
|
||
|
||
RFC are:
|
||
|
||
|
||
|
||
|
||
- 1 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
o Section 2.2.4 was rewritten for clarity.
|
||
|
||
|
||
o Section 2.5 was expanded to further discuss the effects of
|
||
|
||
using 1822L names on host-to-host virtual circuits.
|
||
|
||
|
||
o In section 3.2, the type 1 IMP-to-host message has two new
|
||
|
||
subtypes, the type 9 message has one new subtype, and the type
|
||
|
||
15, subtype 4 message is no longer defined.
|
||
|
||
|
||
o An appendix describing the mapping between 1822L names and
|
||
|
||
internet (IP) addresses has been added.
|
||
|
||
|
||
All of these changes to RFC 851 are marked by revision bars (as |
|
||
|
||
shown here) in the right margin. |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 2 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
2 THE ARPANET 1822L HOST ACCESS PROTOCOL
|
||
|
||
|
||
The ARPANET 1822L Host Access Protocol allows a host to use
|
||
|
||
logical addressing to communicate with other hosts on the
|
||
|
||
ARPANET. Basically, logical addressing allows hosts to refer to
|
||
|
||
each other using an 1822L name (see section 2.1) which is
|
||
|
||
independent of a host's physical location in the network. IEN
|
||
|
||
183 (also published as BBN Report 4473) [2] gives the use of
|
||
|
||
logical addressing considerable justification. Among the
|
||
|
||
advantages it cites are:
|
||
|
||
|
||
o The ability to refer to each host on the network by a name
|
||
|
||
independent of its location on the network.
|
||
|
||
|
||
o Allowing different hosts to share the same host port on a
|
||
|
||
time-division basis.
|
||
|
||
|
||
o Allowing a host to use multi-homing (where a single host uses
|
||
|
||
more than one port to communicate with the network).
|
||
|
||
|
||
o Allowing several hosts that provide the same service to share
|
||
|
||
the same name.
|
||
|
||
|
||
The main differences between the 1822 and 1822L protocols are the
|
||
|
||
format of the leaders that are used to introduce messages between
|
||
|
||
a host and an IMP, and the specification in those leaders of the
|
||
|
||
source and/or destination host(s). Hosts have the choice of
|
||
|
||
|
||
|
||
- 3 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
using the 1822 or the 1822L protocol. When a host comes up on an
|
||
|
||
IMP, it declares itself to be an 1822 host or an 1822L host by
|
||
|
||
the type of NOP message (see section 3.1) it uses. Once up,
|
||
|
||
hosts can switch from one protocol to the other by issuing an
|
||
|
||
appropriate NOP. Hosts that do not use the 1822L protocol will
|
||
|
||
still be addressable by and can communicate with hosts that do,
|
||
|
||
and vice-versa.
|
||
|
||
|
||
Another difference between the two protocols is that the 1822
|
||
|
||
leaders are symmetric, while the 1822L leaders are not. The term
|
||
|
||
symmetric means that in the 1822 protocol, the exact same leader
|
||
|
||
format is used for messages in both directions between the hosts
|
||
|
||
and IMPs. For example, a leader sent from a host over a cable
|
||
|
||
that was looped back onto itself (via a looping plug or faulty
|
||
|
||
hardware) would arrive back at the host and appear to be a legal
|
||
|
||
message from a real host (the destination host of the original
|
||
|
||
message). In contrast, the 1822L headers are not symmetric, and
|
||
|
||
a host can detect if the connection to its IMP is looped by
|
||
|
||
receiving a message with the wrong leader format. This allows
|
||
|
||
the host to take appropriate action upon detection of the loop.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 4 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
2.1 Addresses and Names
|
||
|
||
|
||
The 1822 protocol defines one form of host specification, and the
|
||
|
||
1822L protocol defines two additional ways to identify network
|
||
|
||
hosts. These three forms are 1822 addresses, 1822L names, and
|
||
|
||
1822L addresses.
|
||
|
||
|
||
1822 addresses are the 24-bit host addresses found in 1822
|
||
|
||
leaders. They have the following format:
|
||
|
||
|
||
1 8 9 24
|
||
+----------------+---------------------------------+
|
||
| | |
|
||
| Host number | IMP number |
|
||
| | |
|
||
+----------------+---------------------------------+
|
||
|
||
|
||
1822 Address Format
|
||
Figure 2.1
|
||
|
||
|
||
|
||
These fields are quite large, and the ARPANET will never use more
|
||
|
||
than a fraction of the available address space. 1822 addresses
|
||
|
||
are used in 1822 leaders only.
|
||
|
||
|
||
1822L names are 16-bit unsigned numbers that serve as a logical
|
||
|
||
identifier for one or more hosts. 1822L names have a much
|
||
|
||
simpler format:
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 5 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
|
||
|
||
1 16
|
||
+--------------------------------+
|
||
| |
|
||
| 1822L name |
|
||
| |
|
||
+--------------------------------+
|
||
|
||
|
||
1822L Name Format
|
||
Figure 2.2
|
||
|
||
|
||
|
||
The 1822L names are just 16-bit unsigned numbers, except that
|
||
|
||
bits 1 and 2 are not both zeros (see below). This allows over
|
||
|
||
49,000 hosts to be specified.
|
||
|
||
|
||
1822 addresses cannot be used in 1822L leaders, but there may be
|
||
|
||
a requirement for an 1822L host to be able to address a specific
|
||
|
||
physical host port or IMP fake host. 1822L addresses are used
|
||
|
||
for this function. 1822L addresses form a subset of the 1822L
|
||
|
||
name space, and have both bits 1 and 2 off.
|
||
|
||
|
||
1 2 3 8 9 16
|
||
+---+---+------------+----------------+
|
||
| | | | |
|
||
| 0 | 0 | host # | IMP number |
|
||
| | | | |
|
||
+---+---+------------+----------------+
|
||
|
||
|
||
1822L Address Format
|
||
Figure 2.3
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 6 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
This format allows 1822L hosts to directly address hosts 0-63 at
|
||
|
||
IMPs 1-255 (IMP 0 does not exist). Note that the highest host
|
||
|
||
numbers are reserved for addressing the IMP's internal fake
|
||
|
||
hosts. At this writing, the IMP has seven fake hosts, so host
|
||
|
||
numbers 57-63 address the IMP fake hosts, while host numbers 0-56
|
||
|
||
address real hosts external to the IMP. As the number of IMP
|
||
|
||
fake hosts changes, this boundary point will also change.
|
||
|
||
|
||
|
||
|
||
2.2 Name Translations
|
||
|
||
|
||
There are a number of factors that determine how an 1822L name is
|
||
|
||
translated by the IMP into a physical address on the network.
|
||
|
||
These factors include which translations are legal; in what order
|
||
|
||
different translations for the same name should be attempted;
|
||
|
||
which legal translations shouldn't be attempted because a
|
||
|
||
particular host port is down; and the interoperability between
|
||
|
||
1822 and 1822L hosts. These issues are discussed in the
|
||
|
||
following sections.
|
||
|
||
|
||
|
||
|
||
2.2.1 Authorization and Effectiveness
|
||
|
||
|
||
Every host on a C/30 IMP, regardless of whether it is using the
|
||
|
||
1822 or 1822L protocol to access the network, can have one or
|
||
|
||
more 1822L names (logical addresses). Hosts using 1822L can then
|
||
|
||
|
||
|
||
- 7 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
use these names to address the hosts in the network independent
|
||
|
||
of their physical locations. Because of the implementation
|
||
|
||
constraints mentioned in the introduction, hosts on non-C/30 IMPs
|
||
|
||
cannot be assigned 1822L names. To circumvent this restriction,
|
||
|
||
however, 1822L hosts can also use 1822L addresses to access all
|
||
|
||
of the other hosts.
|
||
|
||
|
||
At this point, several questions arise: How are these names
|
||
|
||
assigned, how do they become known to the IMPs (so that
|
||
|
||
translations to physical addresses can be made), and how do the
|
||
|
||
IMPs know which host is currently using a shared port? To answer
|
||
|
||
each question in order:
|
||
|
||
|
||
Names are assigned by a central network administrator. When each
|
||
|
||
name is created, it is assigned to a host (or a group of hosts)
|
||
|
||
at one or more specific host ports. The host(s) are allowed to
|
||
|
||
reside at those specific host ports, and nowhere else. If a host
|
||
|
||
moves, it will keep the same name, but the administrator has to
|
||
|
||
update the central database to reflect the new host port.
|
||
|
||
Changes to this database are distributed to the IMPs by the
|
||
|
||
Network Operations Center (NOC). For a while, the host may be
|
||
|
||
allowed to reside at either of (or both) the new and old ports.
|
||
|
||
Once the correspondence between a name and one or more hosts
|
||
|
||
ports where it may be used has been made official by the
|
||
|
||
administrator, that name is said to be authorized. 1822L
|
||
|
||
|
||
|
||
- 8 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
addresses, which actually refer to physical host ports, are
|
||
|
||
always authorized in this sense.
|
||
|
||
|
||
Once a host has been assigned one or more names, it has to let
|
||
|
||
the IMPs know where it is and what name(s) it is using. There
|
||
|
||
are two cases to consider, one for 1822L hosts and another for
|
||
|
||
1822 hosts. The following discussion only pertains to hosts on
|
||
|
||
C/30 IMPs.
|
||
|
||
|
||
When an IMP sees an 1822L host come up on a host port, the IMP
|
||
|
||
has no way of knowing which host has just come up (several hosts
|
||
|
||
may share the same port, or one host may prefer to be known by
|
||
|
||
different names at different times). This requires the host to
|
||
|
||
declare itself to the IMP before it can actually send and receive
|
||
|
||
messages. This function is performed by a new host-to-IMP
|
||
|
||
message, the Name Declaration Message (NDM), which lists the
|
||
|
||
names that the host would like to be known by. The IMP checks
|
||
|
||
its tables to see if each of the names is authorized, and sends
|
||
|
||
an NDM Reply to the host saying which names were actually
|
||
|
||
authorized and can now be used for sending and receiving messages
|
||
|
||
(i.e., which names are effective). A host can also use an NDM
|
||
|
||
message to change its list of effective names (it can add to and
|
||
|
||
delete from the list) at any time. The only constraint on the
|
||
|
||
host is that any names it wishes to use can become effective only
|
||
|
||
if they are authorized.
|
||
|
||
|
||
|
||
- 9 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
In the second case, if a host comes up on a C/30 IMP using the
|
||
|
||
1822 protocol, the IMP automatically makes the first name the IMP
|
||
|
||
finds in its tables for that host become effective when it
|
||
|
||
receives the first 1822 NOP from the host. Thus, even though the
|
||
|
||
host is using the 1822 protocol, it can still receive messages
|
||
|
||
from 1822L hosts via its 1822L name. Of course, it can also
|
||
|
||
receive messages from an 1822L host via its 1822L address as
|
||
|
||
well. (Remember, the distinction between 1822L names and
|
||
|
||
addresses is that the addresses correspond to physical locations
|
||
|
||
on the network, while the names are strictly logical
|
||
|
||
identifiers). The IMPs translate between the different leaders
|
||
|
||
and send the proper leader in each case (see section 2.2.4).
|
||
|
||
|
||
The third question above has by now already been answered. When
|
||
|
||
an 1822L host comes up, it uses the NDM message to tell the IMP
|
||
|
||
which host it is (which names it is known by). Even if this is a
|
||
|
||
shared port, the IMP knows which host is currently connected.
|
||
|
||
|
||
Whenever a host goes down, its names automatically become non-
|
||
|
||
effective. When it comes back up, it has to make them effective
|
||
|
||
again.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 10 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
2.2.2 Translation Policies
|
||
|
||
|
||
Several hosts can share the same 1822L name. If more than one of
|
||
|
||
these hosts is up at the same time, any messages sent to that
|
||
|
||
1822L name will be delivered to just one of the hosts sharing
|
||
|
||
that name, and a RFNM will be returned as usual. However, the
|
||
|
||
sending host will not receive any indication of which host
|
||
|
||
received the message, and subsequent messages to that name are
|
||
|
||
not guaranteed to be sent to the same host. Typically, hosts
|
||
|
||
providing exactly the same service could share the same 1822L
|
||
|
||
name in this manner.
|
||
|
||
|
||
Similarly, when a host is multi-homed, the same 1822L name may
|
||
|
||
refer to more than one host port (all connected to the same
|
||
|
||
host). If the host is up on only one of those ports, that port
|
||
|
||
will be used for all messages addressed to the host. However, if
|
||
|
||
the host were up on more than one port, the message would be
|
||
|
||
delivered over just one of those ports, and the subnet would
|
||
|
||
choose which port to use. This port selection could change from
|
||
|
||
message to message. If a host wanted to insure that certain
|
||
|
||
messages were delivered to it on specific ports, these messages
|
||
|
||
could use either the port's 1822L address or a specific 1822L
|
||
|
||
name that referred to that port alone.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 11 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Three different address selection policies are available for the
|
||
|
||
name mapping process. When translated, each name uses one of the
|
||
|
||
three policies (the policy is pre-determined on a per-name
|
||
|
||
basis). The three policies are:
|
||
|
||
|
||
o Attempt each translation in the order in which the physical
|
||
|
||
addresses are listed in the IMP's translation tables, to find
|
||
|
||
the first reachable physical host address. This list is
|
||
|
||
always searched from the top whenever an uncontrolled packet
|
||
|
||
is to be sent or a new virtual circuit connection has to be
|
||
|
||
created (see section 2.5). This is the most commonly used
|
||
|
||
policy.
|
||
|
||
|
||
o Selection of the closest physical address, which uses the
|
||
|
||
IMP's routing tables to find the translation to the
|
||
|
||
destination IMP with the least delay path whenever an
|
||
|
||
uncontrolled packet is to be sent or a new virtual circuit
|
||
|
||
connection has to be created.
|
||
|
||
|
||
o Use load leveling. This is similar to the second policy, but
|
||
|
||
differs in that searching the address list for a valid
|
||
|
||
translation starts at the address following where the previous
|
||
|
||
translation search ended whenever an uncontrolled packet is to
|
||
|
||
be sent or a new virtual circuit connection has to be created.
|
||
|
||
This attempts to spread out the load from any one IMP's hosts
|
||
|
||
|
||
|
||
|
||
- 12 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
to the various host ports associated with a particular name.
|
||
|
||
Note that this is NOT network-wide load leveling, which would
|
||
|
||
require a distributed algorithm and tables.
|
||
|
||
|
||
|
||
|
||
2.2.3 Reporting Destination Host Downs
|
||
|
||
|
||
As was explained in report 1822, and as will be discussed in
|
||
|
||
greater detail in section 2.5, whenever regular messages are sent
|
||
|
||
by a host, the IMP opens a virtual circuit connection to each
|
||
|
||
destination host from the source host. A connection will stay
|
||
|
||
open at least as long as there are any outstanding (un-RFNMed)
|
||
|
||
messages using it and both the source and destination hosts stay
|
||
|
||
up.
|
||
|
||
|
||
However, the destination host may go down for some reason during
|
||
|
||
the lifetime of a connection. If the host goes down while there
|
||
|
||
are no outstanding messages to it in the network, then the
|
||
|
||
connection is closed and no other action is taken until the
|
||
|
||
source host submits the next message for that destination. At
|
||
|
||
that time, ONE of the following events will occur:
|
||
|
||
A1. If 1822 or an 1822L address is being used to specify the
|
||
|
||
destination host, then the source host will receive a type 7
|
||
|
||
(Destination Host Dead) message from the IMP.
|
||
|
||
A2. If an 1822L name is being used to specify the destination
|
||
|
||
|
||
|
||
|
||
- 13 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
host, and the name maps to only one authorized host port,
|
||
|
||
then a type 7 message will also be sent to the source host.
|
||
|
||
A3. If an 1822L name is being used to specify the destination
|
||
|
||
host, and the name maps to more than one authorized host
|
||
|
||
port, then the IMP attempts to open a connection to another
|
||
|
||
authorized and effective host port for that name. If no
|
||
|
||
such connection can be made, the host will receive a type 15
|
||
|
||
(1822L Name or Address Error), subtype 5 (no effective
|
||
|
||
translations) message (see section 3.2). Note that a type 7
|
||
|
||
message cannot be returned to the source host, since type 7
|
||
|
||
messages refer to a particular destination host port, and
|
||
|
||
the name maps to more than one destination port.
|
||
|
||
|
||
Things get a bit more complicated if there are any outstanding
|
||
|
||
messages on the connection when the destination host goes down.
|
||
|
||
The connection will be closed, and one of the following will
|
||
|
||
occur:
|
||
|
||
B1. If 1822 or an 1822L address is being used to specify the
|
||
|
||
destination host, then the source host will receive a type 7
|
||
|
||
message for each outstanding message.
|
||
|
||
B2. If an 1822L name is being used to specify the destination
|
||
|
||
host, then the source host will receive a type 9 (Incomplete |
|
||
|
||
Transmission), subtype 6 (message lost due to logically |
|
||
|
||
addressed host going down) message for each outstanding |
|
||
|
||
|
||
|
||
|
||
- 14 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
message. The next time the source host submits another
|
||
|
||
message for that same destination name, the previous
|
||
|
||
algorithm will be used (either step A2 or step A3).
|
||
|
||
|
||
The above two algorithms also apply when a host stays up, but
|
||
|
||
declares the destination name for an existing connection to no
|
||
|
||
longer be effective. In this case, however, the type 7 messages
|
||
|
||
above will be replaced by type 15, subtype 3 (name not effective)
|
||
|
||
messages.
|
||
|
||
|
||
Section 2.3 discusses how destination host downs are handled for
|
||
|
||
uncontrolled packets.
|
||
|
||
|
||
|
||
|
||
2.2.4 1822L and 1822 Interoperability
|
||
|
||
|
||
As has been previously stated, 1822 and 1822L hosts can
|
||
|
||
intercommunicate, and the IMPs will automatically handle any
|
||
|
||
necessary leader and address format conversions. However, not
|
||
|
||
every combination of 1822 and 1822L hosts allows full
|
||
|
||
interoperability with regard to the use of 1822L names, since
|
||
|
||
1822 hosts are restricted to using physical addresses.
|
||
|
||
|
||
There are two possible situations where any incompatibility could |
|
||
|
||
arise: |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 15 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
o An 1822 host sending a message to an 1822L host: The 1822 |
|
||
|
||
host specifies the destination host by its 1822 address. The |
|
||
|
||
destination host will receive the message with an 1822L leader |
|
||
|
||
containing the 1822L addresses of the source and destination |
|
||
|
||
hosts. |
|
||
|
||
|
||
o An 1822L host sending a message to an 1822 host: The 1822L |
|
||
|
||
host can use 1822L names or addresses to specify both the |
|
||
|
||
source and destination hosts. The destination host will |
|
||
|
||
receive the message with an 1822 leader containing the 1822 |
|
||
|
||
address of the source host. |
|
||
|
||
|
||
|
||
|
||
2.3 Uncontrolled Packets
|
||
|
||
|
||
Uncontrolled packets (see 1822(3.6)) present a unique problem for
|
||
|
||
the 1822L protocol. Uncontrolled packets use none of the normal
|
||
|
||
ordering and error-control mechanisms in the IMP, and do not use
|
||
|
||
the normal virtual circuit connection facilities. As a result,
|
||
|
||
uncontrolled packets need to carry all of their overhead with
|
||
|
||
them, including source and destination names. If 1822L names are
|
||
|
||
used when sending an uncontrolled packet, additional information
|
||
|
||
is now required by the subnetwork when the packet is transferred
|
||
|
||
to the destination IMP. This means that less host-to-host data
|
||
|
||
can be contained in the packet than is possible between 1822
|
||
|
||
|
||
|
||
|
||
- 16 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
hosts.
|
||
|
||
|
||
Uncontrolled packets that are sent between 1822 hosts may contain
|
||
|
||
not more than 991 bits of data. Uncontrolled packets that are
|
||
|
||
sent to and/or from 1822L hosts are limited to 32 bits less, or
|
||
|
||
not more than 959 bits. Packets that exceed this length will
|
||
|
||
result in an error indication to the host, and the packet will
|
||
|
||
not be sent. This error indication represents an enhancement to
|
||
|
||
the previous level of service provided by the IMP, which would
|
||
|
||
simply discard an overly long uncontrolled packet without
|
||
|
||
notification.
|
||
|
||
|
||
Other enhancements that are provided for uncontrolled packet
|
||
|
||
service are a notification to the host of any errors that are
|
||
|
||
detected by the host's IMP when it receives the packet. A host
|
||
|
||
will be notified if an uncontrolled packet contains an error in
|
||
|
||
the 1822L name specification, such as if the name is not
|
||
|
||
authorized or effective, if the remote host is unreachable (which
|
||
|
||
is indicated by none of its names being effective), if network
|
||
|
||
congestion control throttled the packet before it left the source
|
||
|
||
IMP, or for any other reason the source IMP was not able to send
|
||
|
||
the packet on its way.
|
||
|
||
|
||
In most cases, the host will not be notified if the uncontrolled
|
||
|
||
packet was lost once it was transmitted by the source IMP.
|
||
|
||
|
||
|
||
|
||
- 17 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
However, the IMP will attempt to notify the source host if a
|
||
|
||
logically-addressed uncontrolled packet was mistakenly sent to a
|
||
|
||
host that the source IMP thought was effective, but which turned
|
||
|
||
out to be dead or non-effective at the destination IMP. This
|
||
|
||
non-delivery notice is sent back to the source IMP as an
|
||
|
||
uncontrolled packet from the destination IMP, so the source host
|
||
|
||
is not guaranteed to receive this indication.
|
||
|
||
|
||
If the source IMP successfully receives the non-delivery notice,
|
||
|
||
then the source host will receive a type 15 (1822L Name or
|
||
|
||
Address Error), subtype 6 (down or non-effective port) message.
|
||
|
||
If the packet is resubmitted or another packet is sent to the
|
||
|
||
same destination name, and there are no available effective
|
||
|
||
translations, then the source host will receive a type 15,
|
||
|
||
subtype 5 (no effective translations) message if the destination
|
||
|
||
name has more than one mapping; or will receive either a type 7
|
||
|
||
(Destination Host Dead) or a type 15, subtype 3 (name not
|
||
|
||
effective) message if the destination name has a single
|
||
|
||
translation.
|
||
|
||
|
||
Those enhancements to the uncontrolled packet service that are
|
||
|
||
not specific to logical addressing will be available to hosts
|
||
|
||
using 1822 as well as 1822L. However, uncontrolled packets must
|
||
|
||
be sent using 1822L leaders in order to receive any indication
|
||
|
||
that the packet was lost once it has left the source IMP.
|
||
|
||
|
||
|
||
- 18 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
2.4 Establishing Host-IMP Communications
|
||
|
||
|
||
When a host comes up on an IMP, or after there has been a break
|
||
|
||
in the communications between the host and its IMP (see
|
||
|
||
1822(3.2)), the orderly flow of messages between the host and the
|
||
|
||
IMP needs to be properly (re)established. This allows the IMP
|
||
|
||
and host to recover from most any failure in the other or in
|
||
|
||
their communications path, including a break in mid-message.
|
||
|
||
|
||
The first messages that a host should send to its IMP are three
|
||
|
||
NOP messages. Three messages are required to insure that at
|
||
|
||
least one message will be properly read by the IMP (the first NOP
|
||
|
||
could be concatenated to a previous message if communications had
|
||
|
||
been broken in mid-stream, and the third provides redundancy for
|
||
|
||
the second). These NOPs serve several functions: they
|
||
|
||
synchronize the IMP with the host, they tell the IMP how much
|
||
|
||
padding the host requires between the message leader and its
|
||
|
||
body, and they also tell the IMP whether the host will be using
|
||
|
||
1822 or 1822L leaders.
|
||
|
||
|
||
Similarly, the IMP will send three NOPs to the host when it
|
||
|
||
detects that the host has come up. Actually, the IMP will send
|
||
|
||
six NOPs, alternating three 1822 NOPs with three 1822L NOPs.
|
||
|
||
Thus, the host will see three NOPs no matter which protocol it is
|
||
|
||
using. The NOPs will be followed by two Interface Reset
|
||
|
||
|
||
|
||
|
||
- 19 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
messages, one of each style. If the IMP receives a NOP from the
|
||
|
||
host while the above sequence is occurring, the IMP will only
|
||
|
||
send the remainder of the NOPs and the Interface Reset in the
|
||
|
||
proper style. The 1822 NOPs will contain the 1822 address of the
|
||
|
||
host interface, and the 1822L NOPs will contain the corresponding
|
||
|
||
1822L address.
|
||
|
||
|
||
Once the IMP and the host have sent each other the above
|
||
|
||
messages, regular communications can commence. See 1822(3.2) for
|
||
|
||
further details concerning the ready line, host tardiness, and
|
||
|
||
other issues.
|
||
|
||
|
||
|
||
|
||
2.5 Counting RFNMs When Using 1822L
|
||
|
||
|
||
When a host submits a regular message using an 1822 leader, the
|
||
|
||
IMP checks for an existing simplex virtual circuit connection
|
||
|
||
(see 1822(3.1)) from the source host to the destination host. If
|
||
|
||
such a connection already exists, it is used. Otherwise, a new
|
||
|
||
connection from the source host port to the destination host port
|
||
|
||
is opened. In either case, there may be at most eight messages
|
||
|
||
outstanding on that connection at any one time. If a host
|
||
|
||
submits a ninth message on that connection before it receives a
|
||
|
||
reply for the first message, then the host will be blocked until
|
||
|
||
the reply is sent for the first message.
|
||
|
||
|
||
|
||
|
||
- 20 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Such connections can stay open for some time, but are timed out
|
||
|
||
after three minutes of no activity, or can be closed if there is
|
||
|
||
contention for the connection blocks in either the source or
|
||
|
||
destination IMP. However, a connection will never be closed as
|
||
|
||
long as there are any outstanding messages on it. This allows a
|
||
|
||
source host to count the number of replies it has received for
|
||
|
||
messages to each destination host address in order to avoid being
|
||
|
||
blocked by submitting a ninth outstanding message on any
|
||
|
||
connection.
|
||
|
||
|
||
When a host submits a regular message using an 1822L leader, a
|
||
|
||
similar process occurs, except that in this case, connections are
|
||
|
||
distinguished by the source port/source name/destination name
|
||
|
||
combination. When the message is received from a host, the IMP
|
||
|
||
first looks for an open connection for that same port and source
|
||
|
||
name/destination name pair. If such a connection is found, then
|
||
|
||
it is used, and no further name translation is performed. If,
|
||
|
||
however, no open connection was found, then the destination name
|
||
|
||
is translated, and a connection opened to the physical host port.
|
||
|
||
As long as there are any outstanding messages on the connection
|
||
|
||
it will stay open, and it will have the same restriction that
|
||
|
||
only eight messages may be outstanding at any one time. Thus, a
|
||
|
||
source host can still count replies to avoid being blocked, but
|
||
|
||
they must be counted on a source port and source name/destination
|
||
|
||
|
||
|
||
|
||
- 21 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
name pair basis, instead of just by source port and destination
|
||
|
||
host address as before.
|
||
|
||
|
||
Since connections are based on the source name as well as the
|
||
|
||
destination name, this implies that there may be more than one
|
||
|
||
open connection from physical host port A to physical host port
|
||
|
||
B, which would allow more than 8 outstanding messages
|
||
|
||
simultaneously from the first to the second port. However, for
|
||
|
||
this to occur, either the source or destination names, or both,
|
||
|
||
must differ from one connection to the next. For example, if the
|
||
|
||
names "543" and "677" both translate to physical port 3 on IMP
|
||
|
||
51, then the host on that port could open four connections to
|
||
|
||
itself by sending messages from "543" to "543", from "543" to
|
||
|
||
"677", from "677" to "543", and from "677" to "677".
|
||
|
||
|
||
As has already been stated, the destination names in regular
|
||
|
||
messages are only translated when connections are first opened.
|
||
|
||
Once a connection is open, that connection, and its destination
|
||
|
||
physical host port, will continue to be used until it is closed.
|
||
|
||
If, in the meantime, a "better" destination host port belonging
|
||
|
||
to the same destination name became available, it would not be
|
||
|
||
used until the next time a new connection is opened to that
|
||
|
||
destination name.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 22 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Also, the act of making an 1822L name be non-effective will not |
|
||
|
||
automatically cause any connections using that name to be closed. |
|
||
|
||
However, they will be closed after at most three minutes of |
|
||
|
||
inactivity. A host can, if it wishes, make all of its names at a |
|
||
|
||
port be noneffective and close all of its connections to and from |
|
||
|
||
the port by flapping the host's ready line to that IMP port. |
|
||
|
||
|
||
|
||
|
||
2.6 1822L Name Server
|
||
|
||
|
||
There may be times when a host wants to perform its own
|
||
|
||
translations, or might need the full list of physical addresses
|
||
|
||
to which a particular name maps. For example, a connection-based
|
||
|
||
host-to-host protocol may require that the same physical host
|
||
|
||
port on a multi-homed host be used for all messages using that
|
||
|
||
host-to-host connection, and the host does not wish to trust the
|
||
|
||
IMP to always deliver messages using a destination name to the
|
||
|
||
same host port.
|
||
|
||
|
||
In these cases, the host can submit a type 11 (Name Server
|
||
|
||
Request) message to the IMP, which requests the IMP to translate
|
||
|
||
the destination 1822L name and return a list of the addresses to
|
||
|
||
which it maps. The IMP will respond with a type 11 (Name Server
|
||
|
||
Reply) message, which contains the selection policy in use for
|
||
|
||
that name, the number of addresses to which the name maps, the
|
||
|
||
|
||
|
||
|
||
- 23 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
addresses themselves, and for each address, whether it is
|
||
|
||
effective and its routing distance from the IMP. See section 3.2
|
||
|
||
for a complete description of the message's contents.
|
||
|
||
|
||
Using this information, the source host could make an informed
|
||
|
||
decision on which of the physical host ports corresponding to an
|
||
|
||
1822L name to use and then send the messages to that port, rather
|
||
|
||
than to the name.
|
||
|
||
|
||
The IMP also supports a different type of name service. A host
|
||
|
||
needs to issue a Name Declaration Message to the IMP in order to
|
||
|
||
make its names effective, but it may not wish to keep its names
|
||
|
||
in some table or file in the host. In this case, it can ask the
|
||
|
||
IMP to tell it which names it is authorized to use.
|
||
|
||
|
||
In this case, the host submits a type 12 (Port List Request)
|
||
|
||
message to the IMP, and the IMP replies with a type 12 (Port List
|
||
|
||
Reply) message. It contains, for the host port over which the
|
||
|
||
IMP received the request and sent the reply, the number of names
|
||
|
||
that map to the port, the list of names, and whether or not each
|
||
|
||
name is effective. The host can then use this information in
|
||
|
||
order to issue the Name Declaration Message. Section 3.2
|
||
|
||
contains a complete description of the reply's contents.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 24 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
3 1822L LEADER FORMATS
|
||
|
||
|
||
The following sections describe the formats of the leaders that
|
||
|
||
precede messages between an 1822L host and its IMP. They were
|
||
|
||
designed to be as compatible with the 1822 leaders as possible.
|
||
|
||
The second, fifth, and sixth words are identical in the two
|
||
|
||
leaders, and all of the existing functionality of the 1822
|
||
|
||
leaders has been retained. In the first word, the 1822 New
|
||
|
||
Format Flag is now also used to identify the two types of 1822L
|
||
|
||
leaders, and the Handling Type has been moved to the second byte.
|
||
|
||
The third and fourth words contain the Source and Destination
|
||
|
||
1822L Name, respectively.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 25 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
3.1 Host-to-IMP 1822L Leader Format
|
||
|
||
|
||
|
||
|
||
1 4 5 8 9 16
|
||
+--------+--------+----------------+
|
||
| | 1822L | |
|
||
| Unused | H2I | Handling Type |
|
||
| | Flag | |
|
||
+--------+--------+----------------+
|
||
17 20 21 22 24 25 32
|
||
+--------+-+------+----------------+
|
||
| |T|Leader| |
|
||
| Unused |R|Flags | Message Type |
|
||
| |C| | |
|
||
+--------+-+------+----------------+
|
||
33 48
|
||
+----------------------------------+
|
||
| |
|
||
| Source Host |
|
||
| |
|
||
+----------------------------------+
|
||
49 64
|
||
+----------------------------------+
|
||
| |
|
||
| Destination Host |
|
||
| |
|
||
+----------------------------------+
|
||
65 76 77 80
|
||
+-------------------------+--------+
|
||
| | |
|
||
| Message ID |Sub-type|
|
||
| | |
|
||
+-------------------------+--------+
|
||
81 96
|
||
+----------------------------------+
|
||
| |
|
||
| Unused |
|
||
| |
|
||
+----------------------------------+
|
||
|
||
|
||
Host-to-IMP 1822L Leader Format
|
||
Figure 3.1
|
||
|
||
|
||
|
||
|
||
|
||
- 26 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Bits 1-4: Unused, must be set to zero.
|
||
|
||
|
||
Bits 5-8: 1822L Host-to-IMP Flag:
|
||
|
||
This field is set to decimal 13 (1101 in binary).
|
||
|
||
|
||
Bits 9-16: Handling Type:
|
||
|
||
This field is bit-coded to indicate the transmission
|
||
|
||
characteristics of the connection desired by the host. See
|
||
|
||
1822(3.3).
|
||
|
||
Bit 9: Priority Bit:
|
||
|
||
Messages with this bit on will be treated as priority
|
||
|
||
messages.
|
||
|
||
Bits 10-16: Unused, must be zero.
|
||
|
||
|
||
Bits 17-20: Unused, must be zero.
|
||
|
||
|
||
Bit 21: Trace Bit:
|
||
|
||
If equal to one, this message is designated for tracing as
|
||
|
||
it proceeds through the network. See 1822(5.5).
|
||
|
||
|
||
Bits 22-24: Leader Flags:
|
||
|
||
Bit 22: A flag available for use by the destination host.
|
||
|
||
See 1822(3.3) for a description of its use by the IMP's
|
||
|
||
TTY Fake Host.
|
||
|
||
Bits 23-24: Reserved for future use, must be zero.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 27 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Bits 25-32: Message Type:
|
||
|
||
Type 0: Regular Message - All host-to-host communication
|
||
|
||
occurs via regular messages, which have several sub-
|
||
|
||
types, found in bits 77-80. These sub-types are:
|
||
|
||
0: Standard - The IMP uses its full message and error
|
||
|
||
control facilities, and host blocking may occur.
|
||
|
||
3: Uncontrolled Packet - The IMP will perform no
|
||
|
||
message-control functions for this type of
|
||
|
||
message, and network flow and congestion control
|
||
|
||
may cause loss of the packet. Also see 1822(3.6)
|
||
|
||
and section 2.3.
|
||
|
||
1-2,4-15: Unassigned.
|
||
|
||
Type 1: Error Without Message ID - See 1822(3.3).
|
||
|
||
Type 2: Host Going Down - see 1822(3.3).
|
||
|
||
Type 3: Name Declaration Message (NDM) - This message is
|
||
|
||
used by the host to declare which of its 1822L names is
|
||
|
||
or is not effective (see section 2.2.1), or to make all
|
||
|
||
of its names non-effective. The first 16 bits of the
|
||
|
||
data portion of the NDM message, following the leader
|
||
|
||
and any leader padding, contains the number of 1822L
|
||
|
||
names contained in the message. This is followed by
|
||
|
||
the 1822L name entries, each 32 bits long, of which the
|
||
|
||
first 16 bits is a 1822L name and the second 16 bits
|
||
|
||
contains either of the integers zero or one. Zero
|
||
|
||
|
||
|
||
- 28 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
indicates that the name should not be effective, and
|
||
|
||
one indicates that the name should be effective. The
|
||
|
||
IMP will reply with a NDM Reply message (see section
|
||
|
||
3.2) indicating which of the names are now effective
|
||
|
||
and which are not. Pictorially, a NDM message has the
|
||
|
||
following format (including the leader, which is
|
||
|
||
printed in hexadecimal, and without any leader
|
||
|
||
padding):
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 29 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
|
||
|
||
1 16 17 32 33 48
|
||
+----------------+----------------+----------------+
|
||
| | | |
|
||
| 0D00 | 0003 | 0000 |
|
||
| | | |
|
||
+----------------+----------------+----------------+
|
||
49 64 65 80 81 96
|
||
+----------------+----------------+----------------+
|
||
| | | |
|
||
| 0000 | 0000 | 0000 |
|
||
| | | |
|
||
+----------------+----------------+----------------+
|
||
97 112 113 128 129 144
|
||
+----------------+----------------+----------------+
|
||
| | | |
|
||
| # of entries | 1822L name #1 | 0 or 1 |
|
||
| | | |
|
||
+----------------+----------------+----------------+
|
||
145 160 161 176
|
||
+----------------+----------------+
|
||
| | |
|
||
| 1822L name #2 | 0 or 1 | etc.
|
||
| | |
|
||
+----------------+----------------+
|
||
|
||
|
||
NDM Message Format
|
||
Figure 3.2
|
||
|
||
|
||
|
||
An NDM with zero entries will cause all current
|
||
|
||
effective names for the host to become non-effective.
|
||
|
||
Type 4: NOP - This allows the IMP to know which style of
|
||
|
||
leader the host wishes to use. A 1822L NOP signifies
|
||
|
||
that the host wishes to use 1822L leaders, and an 1822
|
||
|
||
NOP signifies that the host wishes to use 1822 leaders.
|
||
|
||
All of the other remarks concerning the NOP message in
|
||
|
||
|
||
|
||
|
||
- 30 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
1822(3.3) still hold. The host should always issue
|
||
|
||
NOPs in groups of three to insure proper reception by
|
||
|
||
the IMP. Also see section 2.4 for a further discussion
|
||
|
||
on the use of the NOP message.
|
||
|
||
Type 8: Error with Message ID - see 1822(3.3).
|
||
|
||
Type 11: Name Server Request - This allows the host to use
|
||
|
||
the IMP's logical addressing tables as a name server.
|
||
|
||
The destination name in the 1822L leader is translated,
|
||
|
||
and the IMP replies with a Name Server Reply message,
|
||
|
||
which lists the physical host addresses to which the
|
||
|
||
destination name maps.
|
||
|
||
Type 12: Port List Request - This allows the physical host
|
||
|
||
to request the list of names that map to the host port
|
||
|
||
over which this request was received by the IMP. The
|
||
|
||
IMP replies with a Port List Reply message, which lists
|
||
|
||
the names that map to the port.
|
||
|
||
Types 5-7,9-10,13-255: Unassigned.
|
||
|
||
|
||
Bits 33-48: Source Host:
|
||
|
||
This field contains one of the source host's 1822L names
|
||
|
||
(or, alternatively, the 1822L address of the host port the
|
||
|
||
message is being sent over). This field is not
|
||
|
||
automatically filled in by the IMP, as in the 1822 protocol,
|
||
|
||
because the host may be known by several names and may wish
|
||
|
||
|
||
|
||
|
||
- 31 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
to use a particular name as the source of this message. All
|
||
|
||
messages from the same host need not use the same name in
|
||
|
||
this field. Each source name, when used, is checked for
|
||
|
||
authorization, effectiveness, and actually belonging to this
|
||
|
||
host. Messages using names that do not satisfy all of these
|
||
|
||
requirements will not be delivered, and will instead result
|
||
|
||
in an error message being sent back into the source host.
|
||
|
||
If the host places its 1822L address in this field, the
|
||
|
||
address is checked to insure that it actually represents the
|
||
|
||
host port where the message originated.
|
||
|
||
|
||
Bits 49-64: Destination Host:
|
||
|
||
This field contains the 1822L name or address of the
|
||
|
||
destination host. If it contains a name, the name will be
|
||
|
||
checked for effectiveness, with an error message returned to
|
||
|
||
the source host if the name is not effective.
|
||
|
||
|
||
Bits 65-76: Message ID:
|
||
|
||
This is a host-specified identification used in all type 0
|
||
|
||
and type 8 messages, and is also used in type 2 messages.
|
||
|
||
When used in type 0 messages, bits 65-72 are also known as
|
||
|
||
the Link Field, and should contain values specified in
|
||
|
||
Assigned Numbers [3] appropriate for the host-to-host
|
||
|
||
protocol being used.
|
||
|
||
|
||
|
||
|
||
|
||
- 32 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Bits 77-80: Sub-type:
|
||
|
||
This field is used as a modifier by message types 0, 2, 4,
|
||
|
||
and 8.
|
||
|
||
|
||
Bits 81-96: Unused, must be zero.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 33 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
3.2 IMP-to-Host 1822L Leader Format
|
||
|
||
|
||
|
||
|
||
1 4 5 8 9 16
|
||
+--------+--------+----------------+
|
||
| | 1822L | |
|
||
| Unused | I2H | Handling Type |
|
||
| | Flag | |
|
||
+--------+--------+----------------+
|
||
17 20 21 22 24 25 32
|
||
+--------+-+------+----------------+
|
||
| |T|Leader| |
|
||
| Unused |R|Flags | Message Type |
|
||
| |C| | |
|
||
+--------+-+------+----------------+
|
||
33 48
|
||
+----------------------------------+
|
||
| |
|
||
| Source Host |
|
||
| |
|
||
+----------------------------------+
|
||
49 64
|
||
+----------------------------------+
|
||
| |
|
||
| Destination Host |
|
||
| |
|
||
+----------------------------------+
|
||
65 76 77 80
|
||
+-------------------------+--------+
|
||
| | |
|
||
| Message ID |Sub-type|
|
||
| | |
|
||
+-------------------------+--------+
|
||
81 96
|
||
+----------------------------------+
|
||
| |
|
||
| Message Length |
|
||
| |
|
||
+----------------------------------+
|
||
|
||
|
||
IMP-to-Host 1822L Leader Format
|
||
Figure 3.3
|
||
|
||
|
||
|
||
|
||
|
||
- 34 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Bits 1-4: Unused and set to zero.
|
||
|
||
|
||
Bits 5-8: 1822L IMP-to-Host Flag:
|
||
|
||
This field is set to decimal 14 (1110 in binary).
|
||
|
||
|
||
Bits 9-16: Handling Type:
|
||
|
||
This has the value assigned by the source host (see section
|
||
|
||
3.1). This field is only used in message types 0, 5-9, and
|
||
|
||
15.
|
||
|
||
|
||
Bits 17-20: Unused and set to zero.
|
||
|
||
|
||
Bit 21: Trace Bit:
|
||
|
||
If equal to one, the source host designated this message for
|
||
|
||
tracing as it proceeds through the network. See 1822(5.5).
|
||
|
||
|
||
Bits 22-24: Leader Flags:
|
||
|
||
Bit 22: Available as a destination host flag.
|
||
|
||
Bits 23-24: Reserved for future use, set to zero.
|
||
|
||
|
||
Bits 25-32: Message Type:
|
||
|
||
Type 0: Regular Message - All host-to-host communication
|
||
|
||
occurs via regular messages, which have several sub-
|
||
|
||
types. The sub-type field (bits 77-80) is the same as
|
||
|
||
sent in the host-to-IMP leader (see section 3.1).
|
||
|
||
Type 1: Error in Leader - See 1822(3.4). In addition to its |
|
||
|
||
already defined sub-types, this message has two new |
|
||
|
||
|
||
|
||
- 35 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
sub-types: |
|
||
|
||
4: Illegal Leader Style - The host submitted a leader |
|
||
|
||
in which bits 5-8 did not contain the value 13, |
|
||
|
||
14, or 15 decimal. |
|
||
|
||
5: Wrong Leader Style - The host submitted an 1822L |
|
||
|
||
leader when the IMP was expecting an 1822 leader, |
|
||
|
||
or vice-versa. |
|
||
|
||
Type 2: IMP Going Down - See 1822(3.4).
|
||
|
||
Type 3: NDM Reply - This is a reply to the NDM host-to-IMP
|
||
|
||
message (see section 3.1). It will have the same
|
||
|
||
number of entries as the NDM message that is being
|
||
|
||
replying to, and each listed 1822L name will be
|
||
|
||
accompanied by a zero or a one (see figure 3.2). A
|
||
|
||
zero signifies that the name is not effective, and a
|
||
|
||
one means that the name is now effective.
|
||
|
||
Type 4: NOP - The host should discard this message. It is
|
||
|
||
used during initialization of the IMP/host
|
||
|
||
communication. The Destination Host field will contain
|
||
|
||
the 1822L Address of the host port over which the NOP
|
||
|
||
is being sent. All other fields are unused.
|
||
|
||
Type 5: Ready for Next Message (RFNM) - See 1822(3.4).
|
||
|
||
Type 6: Dead Host Status - See 1822(3.4).
|
||
|
||
Type 7: Destination Host or IMP Dead (or unknown) - See
|
||
|
||
1822(3.4).
|
||
|
||
|
||
|
||
- 36 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Type 8: Error in Data - See 1822(3.4).
|
||
|
||
Type 9: Incomplete Transmission - See 1822(3.4). In |
|
||
|
||
addition to its already defined sub-types, this message |
|
||
|
||
has one new sub-type: |
|
||
|
||
6: Logically Addressed Host Went Down - A logically |
|
||
|
||
addressed message was lost in the network because |
|
||
|
||
the destination host to which it was being |
|
||
|
||
delivered went down. The message should be |
|
||
|
||
resubmitted by the source host, since there may be |
|
||
|
||
another effective host port to which the message |
|
||
|
||
could be delivered (see section 2.2.3). |
|
||
|
||
Type 10: Interface Reset - See 1822(3.4).
|
||
|
||
Type 11: Name Server Reply - This reply to the Name Server
|
||
|
||
Request host-to-IMP message contains, following the
|
||
|
||
leader and any leader padding, a word with the
|
||
|
||
selection policy and the number of physical addresses
|
||
|
||
to which the destination name maps, followed by two
|
||
|
||
words per physical address: the first word contains an
|
||
|
||
1822L address, and the second word contains a bit
|
||
|
||
signifying whether or not that particular translation
|
||
|
||
is effective and the routing distance (expected network
|
||
|
||
transmission delay, in 6.4 ms units) to the address's
|
||
|
||
IMP. In figure 3.4, which includes the leader without
|
||
|
||
any leader padding, EFF is 1 for effective and 0 for
|
||
|
||
|
||
|
||
- 37 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
non-effective, and POL is a two-bit number indicating
|
||
|
||
the selection policy for the name (see section 2.2.2):
|
||
|
||
0: First reachable.
|
||
|
||
1: Closest physical address.
|
||
|
||
2: Load leveling.
|
||
|
||
3: Unused.
|
||
|
||
|
||
|
||
1 16 17 32 33 48
|
||
+----------------+----------------+----------------+
|
||
| | | |
|
||
| 0E00 | 000B | 0000 |
|
||
| | | |
|
||
+----------------+----------------+----------------+
|
||
49 64 65 80 81 96
|
||
+----------------+----------------+----------------+
|
||
| | | |
|
||
| dest. name | 0000 | 0000 |
|
||
| | | |
|
||
+----------------+----------------+----------------+
|
||
97 112 113 128 129 144
|
||
+-+--------------+----------------+-+--------------+
|
||
|P| | |E| |
|
||
|O| # of addrs | 1822L addr #1 |F| routing dist |
|
||
|L| | |F| |
|
||
+-+--------------+----------------+-+--------------+
|
||
145 160 161 176
|
||
+----------------+-+--------------+
|
||
| |E| |
|
||
| 1822L addr #2 |F| routing dist | etc.
|
||
| |F| |
|
||
+----------------+-+--------------+
|
||
|
||
|
||
Name Server Reply Format
|
||
Figure 3.4
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 38 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Type 12: Port List Reply - This is the reply to the Port
|
||
|
||
List Request host-to-IMP message. It contains the
|
||
|
||
number of names that map to this physical host port,
|
||
|
||
followed by two words per name: the first word contains
|
||
|
||
an 1822L name that maps to this port, and the second
|
||
|
||
contains either a zero or a one, signifying whether or
|
||
|
||
not that particular translation is effective. The
|
||
|
||
format is identical to the type 3 NDM Reply message
|
||
|
||
(see figure 3.2).
|
||
|
||
Type 15: 1822L Name or Address Error - This message is sent
|
||
|
||
in response to a type 0 message from a host that
|
||
|
||
contained an erroneous Source Host or Destination Host
|
||
|
||
field. Its sub-types are:
|
||
|
||
0: The Source Host 1822L name is not authorized or not
|
||
|
||
effective.
|
||
|
||
1: The Source Host 1822L address does not match the
|
||
|
||
host port used to send the message.
|
||
|
||
2: The Destination Host 1822L name is not authorized.
|
||
|
||
3: The physical host to which this singly-homed
|
||
|
||
Destination Host name translated is authorized and
|
||
|
||
up, but not effective. If the host was actually
|
||
|
||
down, a type 7 message would be returned, not a
|
||
|
||
type 15.
|
||
|
||
5: The multi-homed Destination Host name is authorized,
|
||
|
||
|
||
|
||
- 39 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
but has no available effective translations.
|
||
|
||
6: A logically-addressed uncontrolled packet was sent
|
||
|
||
to a dead or non-effective host port. However, if
|
||
|
||
it is resubmitted, there may be another effective
|
||
|
||
host port to which the IMP may be able to attempt
|
||
|
||
to send the packet.
|
||
|
||
7: Logical addressing is not in use in this network.
|
||
|
||
8-15: Unassigned.
|
||
|
||
Types 4,13-14,16-255: Unassigned.
|
||
|
||
|
||
Bits 33-48: Source Host:
|
||
|
||
For type 0 messages, this field contains the 1822L name or
|
||
|
||
address of the host that originated the message. All
|
||
|
||
replies to the message should be sent to the host specified
|
||
|
||
herein. For message types 5-9 and 15, this field contains
|
||
|
||
the source host field used in a previous type 0 message sent
|
||
|
||
by this host.
|
||
|
||
|
||
Bits 49-64: Destination Host:
|
||
|
||
For type 0 messages, this field contains the 1822L name or
|
||
|
||
address that the message was sent to. This allows the
|
||
|
||
destination host to detect how it was specified by the
|
||
|
||
source host. For message types 5-9 and 15, this field
|
||
|
||
contains the destination host field used in a previous type
|
||
|
||
0 message sent by this host.
|
||
|
||
|
||
|
||
- 40 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
Bits 65-76: Message ID:
|
||
|
||
For message types 0, 5, 7-9, and 15, this is the value
|
||
|
||
assigned by the source host to identify the message (see
|
||
|
||
section 3.1). This field is also used by message types 2
|
||
|
||
and 6.
|
||
|
||
|
||
Bits 77-80: Sub-type:
|
||
|
||
This field is used as a modifier by message types 0-2, 5-7,
|
||
|
||
9, and 15.
|
||
|
||
|
||
Bits 81-96: Message Length:
|
||
|
||
This field is contained in type 0, 3, 11, and 12 messages
|
||
|
||
only, and is the actual length in bits of the message
|
||
|
||
(exclusive of leader, leader padding, and hardware padding)
|
||
|
||
as computed by the IMP.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 41 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
4 REFERENCES
|
||
|
||
|
||
[1] "Specifications for the Interconnection of a Host and an
|
||
|
||
IMP", BBN Report 1822, December 1981 Revision.
|
||
|
||
|
||
[2] E. C. Rosen et. al., "ARPANET Routing Algorithm
|
||
|
||
Improvements", Internet Experimenter's Note 183 (also
|
||
|
||
published as BBN Report 4473, Vol. 1), August 1980, pp. 55-
|
||
|
||
107.
|
||
|
||
|
||
[3] J. Reynolds and J. Postel, "Assigned Numbers", Request For
|
||
|
||
Comments 870, October 1983, p. 14.
|
||
|
||
|
||
[4] J. Postel, ed., "Internet Protocol - DARPA Internet Program
|
||
|
||
Protocol Specification", Request for Comments 791, September
|
||
|
||
1981.
|
||
|
||
|
||
[5] J. Postel, "Address Mappings", Request for Comments 796,
|
||
|
||
September 1981.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 42 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
APPENDIX A
|
||
|
||
|
||
1822L-IP ADDRESS MAPPINGS
|
||
|
||
|
||
|
||
Once logical addressing is in active (or universal) use in a |
|
||
|
||
network, to the extent that the "official" host tables for that |
|
||
|
||
network specify hosts by their logical names rather than by their |
|
||
|
||
physical network addresses, it would be desirable for hosts on |
|
||
|
||
other networks to also be able to use the same logical names to |
|
||
|
||
specify these hosts when sending traffic to them via the internet |
|
||
|
||
[4]. |
|
||
|
||
|
||
Happily, there exists a natural mapping between logical names and |
|
||
|
||
internet addresses that fits very nicely with the already |
|
||
|
||
standard ARPANET-style address mapping as specified in RFC 796, |
|
||
|
||
Address Mappings [5]. The current ARPANET-style class A mapping |
|
||
|
||
is as follows (from RFC 796): |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 43 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
|
||
|
||
+--------+ +--------+--------+
|
||
| HOST | | ZERO | IMP | 1822 Address
|
||
+--------+ +--------+--------+
|
||
8 8 8
|
||
|
||
+--------+--------+--------+--------+
|
||
| net # | HOST | LH | IMP | IP Address
|
||
+--------+--------+--------+--------+
|
||
8 8 8 8
|
||
|
||
|
||
1822 Class A Mapping
|
||
Figure A.1
|
||
|
||
|
||
|
||
For 1822L names and addresses, the mapping would be: |
|
||
|
||
|
||
|
||
+--------+--------+
|
||
| upper | lower | 1822L Name or Address
|
||
+--------+--------+
|
||
8 8
|
||
|
||
+--------+--------+--------+--------+
|
||
| net # | upper | LH | lower | IP Address
|
||
+--------+--------+--------+--------+
|
||
8 8 8 8
|
||
|
||
|
||
1822L Class A Mapping
|
||
Figure A.2
|
||
|
||
|
||
|
||
For 1822L addresses, this mapping is identical to the 1822 |
|
||
|
||
mapping. For 1822L names, the IP address would appear to be |
|
||
|
||
addressing a high-numbered (64-255) 1822 host. Although the LH |
|
||
|
||
(logical host) field is still defined, its use is discouraged; |
|
||
|
||
multiple logical names should now be used to multiplex multiple |
|
||
|
||
|
||
|
||
- 44 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
functions onto one physical host port. |
|
||
|
||
|
||
This mapping extends to class B networks: |
|
||
|
||
|
||
|
||
+--------+--------+
|
||
| upper | lower | 1822L Name or Address
|
||
+--------+--------+
|
||
8 8
|
||
|
||
+----------------+--------+--------+
|
||
| network number | upper | lower | IP Address
|
||
+----------------+--------+--------+
|
||
16 8 8
|
||
|
||
|
||
1822L Class B Mapping
|
||
Figure A.3
|
||
|
||
|
||
|
||
Finally, logical addressing will allow IMP-based class C networks |
|
||
|
||
for the first time. Previously, it was very hard to try to |
|
||
|
||
divide the 8 bits of host specification into some number of host |
|
||
|
||
bits and some number of IMP bits. However, if ALL of the |
|
||
|
||
internet-accessible hosts on the network have logical names, |
|
||
|
||
there is no reason why networks with up to 256 such logical names |
|
||
|
||
cannot now use class C addresses, as follows: |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 45 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
|
||
|
||
+--------+--------+
|
||
|01000000| lower | 1822L Name
|
||
+--------+--------+
|
||
8 8
|
||
|
||
+------------------------+--------+
|
||
| network number | lower | IP Address
|
||
+------------------------+--------+
|
||
24 8
|
||
|
||
|
||
1822L Class C Mapping
|
||
Figure A.4
|
||
|
||
|
||
|
||
Those hosts on the network desiring internet access would be |
|
||
|
||
assigned logical names in the range 40000 to 40377 (octal), and |
|
||
|
||
the gateway(s) connected to that network would make the |
|
||
|
||
translation from IP addresses to 1822L names as specified above. |
|
||
|
||
Note that the network could have many more than 256 hosts, or 256 |
|
||
|
||
defined names; the only restriction is that hosts that desire |
|
||
|
||
internet support or access be addressable by a name in the range |
|
||
|
||
40000 - 40377. Traffic that was strictly local to the network |
|
||
|
||
could use other names or even 1822L addresses. |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 46 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
INDEX
|
||
|
||
|
||
|
||
|
||
|
||
|
||
1822...................................................... 3
|
||
1822 address.............................................. 5
|
||
1822 host................................................. 4
|
||
1822L..................................................... 3
|
||
1822L address............................................. 6
|
||
1822L and 1822 interoperability.......................... 15
|
||
1822L host................................................ 4
|
||
1822L name................................................ 5
|
||
address selection policy................................. 12
|
||
authorized................................................ 8
|
||
blocking................................................. 20
|
||
closest physical address................................. 12
|
||
connection............................................... 20
|
||
destination host..................................... 32, 40
|
||
effective............................................. 9, 23
|
||
first reachable.......................................... 12
|
||
handing type......................................... 27, 35
|
||
host downs............................................... 13
|
||
interoperability......................................... 15
|
||
leader flags......................................... 27, 35
|
||
link field............................................... 32
|
||
load leveling............................................ 12
|
||
logical addressing........................................ 3
|
||
message ID........................................... 32, 41
|
||
message length........................................... 41
|
||
message type......................................... 28, 35
|
||
multi-homing.............................................. 3
|
||
name server...................................... 23, 31, 37
|
||
NDM................................................... 9, 28
|
||
NDM reply............................................. 9, 36
|
||
NOC....................................................... 8
|
||
NOP........................................... 4, 19, 30, 36
|
||
priority bit............................................. 27
|
||
regular message...................................... 28, 35
|
||
RFNM................................................. 20, 36
|
||
source host.......................................... 31, 40
|
||
standard message......................................... 28
|
||
sub-type............................................. 33, 41
|
||
symmetric................................................. 4
|
||
trace bit............................................ 27, 35
|
||
|
||
|
||
|
||
- 47 -
|
||
|
||
|
||
|
||
1822L Host Access Protocol December 1983
|
||
RFC 878
|
||
|
||
|
||
|
||
uncontrolled packet.................................. 16, 28
|
||
virtual circuit connection............................... 20
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
- 48 -
|
||
|
||
|