Skip to content

Commit d44fcfd

Browse files
committed
Updates for new RFC.
1 parent f3ea01d commit d44fcfd

File tree

1 file changed

+164
-2
lines changed

1 file changed

+164
-2
lines changed

doc/rfc-new.txt

Lines changed: 164 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ Obsoletes: 165, 636, 6529 J. Postel
99

1010
Abstract
1111

12+
| The Internet community is challenged by ever changing protocols of
13+
| increasing complexity. The authors suggest the community might be
14+
| better served by switching to a protocol that is simple and
15+
| unlikely to ever change again. Thus we present what is believed to
16+
| be the last and final edition of the ARPA Network Host/Host
17+
| Protocol.
18+
1219
This document reproduces the Host/Host Protocol developed by the ARPA
1320
Network Working Group during 1969, 1970, and 1971. It describes a
1421
protocol used to manage communication between processes residing on
@@ -304,6 +311,13 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
304311
In addition to the above, several minor editorial changes have been
305312
made.
306313

314+
| This document supersedes RFC 6529 of the same title. Principal
315+
| differences between the documents include:
316+
|
317+
| - clarifies non-control messages also have the header,
318+
| - a brief description of the Initial Connection Protocol,
319+
| - addition of the RAR, RAS, RAP, NXR, and NXS opcodes.
320+
307321
Although there are many individuals associated with the network who
308322
are knowledgeable about protocol issues, individuals with questions
309323
pertaining to Network protocols should initially contact one of the
@@ -622,7 +636,8 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
622636
that byte size, then the outer layer of protocol will not be
623637
implementable on that Host.
624638

625-
The IMP sub-network requires that the first 32 bits of each message
639+
| The original protocol on the IMP sub-network requires that the first
640+
32 bits of each message
626641
(called the leader) contain addressing information, including
627642
destination Host address and link number. The second level protocol
628643
extends the required information at the beginning of each message to
@@ -631,9 +646,15 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
631646
conveniently with 8-bit units of data or have word lengths of 18 or
632647
36 bits; 72 is the least common multiple of these lengths. Thus, the
633648
length chosen for the message header should reduce bit-shifting
634-
problems for many Hosts. In addition to the leader, the message
649+
problems for many Hosts.
650+
| In 1976, the leader was extended to 96 bits, and the host was
651+
| allowed to specify some number of 16-bit padding words between the
652+
| leader and the message data portion.
653+
In addition to the leader, the message
635654
header includes a field giving the byte size used in the message, a
636655
field giving the number of bytes in the message, and "filler" fields.
656+
| Note that the message header applies to both control messages and
657+
| regular messages containing data.
637658
The format of the message header is fully described in Section IV.
638659

639660
Another major concern of the second level protocol is a method for
@@ -804,6 +825,68 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
804825
_queueing_facility._ This is not, however, an absolute requirement
805826
of the protocol.
806827

828+
| _Initial Connection Protocol_
829+
|
830+
| RFC 165 specifies a procol that allows a server to listen to some
831+
| particular well-known socket number, and then establish two
832+
| connections for full-duplex communication between the server and
833+
| user processes. To do this, first a temporary simplex connection
834+
| is opened for the server to transfer a new socket number to the
835+
| user. Then this socket is the basis for opening two new
836+
| connections between the two processes, and the first connection is
837+
| closed.
838+
|
839+
| Below, the well-known socket is called L. The temporary connection
840+
| is initiated by the user from socket U. The new socket number is
841+
| S, and the full-duplex connections are between S and U+3, and S+1
842+
| and U+2.
843+
844+
Server User
845+
846+
S1: listening on socket L. U1: RTS (U, L, _l1_)
847+
848+
S2: Wait for match. U2: Wait for match.
849+
850+
S3: STR (L, U, _s1_)
851+
852+
S4: Wait for allocation. U3: All (_l1_, _m1_, _b1_)
853+
854+
S5: Send data S in_s1_ bit U4: Receive data S in s1 bit bytes.
855+
bytes as allowed by _s1_ bit bytes.
856+
allocation m1_, _b1_).
857+
858+
S6: CLS (L, U) U5: CLS (U, L)
859+
860+
S7: RTS (S, U+3, _l2_) U6: STR (U+3, S, _s2_)
861+
862+
S8: STR (S+1, U+2, _s3_) U7: RTS (U+2, S+1, _l3_)
863+
864+
The labels here imply no ordering except that ordering required by
865+
the Host-Host Protocol. Note that steps S7 and S8 can be reversed as
866+
can U6 and U7. Also, notice that at any time after S2 the server
867+
could initiate steps S7 and S8 in parallel with steps S3 through S6,
868+
and that at any time after U4 the user could initiate steps U6 and U7
869+
in parallel with step U5.
870+
871+
Following the above, exchanges ALL commands would be exchanged and
872+
data transfers could begin.
873+
874+
At this level the parameters of the above ICP family are L, _m1_,
875+
_b1_, _s1_, _s2_, _s3_, _l1_, _l2_, _l3_.
876+
877+
L is a well known socket number and will be specified for each type
878+
of service.
879+
880+
m1 and b1 are allocation quantities for the transfer of a socket
881+
number.
882+
883+
_m1_ is specified to be 1.
884+
_b1_ is specified to be 32.
885+
_s1_, _s2_, and _s3_ are byte sizes. Only _s1_ is to be specified
886+
as _s2_ and _s3_ are to be left to the process involved.
887+
_s1_ is specified to be 32.
888+
889+
_l1_, _l2_, and _l3_ are links and are not specified.
807890

