The mention of "TCP" in the question is because both FTP and its secure variants (FTPS and SFTP) are application-layer protocols built on top of the Transmission Control Protocol (TCP). TCP provides a reliable, connection-oriented channel that ensures ordered data delivery and error correction. This is crucial for file transfers, where data integrity and proper sequencing are important.
In contrast, some other protocols may use the User Datagram Protocol (UDP), which is a connectionless, lower-overhead alternative that doesn't guarantee delivery.
Port 21 is used for the standard, unencrypted File Transfer Protocol (FTP) control connection.
Port 22 is used for the Secure Shell (SSH) protocol, which is often used for secure file transfer (SFTP), but it's a different protocol than FTPS.
Port 990 is used for FTPS (FTP over SSL/TLS), specifically for the implicit mode where the connection is encrypted from the start.
Port 443 is used for HTTPS (HTTP over SSL/TLS), the secure version of the Hypertext Transfer Protocol used for web browsing.