FTP, o File Transfer Protocol, è un protocollo di rete standard utilizzato per trasferire file tra un client e un server su una rete di computer. Funziona sul livello applicativo della suite di protocolli TCP/IP e supporta sia l’accesso anonimo che quello autenticato.
Il protocollo FTP regola il modo in cui i file vengono trasferiti e gestiti tra il client e il server. Utilizza una connessione di controllo (in genere sulla porta TCP 21) per emettere comandi e coordinare i trasferimenti di file, mentre connessioni dati separate vengono stabilite dinamicamente (utilizzando la porta TCP 20 per la modalità attiva o altre porte per la modalità passiva) per trasferire i dati effettivi del file.
Il numero di protocollo dati associato all’FTP dipende dal fatto che funzioni in modalità attiva o passiva. In modalità FTP attiva, il server avvia una connessione dati al client sulla porta TCP 20. In modalità FTP passiva, il client avvia sia connessioni dati che di controllo, con il server che fornisce un indirizzo IP e un numero di porta per la connessione dati.
Una connessione dati in FTP si riferisce alla connessione TCP separata stabilita tra il client e il server appositamente per il trasferimento dei dati dei file. In modalità FTP attiva, il server apre una connessione dati all’indirizzo IP e al numero di porta specificati dal client. Nella modalità FTP passiva, il client si connette all’indirizzo IP e al numero di porta specificati del server per il trasferimento dei dati.
FTP supporta diversi tipi di dati per il trasferimento di file, tra cui:
- Modalità ASCII (o testo): adatta per il trasferimento di file di testo, in cui le terminazioni di riga vengono convertite per corrispondere alle convenzioni del sistema di destinazione (ad esempio, CR-LF per Windows, LF per Unix).
- Modalità binaria (o immagine): utilizzata per trasferire file binari, preservando l’esatto contenuto byte per byte del file senza modifiche.
- Modalità EBCDIC: utilizzata per trasferire file tra sistemi utilizzando la codifica dei caratteri EBCDIC, che si trova principalmente nei vecchi sistemi mainframe IBM.
La scelta del tipo di dati in FTP dipende dalla natura dei file da trasferire e garantisce che i file siano interpretati e utilizzabili correttamente sul sistema di destinazione.