808891
Connection Termination
809892
======================
@@ -1543,6 +1626,36 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
15431626
allocations in response to a GVB command. This command may be sent
15441627
only while the connection is established.
15451628

1629+
| RAR - Reset allocation by receiver
1630+
| ==================================
1631+
|
1632+
| 8 8
1633+
| +------------+
1634+
| | RAR | link |
1635+
| +------------+
1636+
|
1637+
| Sent in reply to RAS to acknowledge allocations have been reset.
1638+
|
1639+
| RAS - Reset allocation by sender
1640+
| ================================
1641+
|
1642+
| 8 8
1643+
| +------------+
1644+
| | RAS | link |
1645+
| +------------+
1646+
|
1647+
| Tells the receiver to clear allocations for the specified link.
1648+
|
1649+
| RAP - Reset allocation please
1650+
| =============================
1651+
|
1652+
| 8 8
1653+
| +------------+
1654+
| | RAP | link |
1655+
| +------------+
1656+
|
1657+
| Sent from receiver to sender to ask it to send an RAS.
1658+
15461659
INR - Interrupt by receiver
15471660
===========================
15481661

@@ -1690,6 +1803,26 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
16901803
field are the message header followed by the first eight bits
16911804
of text (if any) or zeros.
16921805

1806+
| NXR - Non-existent receive link
1807+
| ===============================
1808+
|
1809+
| 8 8
1810+
| +------------+
1811+
| | NXR | link |
1812+
| +------------+
1813+
|
1814+
| Tells sender the link it used is non-existant.
1815+
|
1816+
| NXS - Non-existent send link
1817+
| ============================
1818+
|
1819+
| 8 8
1820+
| +------------+
1821+
| | NXS | link |
1822+
| +------------+
1823+
|
1824+
| Tells receiver the link it used is non-existant.
1825+
16931826
Opcode Assignment
16941827
=================
16951828

@@ -1710,6 +1843,11 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
17101843
ERR = 11
17111844
RST = 12
17121845
RRP = 13
1846+
RAR = 14
1847+
RAS = 15
1848+
RAP = 16
1849+
NXR = 17
1850+
NXS = 18
17131851

17141852

17151853
Control Command Summary
@@ -1803,6 +1941,30 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
18031941
| RRP |
18041942
+-----+
18051943

1944+
8 8
1945+
+------------+
1946+
| RAR | link |
1947+
+------------+
1948+
1949+
8 8
1950+
+------------+
1951+
| RAS | link |
1952+
+------------+
1953+
1954+
8 8
1955+
+------------+
1956+
| RAP | link |
1957+
+------------+
1958+
1959+
8 8
1960+
+------------+
1961+
| NXR | link |
1962+
+------------+
1963+
1964+
8 8
1965+
+------------+
1966+
| NXS | link |
1967+
+------------+
18061968

18071969

18081970

0 commit comments

Comments
 (0)