File Transfer Protocol
File Transfer Protocol
File Transfer Protocol
Vijay P
Objective
It is one of the most widely used application layer protocol. It was designed for reliable and efficient transfer of files between any devices on a TCP/IP network. It operates using the TCP transport service for reliability.
Agenda
In this session we are going to discuss how FTP works in two subsection First, we discuss the key concepts behind the FTP function and discuss the operation in general terms. Second, we will discuss the Commands and Replies.
STANDARD
The standard is defined as the set basic command used in protocol to send a data from one host to another host. In 1971, the first standard used for ftp is RFC 114, 172, 256, In 1972, the first major revision was RFC 354 In 1973, the ftp specification looks remarkably similar to the one we use today. RFC 542 In 1980, the formal standard for modern tcp was published in RFC 765. In 1985, in addition to the RFC 765 several new commands were added and published as base specification for FTP, RFC 959
The FTP describes its overall operation using a conceptual tool called FTP model. This FTP model describes the devices that participate in file transfer by using the two logical communication channel used between the client and the server due to flexibility. Control connection and data connection CC This is the main logical tcp connection, were only control information is passed throught the session such as FTP commands and replies not the files. DC A distinct TCP data connection is established between the client and server were data is transferred over this connection.
The FTP model divides the software into two logical protocol that are responsible for each channel. The Protocol Interpreter (PI) is a piece of software that is a charged with managing control connection. The Data Transfer Process (DTP) is responsible sending and receiving the data between the client and the server.
The user-PI initiates a TCP-connection from the user device to the server on a sepcial well-known TCP port21. Once the TCP has been set up, the control connection between the devices is established, commands to be sent from the User-PI to the Server-PI, and reply codes to be sent back in response. The server checks the user name and password against its user database, to verify that the connecting user has valid authority to access the server. If the information is valid, the server sends back a greeting to the client to indicate that the session is opened. Assuming that the authentication succeeds, the server then sets up the connection to allow the type of access to which the user is authorized.
In active FTP data connection, the server initiates the transfer of data by opening the data connection to the client. In this case, the client first sends a PORT command to tell the server to use port 1742. The server then opens the data connection from its default port number of 20 to client port 1742. Data is then exchanged between the devices using these ports.
In a passive FTP data connection, the client uses the PASV command to tell the server to wait for the client to establish the data connection. The server responds, telling the client what port it should use on the server for the data transmission, in this case port 2223. The client then opens the data connection using that port number on the server and a client port number of its own choosing, in this case 1742