FTP: Protocollo di Trasferimento File, Funzionamento e Connessioni

Classified in Informatica

Written at on italiano with a size of 2,45 KB.

FTP: File Transfer Protocol

File Transfer Protocol, utilizzato per il trasferimento di file (testo e binari) tramite rete.

Cosa offre:

  • Connessione remota ad altri server.
  • Visualizzazione degli archivi di file.
  • Trasferimento di file da client a server e viceversa.

Concetto di FTP

Modello client-server. Si usa tramite applicazioni (FTP clients) installati sul client. Di solito vengono richiesti i dati di autenticazione perché si presuppone che l’utente abbia un accesso personale al server. In alcuni casi esiste l’accesso anonimo per potersi connettere a server FTP pubblici.

Funzionamento

Due connessioni separate:

  1. Connessione di controllo (comandi).
  2. Connessione di scambio dati.

La connessione di controllo o di comandi avviene sulla porta 21 del server e viene inoltrata dal client che inizia così la richiesta di trasferimento dati.

Il server che riceve la richiesta apre una connessione per lo scambio dei dati sulla porta 20.

La connessione sulla porta 21 (comandi) è persistente per tutta la durata del processo, mentre per ogni trasferimento la porta 20 viene riaperta.

Collegamento Attivo

Il client comunica al server tramite il canale di controllo (comandi, porta 21) quale porta usare sul lato client per stabilire la connessione dati.

Nel dettaglio, il client invia il comando PORT sul canale dei comandi FTP quando ha necessità di inviare o ricevere dati. Tale comando contiene il numero della porta per ricevere i dati sul client ed è un calcolo matematico. La connessione di controllo è persistente, mentre ogni qualvolta si devono scambiare dati si rinstaura la connessione dati utilizzando sempre il PORT.

Collegamento Passivo

Il client contatta il server tramite il canale di controllo (comandi, porta 21) tramite il quale gli invia il comando PASV necessario a calcolare la porta del server su cui il client si connetterà per il trasferimento dati. Una volta calcolata, il client apre un'altra porta tramite la quale si connetterà alla relativa porta dati del server.

NB: il comando PORT potrebbe causare problemi dato che non è compatibile con molti NAT e firewall per questioni di sicurezza. I problemi vengono ovviati utilizzando il comando PASV.

La differenza sostanziale sta nel chi inizializza la connessione.

Entradas relacionadas: