@@ -9,6 +9,9 @@ Obsoletes: 165, 6529 J. Postel
9
9
10
10
Abstract
11
11
12
+ | The authors suggest the Internet community should switch to another
13
+ | protocol.
14
+
12
15
This document reproduces the Host/Host Protocol developed by the ARPA
13
16
Network Working Group during 1969, 1970, and 1971. It describes a
14
17
protocol used to manage communication between processes residing on
@@ -622,7 +625,8 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
622
625
that byte size, then the outer layer of protocol will not be
623
626
implementable on that Host.
624
627
625
- The IMP sub-network requires that the first 32 bits of each message
628
+ | The original protocol on the IMP sub-network requires that the first
629
+ 32 bits of each message
626
630
(called the leader) contain addressing information, including
627
631
destination Host address and link number. The second level protocol
628
632
extends the required information at the beginning of each message to
@@ -631,9 +635,15 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
631
635
conveniently with 8-bit units of data or have word lengths of 18 or
632
636
36 bits; 72 is the least common multiple of these lengths. Thus, the
633
637
length chosen for the message header should reduce bit-shifting
634
- problems for many Hosts. In addition to the leader, the message
638
+ problems for many Hosts.
639
+ | In 1976, the leader was extended to 96 bits, and the host was
640
+ | allowed to specify some number of 16-bit padding words between the
641
+ | leader and the message data portion.
642
+ In addition to the leader, the message
635
643
header includes a field giving the byte size used in the message, a
636
644
field giving the number of bytes in the message, and "filler" fields.
645
+ | Note that the message header applies to both control messages and
646
+ | regular messages containing data.
637
647
The format of the message header is fully described in Section IV.
638
648
639
649
Another major concern of the second level protocol is a method for
@@ -804,6 +814,69 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
804
814
_queueing_facility._ This is not, however, an absolute requirement
805
815
of the protocol.
806
816
817
+ | _Initial Connection Protocol_
818
+
819
+ | RFC 165 specifies a procol that allows a server to listen to some
820
+ | particular well-known socket number, and then establish two
821
+ | connections for full-duplex communication between the server and
822
+ | user processes. To do this, first a temporary simplex connection
823
+ | is opened for the server to transfer a new socket number to the
824
+ | user. Then this socket is the basis for opening two new
825
+ | connections between the two processes, and the first connection is
826
+ | closed.
827
+
828
+ | Below, the well-known socket is called L. The temporary connection
829
+ | is initiated by the user from socket U. The new socket number is
830
+ | S, and the full-duplex connections are between S and U+3, and S+1
831
+ | and U+2.
832
+
833
+ Server User
834
+
835
+ S1: listening on socket L. U1: RTS (U, L, _l1_)
836
+
837
+ S2: Wait for match. U2: Wait for match.
838
+
839
+ S3: STR (L, U, _s1_)
840
+
841
+ S4: Wait for allocation. U3: All (_l1_, _m1_, _b1_)
842
+
843
+ S5: Send data S in_s1_ bit U4: Receive data S in s1 bit bytes.
844
+ bytes as allowed by _s1_ bit bytes.
845
+ allocation m1_, _b1_).
846
+
847
+ S6: CLS (L, U) U5: CLS (U, L)
848
+
849
+ S7: RTS (S, U+3, _l2_) U6: STR (U+3, S, _s2_)
850
+
851
+ S8: STR (S+1, U+2, _s3_) U7: RTS (U+2, S+1, _l3_)
852
+
853
+ The labels here imply no ordering except that ordering required by
854
+ the Host-Host Protocol. Note that steps S7 and S8 can be reversed as
855
+ can U6 and U7. Also, notice that at any time after S2 the server
856
+ could initiate steps S7 and S8 in parallel with steps S3 through S6,
857
+ and that at any time after U4 the user could initiate steps U6 and U7
858
+ in parallel with step U5.
859
+
860
+ Following the above, exchanges ALL commands would be exchanged and
861
+ data transfers could begin.
862
+
863
+ At this level the parameters of the above ICP family are L, _m1_,
864
+ _b1_, _s1_, _s2_, _s3_, _l1_, _l2_, _l3_.
865
+
866
+ L is a well known socket number and will be specified for each type
867
+ of service.
868
+
869
+ m1 and b1 are allocation quantities for the transfer of a socket
870
+ number.
871
+
872
+ _m1_ is specified to be 1.
873
+ _b1_ is specified to be 32.
874
+ _s1_, _s2_, and _s3_ are byte sizes. Only _s1_ is to be specified
875
+ as _s2_ and _s3_ are to be left to the process involved.
876
+ _s1_ is specified to be 32.
877
+
878
+ _l1_, _l2_, and _l3_ are links and are not specified.
879
+
807
880
808
881
Connection Termination
809
882
======================
@@ -1710,6 +1783,11 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
1710
1783
ERR = 11
1711
1784
RST = 12
1712
1785
RRP = 13
1786
+ RAR = 14
1787
+ RAS = 15
1788
+ RAP = 16
1789
+ NXR = 17
1790
+ NXS = 18
1713
1791
1714
1792
1715
1793
Control Command Summary
@@ -1803,6 +1881,31 @@ RFC XXXX Host-Host Protocol for the ARPA Network April 2012
1803
1881
| RRP |
1804
1882
+-----+
1805
1883
1884
+ 8
1885
+ +-----+
1886
+ | RAR |
1887
+ +-----+
1888
+
1889
+ 8
1890
+ +-----+
1891
+ | RAS |
1892
+ +-----+
1893
+
1894
+ 8
1895
+ +-----+
1896
+ | RAP |
1897
+ +-----+
1898
+
1899
+ 8
1900
+ +-----+
1901
+ | NXR |
1902
+ +-----+
1903
+
1904
+ 8
1905
+ +-----+
1906
+ | NXS |
1907
+ +-----+
1908
+
1806
1909
1807
1910
1808
1911
0 commit comments