FTP: File Transfer Protocol Overview
- Networking Fundamentals & OSI Model
- TCP/IP Model
- Network Topologies
- IP Addressing & Subnetting
- Routing Algorithms & Protocols
- Switching Concepts
- Transport Layer Protocols (TCP & UDP)
- Application Layer Protocols
- Network Security & Firewalls
- Wireless Networking & Wi-Fi
- Network Address Translation (NAT)
- DNS Deep Dive
- Congestion Control & Flow Control
- Error Detection & Correction
- Network Devices
- VPN & Tunneling
- Load Balancing & CDN Networking
- Socket Programming
- Network Troubleshooting Tools
- Physical Layer & Transmission Media
- Data Link Layer & MAC Addressing
- Ethernet Protocol
- ARP (Address Resolution Protocol)
- ICMP Protocol
- Unicast, Multicast, Broadcast and Anycast
- Proxy Servers
- Port Numbers Reference
- Network Performance Metrics
- Quality of Service (QoS)
- Software-Defined Networking (SDN)
- HTTP/2 and HTTP/3 Overview
- 5G and Mobile Networks
- IoT Networking Basics
- VoIP Networking Basics
What FTP Is
FTP (File Transfer Protocol) is one of the internet's oldest protocols, designed specifically for uploading and downloading files between a client and a server, rather than viewing web pages.
Two Separate Connections: Control and Data
Unlike HTTP, which uses one connection for everything, FTP uses two separate TCP connections at once.
| Channel | Purpose |
|---|---|
| Control channel | Sends commands like login, list files, or request a download |
| Data channel | Carries the actual file content being transferred |
Active vs Passive Mode
In active mode, the server initiates the data connection back to the client - which often fails in modern networks protected by firewalls or NAT, since the client hasn't invited an incoming connection. Passive mode fixes this: the client initiates both connections instead, which is far more compatible with today's typical network setups.
A Major Weakness: No Encryption
Plain FTP sends everything - including usernames and passwords - as unencrypted plain text, making it vulnerable to anyone able to observe the network traffic. This is why FTP has largely been replaced in security-conscious environments.
What Replaced Plain FTP
- FTPS - FTP with TLS encryption added on top.
- SFTP - an entirely different protocol (built on SSH) that also transfers files securely, despite the similar name.
- HTTPS-based transfers - many modern services simply use secure web uploads/downloads instead of FTP entirely.
Plain, unencrypted FTP is now mostly seen in legacy systems or tightly controlled internal networks, rather than anywhere exposed to the open internet.