top of page

Our Recent Posts

Tags

What is FTP?

*References are provided at the bottom of this article.

Introduction

File Transfer Protocol (FTP) is used to transfer files between different computers. It transfers files unencrypted, which has been addressed with through adding security measures or by making a secure connection and using FTP through that connection. Although there are alternatives, it is still used today. There are many protocols for transferring files and FTP is what is most often employed. Netscape created Secure Socket Layers to ensure encrypt the data being transferred.

History

FTP was created by Abhay Bhushan and submitted for review April 16, 1971 in Request For Comment (RFC) 114. Bhushan proposed FTP as a method for uniformly presenting data to users so navigation of this system would be consistent. According to IETF's (Internet Engineering Task Force) website the current internet standard for FTP is RFC 959 although there have been proposed revisions for security purposes. When Bhushan first presented FTP, Network Control Protocol (NCP) was the standard for computer connections but this title has been changed to TCP (Transmission Control Protocol) which you may be familiar with seeing in written TCP/IP (TCP/Internet Protocol).

Overview

http://beginlinux.com/blog/2009/10/ubuntu-9-10-ftp-connections/

FTP uses port 20 and 21 of the server to send data and control the connection to and from the client. Servers are computers that provide a service to another computer named the client. The core contrast between either is that servers are automated computers that respond to input from the client.

Connections are started by client's request to port 21 of the server. Authentication is requested at this point, by some servers, other servers simply comply with the request and open up port 20 for data transfer.

There are two modes that FTP operates within, active and passive. Active FTP involves the server providing the client with data from its port 20 to the clients port of 1024 or greater up to 65535. Passive mode is best for clients who have firewall protections because the client initiates all the connections to the server. Firewall protections are implementations that filter data traffic with outside networks and may protect against data being received or sent.

This protocol allows a user to access files from server as if they were logged into their own computer but restrictions are often implemented. Restrictions to a client's access vary depending on how the server is set up. For instance Google has a service for email, Gmail, that allows users to access all of their own emails. A user can see what they've sent and received as long as they haven't deleted the information entirely. The user may not, however, access another users emails, sent or received. Google is the server for all the clients that use Gmail accounts and they imposed this restriction for user privacy as well as their own protection. If some entity was able to access the server, or servers, that run Gmail they would be able download every Gmail account's contents and the programs that run Gmail.

Anonymous connection to FTP is possible and sometimes offered by servers that provide these services. Using FTP anonymously means that you don't log in with your username, instead you are assigned 'anonymous' and your email address is typically used as your password.

Although browsers support FTP they are less secure and so the use of an interface is advised over a browser connection. There are several graphical FTP interfaces available, some of which are free. Filezilla is a widely known graphical interface although there are many other free graphical FTP interfaces like Cyberduck or Core FTP LE. The key is finding a distribution of the interface that works with your computer's operating system (OS). Filezilla and Cyberduck both work on multiple OS's.

Security & Secure FTP Connections

Secure shell (SSH) login may be used in to create a secure connection for FTP to work in, this is known as SFTP. Data is encrypted in binary and uses only one channel, port 22, when using SFTP. User ID, password, and public/private keys are used in connecting with SFTP.

FTPS, is FTP using Secure Socket Layer (SSL). It utilizes ports 21 and 22, 21 is for the control channel and 22 is for data. Human readable text is encrypted with SSL and the connection is authenticated by user ID, password, and certificate(s) .

 

Additional Information:

Internet Engineering Task Force. (2018). About the IETF​​

 

FrenchToast Philip explains FTP, it's modes, and ports.

Youtube. (2016). What is File Transfer Protocol? (Active vs Passive Mode)

by

FrenchToast Philip

