File Transfer Protocol Ftp Information Technology Essay
File Transfer Protocol is a standard network protocol used mainly in transferring files from one computer to another through the internet, it can also be used to manipulate or exchange files over a TCP/IP based network such as a local area network (LAN) or via the internet. One general use of FTP is to make download and upload of files very easy without directly dealing with the client or server operating system. This means an authorised remote FTP user is able to carry out some extra tasks as editing a file, change a file name, move file from one directory to another and much more (Zadjali, 2010).
In most cases, a vast majority of people or organizations who use FTP often have some shared large files which relate to a particular project stored on a file server, access to these remote files are mainly derived through authenticated FTP client or an anonymous user. FTP, without its flaws has proved to be very effective in file transfer (upload and download) and this feature is particularly vital to carry out some much needed tasks since there are tendencies that continuous communication with the satellite is unavoidable. FTP is as a result of an RFC (request for comment) first drafted in the 1970s and has only gone through some few changes. With this in mind, we can have further discussions on how FTP works, have a little discussion on its flaws, and finally see what can be done to avoid some of the well-known draw backs of FTP.
FTP has evolved from its original purpose of just a file transferring protocol to a tool used for a far wider range of functions on the World Wide Web and in specialized application with some revision releases as the years passes by, therefore in our own case FTP can be used as a means of sending or manipulating a file containing critical code that is vital to the operation and or functioning of the satellite system whenever the need arises.
How FTP Works
Transmission Control Protocol (TCP) and Internet Protocol (IP) are the backbone of the internet; TCP is responsible for or manages data transfer while IP helps to direct traffics to internet addresses. “FTP is an underling of TCP and shuttles files back and forth between FTP server and FTP client”, for FTP to work properly it requires that two ports be opened; one is the listening port of the server usually on port 21, this port listens for an incoming connection from the client machine. A successful connection from the client to this port then forms the control stream through which commands from the client machine are passed to the server and in return replies are collected. The FTP server on the other hand then opens a corresponding port connection to the client usually on port 20 for data transfer, the separation of ports for commands and data transfer makes FTP more effective (Oxbridge Graduate, -).
When using the normal “active mode” the FTP client relays to the server all the information needed for the server to communicate back; some of the basic information includes the port number and IP address upon which it will listen to receive corresponding information from the FTP server. This information sent from the client, that is the PORT and IP are sent as an argument to the FTP server in a format “H1,H2,H3,H4,P1,P2”. Each of the given field represents 8bits of the host IP, followed by the data port chosen by the client machine. For example a client that has an IP address 192.168.0.1 listening on port number 49154 for the data connection from the server will usually send a command “PORT 192,168,0,1,192,2”. The port field is then interpreted as P1*256+P2 of which in this example is calculated as 192*256+2=49154.
Normally the in-built firewall on our systems prevents internet sites or external system from initiating file transfer to our computer (the computer behind the router), and this is the way “passive mode” of the FTP server works. To get around this obstacle one must make use of the PASV command which help to reverse the FTP process; this reverse process allows the computer behind the firewall initiate the transfer process by sending the PASV command to which the server in return would reply with a something like “299 Entering Passive Mode (127.0.0.1,192,52)” (Oxbridge Graduate, -).
PASV FTP can also be used as a security measure to prevent unwanted external files from being downloaded into the system. In the real sense, when using passive mode, the FTP server opens a dynamic port and sends the client machine all necessary information to facilitate the connection, these are the port number on which it is listening and the IP address to connect to (this information usually is a 16 bit value split into a high and low bites as described above) and wait for the client to initiate the connection. Connection in this case requires that the client binds the source port of the connection to a dynamic port.
While data is either being uploaded or downloaded through the data stream, the control stream always remains idle and such scenario can cause some problem especially if the files being transmitted is large. A system firewall is designed to time out/terminate sessions after a lengthy period of idleness, meaning although the large file is expected to go through but may be terminated because of the time it will take for the transfer to be completed causing an error (Oxbridge Graduate, -).
Effect of Latency on FTP
Latency or network delay can be considered as the amount of time delay caused by every element involved in the transfer of data/packet through a particular network path beginning from the initiation point to the destination device. The time taken for each sent packet to be acknowledged is measured as Round Trip Time (RTT) or Round Trip Latency, and latency RTT causes FTP to slow down considering the time it will take for satellite communication to be established and file transfer to be acknowledged, this can be into hundreds or thousands of milliseconds of RTT depending on the bandwidth capacity and the orbiting distance of our satellite. TCP/IP is as of today the most widely deployed internet protocol in existence, consequently FTP being the protocol responsible for file transfer and operates underneath TCP has been found to inherit the drawbacks of TCP/IP. (Unlimi-Tech Software Inc., 2010)
One way Latency
Round Trip Latency
Figure : A typical TCP session showing round trip latency
Major Acting Elements of Latency
Latency as a factor is mainly made up of three (3) major elements that can significantly impact the end-to-end latency, these elements include:
Queuing delay is the total sum of all delays caused whenever packets are received, stored and transmitted using queues. This form of delay has been found to be the most variable form of delay in modern networks, and it also depends on the queue length and the number of queues in that particular route; for instance in a congested and heavily loaded network the queue will be long and the queuing delay will be directly proportional to the queue. In several cases this alone will contribute the greatest in the overall latency, but considering networks that are less congested this delay would often not have any meaningful impact (TCPing, 2007).
Propagation delay is the time it will take a packet/signal to physically navigate a given path; this delay is linked directly with the distance between a sending and receiving device. Even on a high performing network, the overall latency is commonly affected by the propagation delay and hence cannot be considerably reduced. How consistent the propagation delay is can be greatly dependent on the route signals have to navigate. A direct connection (static route) would in most cases ensure an equally constant latency since no route changes is required but on the other hand a dynamic route will tend to result to more latency variation (TCPing, 2007).
Serialization delay is the necessary delay required of a sender to transmit a packet or signal onto the outbound queue, for an available bandwidth and a given packet size serialization delay is a constant and can be “calculated by dividing the packet size (in bits) by the available bandwidth (in bits per second)” (TCPing, 2007).
It is only reasonable to talk about jitter after analysing some of its contributing factors; jitter is the variation in packet transportation or variation in the time between packet arrival caused by queuing, propagation and serialization effect on the packet path through the network, another popular cause of jitter is the electromagnetic interference (EMI). Generally higher amount of jitter will tend to take place on heavily congested or slow network. To understand what jitter really means, one must remember that computer data be it in the form of pictures, text, video or audio are sent out in manageable packets with footers and headers that help to indicate the correct order of the packets when it gets to its destined system for playback. When a jitter occurs, the code to re-assemble the data packets may be lost or some data packets itself may
Effect of Packet Loss on FTP
A typical packet loss occurs when a packet travelling from one end of the network never made its way to the other due toOrder Now