Difference between FTP and SMTP
File Transfer Protocol (FTP):
File Transfer Protocol (FTP) is a standard protocol for transmitting files from one computer to another using simple commands. It is a simple client-server application which requires establishing two TCP connections:
1. Control Connection (Port 21)
2. Data Connection (Port 20)
Client and Server Processes:
User Interface: User who wants to transfer data interacts with the system with the user interface block and tries to set up a connection with the FTP server. If it is successful then two connections are simultaneously established:
1. Control Process
2. Data Transfer Process
Control Process: The control process maintains the control connection between the server and the client. The control connection is maintained during the entire interactive FTP session. It uses port number 21 for maintaining the connection. Through this connection, the user types a command and expects to get a response within a reasonable amount of time. As it is an interactive session the service provided by IP is minimized delay. Because command and response both are very short lines of code, the control connection uses the ASCII character set for exchanging the control data.
Data Transfer Process: The Data Transfer Process maintains the data connection between the server and the client. It uses a well-known TCP port 20 for maintaining this connection. One major difference between a data connection and with control connection is that this connection is opened and closed for each data transfer. So, if in a single session five data are transferred then this connection is opened and closed five times. As a huge amount of data may be transferred through this connection the service provided by IP has maximized throughput.
Simple Mail Transfer Protocol (SMTP):
Simple Mail Transfer Protocol (SMTP) is an ASCII based protocol. It establishes a TCP connection to port number 25 of the destination machine. Here the sending machine is known as the client and the receiving machine is known as the server.
After establishing a TCP connection, the client waits for the message to come from the server. On accepting the connection, the server sends a line of text giving its identity and telling whether it is ready to receive the mail. If it is not ready then the client releases the connection and tries again later. If the server expresses its willingness to receive the e-mail then the client sends who is the sender and who is the receiver of the e-mail.
FTP vs SMTP:
|1. FTP stands for File Transfer Protocol||1. SMTP stands for Simple Mail Transfer Protocol|
|2. It is used for the transfer of files||2. It is used for electronic mail (e-mail)|
|3. FTP is defined in RFC 959||3. SMTP is defined in RFC 821 and RFC 822|
|4. It uses FTP server to send/receive file from the remote computer.||4. It uses e-mail server to deliver the e-mail to the user's mail box.|
|5. The Default FTP Port is 21||5. The Default SMTP Port is 25|
|6. FTP can be used in the command line.||6. SMTP can't be used in the command line.|