Csa-Ftp
By: rashmigs.blr • June 18, 2014 • Essay • 1,928 Words (8 Pages) • 1,513 Views
1. Introduction
Data exchange has been an integral part of computing from the birth of computer age. The most popular means of exchanging data is by connecting one computer to another.
FTP can be defined as a "standard network protocol" for transferring files over internet from one to any other host (Wikipedia, 2013). Objectives of FTP is promoting sharing of files/data or programs, protecting users from deviation in ‘file storage system' among various hosts, encouraging implicit or indirect remote computers' use, transferring data efficiently and reliably. (Wikibooks, 2012)
2. FTP Client Server Mechanism
FTP Client: It is software designed for file transfer to and fro between computers over internet. It requires installation on computer and be used with live internet connection
A typical FTP client has two pane. Left pane displays files on computer and right pane displays files on computer that is remotely located. In addition, FTP client features includes scheduling, queuing utility, auto resuming or re-get feature; a synchronize and FTP find feature and Scripting utility for the advanced user.
Mechanism of Client-Server: FTP needs two computers, one having FTP server and the other FTP client. Data exchange is started by client that logs in with an authenticated user id and password. Once data exchange is started, a session is created and it remains open until the server or the client closes or session times out. During open session, many FTP commands are executed by client on server.(Vicomsoft, 2013)
3. FTP Architecture
FTP protocol belongs to ‘Client server model', where orders are sent by one machine (client) and the other machine awaits request to perform actions (server)
While on an FTP session or connection, following are the two open transmission channels:
• Control channel/connection (for commands)
• Data connection/channel (for data)
To manage the above mentioned connections, both server and the client have following two processes (Postel & Reynolds,1985)
• Data Transfer Process (DTP): It is process that creates a connection and manages data channel. DTP used on client side is ‘USER-DTP' and DTP used on server side is ‘SERVER-DTP'
• Protocol Interpreter (PI): It is the process that interprets protocol by controlling the DTP using commands got through control channel. It is not same on server (SERVER-PI) and client (USER-PI).
o ‘USER-PI' sends commands on data port through control channel and ‘SERVER-PI' ‘listens' to it. Then, the ‘SERVER-PI' builds connection and receives FTP commands over control channel from ‘USER-PI', responds to it and runs ‘SERVER-DTP'.
o USER-PI builds FTP server connection, sends commands, receives replies from ‘SERVER-PI' and governs ‘USER-DTP', if required.
When a client and server of FTP are connected, ‘USER-PI' begins connecting to server, as per TELNET protocol. The server receives FTP commands sent by the client, interprets them, runs SERVER-DTP and sends a standard reply or response. When connection is built, SERVER-PI provides port over which Client-DTP will receive data. This ‘Client-DTP', then ‘listens' on the identified port for information passing from server.
Note: Since data and control ports are two different channels, sending commands from a particular machine and receiving data on some other machine is possible. For example, data transfer is possible between two or more FTP servers only by allowing passing via a client in order to pass control commands and also by transmitting data between two or more server processes that are connected on the correct port
In this, during data transfer, protocol imposes control channel to remain open. So, during transmission, sever can discontinue transmitting for broken control channel
?
4. Supported Commands
Following are the FTP commands
Command Code Description
User Name USER Identifies the user with the login name entered
Password PASS Login is successful after entering this user's password
Logout QUIT User connection is closed
System SYST Used to identify OS at server level
No Operation NOOP Used to send Ok response
No Operation XNOP Similar to NOOP
Print Working Directory PWD Responds back with current directory name.
Print Working Directory XPWD Similar to PWD
Change Working Directory CWD The current user's directory is changed
Change Working Directory XCWD Similar to CWD
Change Directory Up CDUP Existing working directory is changed to the parent directory of the same.
Change Directory Up XCUP Similar to CDUP
Make Directory MKD Sub directory is created in the existing working directory.
Make Directory XMKD Similar to MKD
Remove Directory RMD Removes or deletes the directory.
Remove Directory XRMD Similar to RMD
Representation Type TYPE Supports image and ASCII types.
Data Port PORT Mentions the port used during data connection
Passive PASV Asks server to wait for data connection after it ‘listens' on the port.
List LIST Sends a listing of directory to user.
Name List NLST Similar to LIST
Retrieve RETR Used to send file to user.
Store STOR Stores on server the captured file of the user.
Append APPE Appends captured file of user to already available server file.
Delete DELE Deletes or removes from server the mentioned file.
Rename From RNFR Mentions existing file name to rename (should be proceeded by RNTO).
Rename To RNTO New name is assigned to an existing file
Help HELP Supported commands are listed
Size SIZE Specified file size is returned.
Recently-modified Time MDTM Returns recently changed time of mentioned file.
?
5. The FTP Responses
FTP makes use of a reply/command mechanism. FTP client connects to its server on the standard port 213, and initiates a conversation that is synchronized and includes server receiving command from the client and the client receiving response from the server. Every command the client sends, server sends response. These responses are in standard format which is a 3digit code.
• First digit indicates failure or success of command. Response codes starting with 1 or 2 or 3 are considered good and starting with either 4 or 5 are bad or not good. Example, if client sends command "CWD4 /incoming/" to change to the new directory /incoming, then the server might respond back with "200 Success" that indicates command has succeeded or "550 Access Denied" that indicates client do not have proper rights to change to mentioned directory
• Second digit refers to the response (as shown in the proceeding table)
• Third digit provides precise meaning (related to second digit)
Following diagram shows the explanation and meaning of second digit in the response code
?
Following example illustrates conversation between both the client and the server
6. FTP-Features & Functionalities
FTP Port: A port can be defined as a ‘logical connection point' for interacting using Internet Protocol (IP). A port number is available for FTP through which server "listens" to connections. FTP server uses port number 21 used to send commands. This port is called command port (deskshare, 2013). The port used for data transfer is called data port. The data port number varies based on the connection ‘mode'.
Modes of File Transfer
Through FTP, data is transferred using following three modes: (whatismyipaddress, 2013)
• Stream mode: In this, files are transferred in form of stream that is continuous, from one port to another with no information processing or intervention into various formats. For example, in data transfer between computers with same operating systems, FTP need not require file modification.
• Block mode: In this, data is divided into
...