Key Terms

  • Directory - File System

  • FTP - File Transfer Protocol

  • FTPS - File Transfer Protocol using SSL

  • HTTP - Hypertext Transfer Protocol

  • IETF - Internet Engineering Task Force

  • IP - Internet Protocol

  • NCP - Network Control Protocol

  • OS - Operating System

  • RFC - Request for Comments

  • SFTP - SSH File Transfer Protocol

  • SSH - Secure Shell

  • SSL - Secure Socket Layer

  • TCP - Transmission Control Protocol

  • TLS - Transport Layer Security

 

Resources:

alternative To. (2018). Alternatives to Core FTP for Mac with any license

Begin Linux. (2009). Ubuntu 9.10: FTP Connections

Business Dictionary. (2018). What is errata?

Computer Hope. (2017). Abhay Bhushan

Daniel Haxx. (2017). FTP vs HTTP

Digital Trends. (2016). WTF is FTP? The file transfer protocol, explained

FileZilla. (2018). Overview

Gibson Research Corporation. (2018). Port Authority DatabasePort 20

Globalscape. (2012). Why use HTTP for file transfers

Go Anywhere. (2011). SFTP vs. FTPS: What's the Best Protocol for Secure FTP?

Hosted FTP. (2018). FTP vs FTPS vs SFTP - What is the difference

How to Forge. (2017). How to use the Linux ftp command to up- and download files on the shell

Indiana University. (2018). Use FTP to transfer files

Indiana University. (2018). What is a firewall?

Internet Engineering Task Force. (2018). RFCs

Internet Society. (2018). About the IETF

Microsoft. (2016). FTP over SSL <ssl>

Microsoft. (2014). Revisiting FTP Basics

Pi Up My Life. (2018). How to Setup Raspberry Pi FTP

Quora. (2016). Why does the IETF not correct the errata in RFC?

Request For Comment (1971). A File Transfer Protocol

Request For Comment (1971). A FIRST CUT AT A PROPOSED TELNET PROTOCOL

Request For Comment (1980). File Transfer Protocol

Request For Comment (1985). File Transfer Protocol (FTP).

Request For Comment (1994). Firewall-Friendly FTP

Request For Comment (1998). FTP Extensions for IPv6 and NATs

Request For Comment (1971). FTP Security Extensions

Request For Comment (1994). How to Use Anonymous FTP

Secureworks. (2016). What is Firewall Security?

Server Fault. (2011). What port does SFTP use?

Server Fault. (2009). What firewall ports do I need to open when using FTPS?

Slack Site. (2018). Active FTP vs. Passive FTP, a Definitive Explanation

Stack Overflow. (2008). What is the largest TCP/IP network port number allowable for IPv4?

Stack Overflow. (2009). What is the difference between active and passive FTP?

SSH. (2018). SSH (SECURE SHELL)

SSL. (2005). Q10241 - FAQ: What is SSL?

Tech Radar. (2017). The best free FTP client 2017

Tech Republic. (2010). Review: FileZilla FTP client

Techwalla. (2018). HTTP Vs. FTP File Transfer

Tec Mint. (2013). How to install and Configure OpenSSH Server In Linux

The Cisco Learning Network. (2008). Port 20 and 21

The Cisco Learning Network. (2015). Why does FTP have 2 port numbers?

The TCP/IP Guide. (2005). FTP Overview, History and Standards

The TCP/IP Guide. (2005). TCP/IP Overview and History

The Windows Club. (2018). Cyberduck: Free FTP, SFTP, WebDAV, Google Drive client for Windows PC

What Is. (2011). Request for Comments (RFC)

Wikipedia (2018). Abhay Bhushan

Wikipedia (2018). File Transfer Protocol

Wikipedia (2018). FTPS

Wikipedia (2018). Internet Draft

Wikipedia (2018). Request for Comments

Wired. (2010). FTP for Beginners

Youtube. (2010). Active FTP vs Passive FTP Demistified Part 1

Youtube. (2014). Explaining FTP for Dummies

Youtube. (2012). What is FTP (File Transfer Protocol) and how do I use it?

 

©2018 by Layman Tech Blog. Proudly created with Wix.com

bottom of page