Posts Tagged ‘Networking’

File Transfer Protocol: FTP

Saturday, December 12th, 2009

In a typical FTP session, the user is sitting in front of one host (the local host) and wants to transfer files to or from a remote host. In order for the user to access the remote account, the user must provide a user identification and a password. After providing this authorization information, the user can transfer files from the local file system to the remote file system and vice versa. The user interacts with FTP through an FTP user agent. The user first provides the hostname of the remote host, causing the FI’P client process in the local host to establish a TCP connection with the FTP server process in the remote host. The user then provides the user identification and password, which an sent over the TCP connection as part of FTP commands. Once the server has authorized the user, the user copies one or more files stored in the local file system into the remote tile system (or vice versa).

HTTP and FTP are both file transfer protocols and have many common characteristics; for example, they both run on top of TCP. However, the two application-layer protocols have some important differences. The most striking difference is that FTP uses two parallel TCP connections to transfer a file, a control connection and a data connection. The control connection is used for sending control information between the two hosts–information such as user identification, password, commands to change remote directory,-and commands to “put” and “get” files. The data connection is used to actually send a file, Because FTP uses a separate control connection, FTP is said to send its control information out-of-band. We’ll see that the RTSP protocol, which is used for controlling the transfer of continuous media such as audio and video, also sends its control information out-of-band. HTI’P, as you recall, sends request and response header lines into the same TCP connection that carries the transferred file itself. For this reason, HTTP is said to send its control information In-band. In the next section we’ll see that SMTP, the main protocol for electronic mail, also sends control information in-band.

When a user start p )9P session with a remote host, the client side of FTP (user) first initiates a control TCP connection with the server side (remote host) on server port number 21. The client side of F1′P sends the user identification and password over this control connection. The client side of FTP also sends, over the control connection, commands to change the remote directory. When the server side receives a command for a file transfer over the control connection (either to, or from, the remote host), the server side Initiates TCP data connection to the client side? FTP send exactly one file over the data connection and then closes the data connection If, during the same session the user wants to transfer another file FTP open another data connection. Thus, with FTP, the control connection remains open throughout the duration of the user session, but a new data connection is created for each file transferred within a session (that is. the data connections arc non-persistent).

Throughout a session, the FTP server must maintain state about the user In particular, the server must associate the control connection with a specific user account, and the server must keep track of the user’s current directory as the user wanders i put the remote directory tree. Keeping track of this state information for each ongoing user session significantly constrains the total number of sessions that FTP? can maintain simultaneously. Recall that HTTP, on the other hand , is stateless–it does not have to keep track of any user state.

Imran Rashid has working knowledge about windows operating systems.For more information visit

Free CCNA Tests

Free Windows Tutorials
Get information about Grey hat SEO

Application-Layer Protocols

Friday, November 20th, 2009

We have just learned that network processes communicate with each other by sending messages into sockets. But how are these messages structured? What are the meanings of the various fields in the messages? When do the processes send the messages? These questions bring us into the realm of application-layer protocols. An application-layer protocol defines how an application’s processes, running on different end systems, pass messages to each other. In particular, an application-layer protocol defines:

Some application-layer protocols are specified in RFCs and are therefore in the public domain. For example, the Web’s application-layer protocol, HTTP (the Hyper Text Transfer Protocol (RFC 2616]), is available as an REC. If a browser developer follows the rules of the HTTP RFC, the browser will be able to retrieve Web pages from any Web server that has also followed the rules of the HTTP RFC.

Many other application-layer protocols are proprietary and intentionally not available in the public domain. For example, many existing P2P file-sharing systems use proprietary application-layer protocols.

It is important to distinguish between network applications and application- layer protocols. An application-layer protocol is only one piece of a network application. Let’s look at a couple of examples. The Web is a client-server application that allows users to obtain documents from Web servers on demand. The Web application consists of many components, including a standard for document formats (that is, HTML), Web browsers (for example, Firefox and Microsoft Internet Explorer), Web servers (for example, Apache and Microsoft servers), and an application-layer protocol. The Web’s application-layer protocol, H’I’ defines the format and sequence of the messages that are passed between browser and Web server. Thus, HTTP is only one piece (albeit, an important piece) of the Web application. As another example, an Internet e-mail application also has many components, including mail servers that house user mailboxes; mail readers that allow users to read and create messages; a standard for defining the structure of an e-mail message; and application-layer protocols that define how messages are passed between servers, how messages are passed between servers and mail readers, and how the contents of certain parts of the mail message (for example, a mail message header) are to be interpreted. The principal application-layer protocol for electronic mail is SMTP (Simple Mail Transfer Protocol) [RFC 2821]. Thus, e-mail’s principal application-layer protocol, SMTP, is only one piece (albeit, an important piece) of the e-mail application.

Find information on Pay-Per-View