summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc478.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc478.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc478.txt')
-rw-r--r--doc/rfc/rfc478.txt115
1 files changed, 115 insertions, 0 deletions
diff --git a/doc/rfc/rfc478.txt b/doc/rfc/rfc478.txt
new file mode 100644
index 0000000..a809508
--- /dev/null
+++ b/doc/rfc/rfc478.txt
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+Network Working Group B. Bressler
+Request for Comments: 478 B. Thomas
+NIC: 14947 BBN
+ 26 March 1973
+
+ FTP Server-Server Interaction-II
+
+ At the recent FTP meeting at BBN in Cambridge, one of the topics
+ discussed was that of server-server interaction. In a typical
+ situation a user (A) conversing with two servers (B,C) is interested
+ in retrieving a file from one site (B) and sending it to the other
+ (C).
+
+
+ +------+
+ | USER |
+ | A |
+ /+------+\
+ control control
+ / \
+ +------+ +------+
+ |SERVER| DATA |SERVER|
+ | B |----------->| C |
+ +------+ +------+
+
+ The consensus of the meeting was that mechanisms were necessary to
+ make B and C aware of each other and to allow a data connection to be
+ established without forcing each other to queue RFCs for local
+ sockets before they exist.
+
+ The proposed solution to this problem was a command called PASSIVE
+ (PASV?). The following is our conclusion as to the meaning of the
+ command and how it would be used.
+
+ Third party connections would be established using the SOCK command,
+ which says "Be prepared to use socket S at Host H to establish your
+ data connection", and the PASV command which says "open your data
+ socket for listening, and upon receipt of a transfer command wait for
+ an RFC rather than initiating one."
+
+ A positive acknowledgement to the PASV command indicates that the
+ data socket has been opened for listening. When an RFC for its data
+ socket arrives after it has positively acknowledged a PASV command,
+ the server should respond with a matching RFC to open the data
+ connection (assuming, of course, that the incoming RFC is consistent
+ with the previous SOCK commands, if any).
+
+
+
+
+
+Bressler [Page 1]
+
+RFC 478 FTP Server-Server Interaction-II 26 March 1973
+
+
+ +---------------+
+ | |
+ +----------| USER PROCESS |----------+
+ | | A | |
+ telnet +---------------+ telnet
+ | |
+ | |
+ +-----------+ +-------------+
+ | |--------> --------->| |
+ | SERVER |data sockets data socket| SERVER |
+ | B | Sb Sc | C |
+ | |<-------- <---------| |
+ +-----------+ +-------------+
+
+
+ USER A TO SERVER B USER A TO SERVER C
+ __________________ __________________
+
+ A->B SOCK HOST-C SKT- Sc A->C SOCK HOST-B SKT- Sb
+
+ B->A ACK C->A ACK
+
+ A->B PASV
+
+ B->A ACK
+
+ A->B STOR A->C RTRV
+
+ 1. After the PASV command has been acknowledged, the two data
+ transfer commands can be sent in either order, since the
+ LISTENING action takes place with the PASV command
+
+ 2. The user knows the socket numbers Sc and Sb to be the data
+ sockets as specified by the protocol.
+
+ 3. Note that it is not essential for a SOCK command to be sent to
+ the same Host to whom a PASV will be sent. Sending one to him
+ provides security in that the incoming RFC can be checked.
+
+ RB/nlg
+
+
+
+
+ [This RFC was put into machine readable form for entry]
+ [into the online RFC archives by Helene Morin, Via Genie 12/1999]
+
+
+
+
+
+Bressler [Page 2]
+