File Transfer Protocols ======================== These protocols are used to transfer files across networks, offering different levels of security, reliability, and platform support. .. toctree:: :maxdepth: 1 :hidden: :includehidden: FTP FTPS SFTP SCP TFTP NFS .. list-table:: :widths: 15 65 20 :header-rows: 1 * - Protocol - Description - Use Case * - FTP (File Transfer Protocol) - Standard protocol for transferring files over TCP, but lacks encryption. *Widely used but not secure unless combined with tunneling or encryption layers.* - Internal file transfers in trusted networks. * - FTPS (FTP Secure) - FTP over SSL/TLS encryption for secure data transmission. *Encrypts both commands and data — supports certificates and secure authentication.* - Secure file transfer over the internet. * - SFTP (SSH File Transfer Protocol) - File transfer protocol over SSH. *Provides full encryption and secure authentication.* - Secure transfers and remote file management over SSH. * - SCP (Secure Copy Protocol) - Simple and fast file transfer over SSH. *One-way secure copy; lacks advanced features like resume or GUI.* - Quick secure file copies between Unix/Linux systems. * - TFTP (Trivial File Transfer Protocol) - Lightweight file transfer without authentication or encryption. *Used in LANs and for bootstrapping network devices (e.g., PXE).* - Transferring firmware or boot images to devices. * - NFS (Network File System) - Allows shared access to files over a network, mainly in Unix/Linux systems. *Mounts remote file systems as if they were local.* - Centralized file storage and sharing within a network. .. tab-set:: .. tab-item:: FTP **RFC:** RFC 959 **Main Features:** - Standard protocol for file transfers over TCP (ports 20 and 21) - Allows file upload/download, directory navigation, and file operations - Does not provide encryption for commands or data - Supports anonymous and authenticated access - Widely supported across operating systems **Use Cases:** - Internal file transfers in trusted networks - Legacy systems and applications that require FTP support - Bulk data upload/download in low-security environments **Alternative Protocols:** - FTPS – FTP with SSL/TLS encryption - SFTP – Secure file transfer over SSH - SCP – Simple, secure file copy - TFTP – Lightweight transfers for device booting .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: Learn More About FTP **Let us learn more about FTP:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`FTP Basic Setup on Ubuntu using IPv4 ` * :ref:`FTP Basic Setup on Ubuntu using IPv6 ` * :ref:`FTP Protocol Packet Details ` * :ref:`FTP Usecases ` * :ref:`FTP Basic Features ` * :ref:`FTP Feature : File Transfer ` * :ref:`FTP Feature : Authentication ` * :ref:`FTP Feature : Directory Operations ` * :ref:`FTP Feature : File Management ` * :ref:`FTP Feature : Modes of Transfer ` * :ref:`FTP Feature : Transfer Types ` * :ref:`FTP Feature : Multiple Platforms ` * :ref:`FTP Feature : Control & Data Channels ` * :ref:`FTP Feature : Logging & Auditing ` * :ref:`Reference links ` .. button-link:: ./FTP.html :color: primary :shadow: :expand: Jump to "FTP" .. tab-set:: .. tab-item:: FTPS **RFC:** RFC 4217 **Main Features:** - FTP enhanced with SSL/TLS encryption for control and data channels - Supports secure authentication with certificates or credentials - Explicit (AUTH TLS) and implicit encryption modes available - Compatible with many FTP clients and servers **Use Cases:** - Secure file transfer over public or untrusted networks - Compliance-driven environments requiring encryption (e.g., PCI-DSS) - Secure publishing of data or logs to external partners **Alternative Protocols:** - SFTP – Secure alternative with simpler firewall handling - SCP – Lightweight secure copy with fewer dependencies - HTTPS-based file transfer portals .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: Learn More About FTPS **Let us learn more about FTPS:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`FTPS Version&RFC Details ` * :ref:`FTPS Basic Setup on Ubuntu using IPv4 ` * :ref:`FTPS Basic Setup on Ubuntu using IPv6 ` * :ref:`FTPS Protocol Packet Details ` * :ref:`FTPS Usecases ` * :ref:`FTPS Basic Features ` * :ref:`FTPS Feature : TLS/SSL Encryption ` * :ref:`FTPS Feature : Authentication Support ` * :ref:`FTPS Feature : Explicit and Implicit Modes ` * :ref:`FTPS Feature : Data Integrity ` * :ref:`FTPS Feature : Firewall-Friendly ` * :ref:`FTPS Feature : Backward Compatibility ` * :ref:`FTPS Feature : Granular Access Control ` * :ref:`FTPS Feature : Logging and Auditing ` .. button-link:: ./FTPS.html :color: primary :shadow: :expand: Jump to "FTPS" .. tab-set:: .. tab-item:: SFTP **RFC:** Part of SSH-2 protocol (Draft Standard) **Main Features:** - File transfer protocol built on SSH (port 22) - Provides strong encryption and authentication - Supports remote file manipulation (rename, delete, permissions) - Resistant to packet sniffing and man-in-the-middle attacks **Use Cases:** - Secure file transfers and automation (cron jobs, CI/CD) - Remote file management over secure tunnels - File exchange with servers over the internet **Alternative Protocols:** - SCP – Simplified file transfer over SSH - FTPS – FTP with SSL/TLS - rsync over SSH – For incremental file syncing .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: Learn More About SFTP * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`SFTP Version&RFC Details ` * :ref:`SFTP Basic Setup on Ubuntu using IPv4 ` * :ref:`SFTP Basic Setup on Ubuntu using IPv6 ` * :ref:`SFTP Protocol Packet Details ` * :ref:`SFTP Usecases ` * :ref:`SFTP Basic Features ` * :ref:`SFTP Feature : Secure Data Transfer ` * :ref:`SFTP Feature : Authentication ` * :ref:`SFTP Feature : File Upload ` * :ref:`SFTP Feature : File Download ` * :ref:`SFTP Feature : Directory Listing ` * :ref:`SFTP Feature : File Rename ` * :ref:`SFTP Feature : File Deletion ` * :ref:`SFTP Feature : Directory Creation ` * :ref:`SFTP Feature : Directory Deletion ` * :ref:`SFTP Feature : File Permissions Management ` * :ref:`SFTP Feature : Resume Interrupted Transfers ` * :ref:`SFTP Feature : File Integrity Verification ` * :ref:`SFTP Feature : Logging and Auditing ` * :ref:`SFTP Feature : Cross-Platform Compatibility ` * :ref:`SFTP Feature : Firewall-Friendly` * :ref:`SFTP Feature : Compression Support` * :ref:`SFTP Feature : Symbolic Link Handling` * :ref:`SFTP Feature : Atomic Operations` * :ref:`SFTP Feature : Session Management ` * :ref:`SFTP Feature : Integration with SSH ` * :ref:`Reference links ` .. button-link:: ./SFTP.html :color: primary :shadow: :expand: Jump to "SFTP" .. tab-set:: .. tab-item:: SCP **RFC:** None (based on SSH) **Main Features:** - Secure, fast file transfer protocol using SSH (port 22) - Simple syntax for single-session transfers - Lacks features like resume, progress tracking, or directory listing - Available on most Unix/Linux systems by default **Use Cases:** - Quick secure file copies between Unix/Linux systems - Simple remote backups or file pushes - Transferring files in automated SSH scripts **Alternative Protocols:** - SFTP – Feature-rich secure file transfer - rsync – Efficient file sync and transfer over SSH - FTPS – Secure alternative using standard FTP architecture .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: Learn More About SCP **Let us learn more about SCP:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`SCP Version&RFC Details ` * :ref:`SCP Basic Setup on Ubuntu using IPv4 ` * :ref:`SCP Basic Setup on Ubuntu using IPv6 ` * :ref:`SCP Protocol Packet Details ` * :ref:`SCP Usecases ` * :ref:`SCP Basic Features ` * :ref:`SCP Feature : SSH-Based Security, ` * :ref:`SCP Feature : Simple Command-Line Interface ` * :ref:`SCP Feature : Bidirectional Transfer ` * :ref:`SCP Feature : Recursive Copy ` * :ref:`SCP Feature : Preserves File Attributes ` * :ref:`SCP Feature : Cross-Platform Compatibility ` * :ref:`SCP Feature : No Need for Additional Setup ` * :ref:`SCP Feature : Script-Friendly ` * :ref:`Reference links ` .. button-link:: ./SCP.html :color: primary :shadow: :expand: Jump to "SCP" .. tab-set:: .. tab-item:: TFTP **RFC:** RFC 1350 **Main Features:** - Very simple file transfer protocol over UDP (port 69) - No authentication, encryption, or directory support - Ideal for constrained environments or bootstrapping - Limited to read/write of preconfigured files **Use Cases:** - Transferring firmware or boot images (e.g., PXE boot) - Embedded systems and networking devices - Simple LAN-based file delivery without user interaction **Alternative Protocols:** - FTP – For more complex file transfers - NFS – For persistent file sharing in local networks - HTTP/HTTPS – For firmware distribution with progress/validation .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: Learn More About TFTP **Learn More About TFTP** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`TFTP Version&RFC Details ` * :ref:`TFTP Basic Setup on Ubuntu using IPv4 ` * :ref:`TFTP Basic Setup on Ubuntu using IPv6 ` * :ref:`TFTP Protocol Packet Details ` * :ref:`TFTP Usecases ` * :ref:`TFTP Basic Features ` * :ref:`TFTP Feature : File Transfer ` * :ref:`TFTP Feature : Authentication ` * :ref:`TFTP Feature : Directory Operations ` * :ref:`TFTP Feature : File Management ` * :ref:`TFTP Feature : Modes of Transfer ` * :ref:`TFTP Feature : Transfer Types ` * :ref:`TFTP Feature : Multiple Platforms ` * :ref:`TFTP Feature : Control and Data Channels ` * :ref:`TFTP Feature : Logging and Auditing ` * :ref:`Reference links ` .. button-link:: ./TFTP.html :color: primary :shadow: :expand: Jump to "TFTP" .. tab-set:: .. tab-item:: NFS **RFC:** RFC 1094 (v2), RFC 1813 (v3), RFC 7530 (v4) **Main Features:** - Distributed file system protocol for sharing directories/files over LAN - Allows remote mounting of file systems as if they were local - Stateless (v2/v3) or stateful (v4) client-server architecture - Supports file locking, permissions, and access control **Use Cases:** - Centralized file storage across Unix/Linux systems - Home directory sharing in enterprise and academic environments - High-performance computing clusters with shared data **Alternative Protocols:** - SMB/CIFS – Windows-based file sharing - WebDAV – HTTP-based file system access - FTP/SFTP – For simpler file-based transfers .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: Learn More About NFS **Let us learn more about NFS:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`NFS Version&RFC Details ` * :ref:`NFS Basic Setup on Ubuntu using IPv4 ` * :ref:`NFS Basic Setup on Ubuntu using IPv6 ` * :ref:`NFS Protocol Packet Details ` * :ref:`NFS Usecases ` * :ref:`NFS Basic Features ` * :ref:`NFS Feature : File Sharing ` * :ref:`NFS Feature : Transparency ` * :ref:`NFS Feature : Stateless Protocol (v2&v3) ` * :ref:`NFS Feature : Stateful Protocol(v4) ` * :ref:`NFS Feature : Platform Independence ` * :ref:`NFS Feature : Mounting ` * :ref:`NFS Feature : Security ` * :ref:`NFS Feature : File Locking ` * :ref:`NFS Feature : Caching ` * :ref:`NFS Feature : Asynchronous Writes ` * :ref:`Reference links ` .. button-link:: ./NFS.html :color: primary :shadow: :expand: Jump to "NFS"