[net.micro] FTP help?

glennw@aluxz.UUCP (08/07/83)

I have seen numerous references on the net referring to FTP. It is associated
with INFO-IBMPC and [COLUMBIA-20].  As near as I can determine it is a cache
of public domain software.  Can anyone give me an explanation of what FTP
is, how it is used, etc.?
   Thanks.
				Glenn Wesley
				aluxz!glennw

BILLW%sri-kl@sri-unix.UUCP (08/08/83)

Well, you see,  on a real network (In this case, the ARPANet/Internet),
you are able to transfer files directly between arbitary hosts on the
internet, using something called the "File Tranfer Protocol" (FTP).
To get a file from, say, the CPM library at Simtel20 to my home system
(SRI-KL), I log in on SRI-KL, run the FTP program and ask it to
connect me to Simtel20.  FTP uses the lower level reliable
transmission protocols for the actual data transfer, but the user
program (along with a server program on the other computer) takes care
of things like accounting, access control, file format conversion (eg
text, 8bit, 36bit, page, etc), etc. FTP uses multiple "connections" so
that data transfers can be interupted, for example.

A representative set of low level commands used in the FTP protocol
is USER, PASSWORD, ACCOUNT, STRUCTURE, MODE, TYPE, RETREIVE, STORE,
ALLOCATE, APPEND, DELETE, ABORT, LIST, CHANGE DIRECTORY, STATUS.

The following picture is taken from RFC765 - The FTP protocol specification.

                                            -------------
                                            |/---------\|
                                            ||   User  ||    --------
                                            ||Interface|<--->| User |
                                            |\----:----/|    --------
                  ----------                |     V     |
                  |/------\|  FTP Commands  |/---------\|
                  ||Server|<---------------->|   User  ||
                  ||  PI  ||   FTP Replies  ||    PI   ||
                  |\--:---/|                |\----:----/|
                  |   V    |                |     V     |
      --------    |/------\|      Data      |/---------\|    --------
      | File |<--->|Server|<---------------->|  User   |<--->| File |
      |System|    || DTP  ||   Connection   ||   DTP   ||    |System|
      --------    |\------/|                |\---------/|    --------
                  ----------                -------------

                  Server-FTP                   User-FTP

      NOTES: 1. The data connection may be used in either direction.
             2. The data connection need not exist all of the time.
	     3. PI = Protocol interpreter
	     4. DTP = Data transfer process

If you think of FTP as a real-time, interactively driven UUCP designed
with transferring files between systems running arbitrary Operating systems
with arbirary file systems, You'll have about the right idea.  Some files
mad available for FTP make it to net.sources, however since FTP data rates
vary from about 8K bps accross the country to people on very-distant-host
adaptors or ecus (eg: rutgers), to 300K bps over local ethernets, it isnt
partical to make everything available for FTPing also available for UUCPing.

Bill Westfield

darrelj@sdcrdcf.UUCP (Darrel VanBuer) (08/10/83)

FTP stands for File Transfer Protocol, a program on APRAnet (and many
local area nets as well), which is designed to reliably transfer files
between hosts on a single internet.  E.g. from any host on ARPA I could do:
FTP
COLUMBIA-20
LOGIN ANONYMOUS GUEST
GET <INFO-PC>FOO.BAR (to local file) FOO.BAR
BYE
QUIT

(diferent operating systems may slightly vary the syntax and capabilities,
but all hosts are expected to support transfer of text files in a standard
way (in spite of such differences as one character per 8-bit byte on PDP 11s
and VAXs; 5 7-bit characters per 36-bit word on PDP-10s and even EBCDIC on
IBM mainframes).  Binary files are also transferable, though between
sufficiently dissimilar machines, the only guarantee is that there should be
a mode which would let you store and later get the file in its original form.
FTP guarantees full transparency for data because TWO logical connections
are used to perform the transfer, one for control (including negotiations
over format), the other for actual data.
	Most ARPAnet hosts support the special login name ANONYMOUS with any
password (convention is password is your name) for retrieval of public files,
for use by FTP only.  Other files may be accessed by providing a legitimate
login.
The following network protocols support some kind of FTP:  NCP (obsolete,
old ARPA protocol), TCP/IP (new DOD/ARPA protocol), PUP (Xerox PARC research
Ethernet), XNS (Xerox 10M bit Ethernet) and Chaosnet (MIT research LAN).
In addition these nets also support services such as virtual-terminal logins
(TELNET protocols) and mail (e.g. SMTP), all multiplexed over a single
physical net.
	Darrel J. Van Buer	UUCP sdcrdcf!darrelj
				ARPA VANBUER@USC-ECL