La Trinakria.it
  Segnala errore sito
Glossario informatico
 
 
FTP
File Transfer Protocol o File Transfer Program
protocollo o programma di trasferimento file

Un insieme di regole per abilitare il colloquio bidirezionale tra due computer durante il trasferimento di un file. Il nome si riferisce sia al protocollo di trasmissione sia al programma che ne fa uso. Il protocollo viene usato quando si scarica un file sul proprio computer prelevandolo da un sito Internet e racchiude in sé i comandi TCP/IP (Transmission Control Protocol/Internet Protocol) per eseguire il login sulla rete, visualizzare l'elenco dei file esistenti e copiarli sulla stazione locale. In molti casi il computer da cui si vogliono prelevare dati accetta login anonimi, questo significa che alla richiesta di qualificarsi l'utente risponde "anonymous" e alla richiesta della password fornisce il proprio indirizzo di posta elettronica su Internet. In questo caso si parla di FTP anonimo. L'area di Internet composta da siti di questo tipo prende il nome di "spazio FTP" e costituisce una componente esterna e periferica rispetto allo spazio World Wide Web che invece usa il protocollo HTTP (HyperText Transfer Protocol). È possibile accedere a un server FTP dall'interno di un browser Web, ma le informazioni visualizzate saranno quelle tipiche di un server FTP (si vedrà solo il nome dei file e delle directory disponibili più un eventuale file README che ne spiega i contenuti). L'indirizzo da digitare in questo caso avrà un formato di questo tipo: ftp://ftp.earn.net. A differenza di quanto avviene nello spazio Web, non è possibile memorizzare le pagine sulla cache locale (una porzione di disco riservata allo scopo) e quindi vanno ricaricate dalla rete ogni volta che ci si torna sopra. Il protocollo è lo stesso anche quando si vuole spedire un proprio file a un altro computer collegato a Internet. Molti dei siti contenenti file audio, video e grafici sono accessibili solo attraverso FTP e l'impiego di questo protocollo è un modo semplice per rendere disponibili documenti su Internet senza creare un vero e proprio server Web. Per questo motivo capita di usare spesso l'FTP durante le attività di navigazione, specie quando da una pagina HTML si chiede lo scaricamento di un file sulla macchina locale. Il protocollo esegue anche una traduzione da ASCII (American Standard Code for Information Interchange) ed EBCDIC (Extended Binary Coded Decimal Interchange Code). FTP, a differenza di altre applicazioni per Internet, usa due connessioni TCP per unire client e server. La prima rimane attiva per tutta la durata della sessione al fine di trasferire informazioni di controllo, la seconda viene creata e interrotta ogni volta che bisogna trasmettere qualcosa. Le specifiche più recenti del protocollo sono contenute nell'RFC 959 dell'ottobre 1985 che rimpiazza la precedente RFC 765. Le medesime specifiche sono riportate nella STD 9. La storia dell'FTP comincia il 16 aprile del 1971 quando Abhay Bhushan del MIT (Massachussets Institute of Technology) propone la RFC 114 in cui si descrive un protocollo da utilizzare con gli host disponibili nell'MIT. Il 29 aprile di quello stesso anno Eric Harslem e John Heafner commentano e descrivono questo nuovo protocollo nella RFC 141. Immediatamente dopo, il 23 giungo del 1971 Abhay propone una versione del protocollo adatta per funzionare a livello di utente finale e consentire lo scambio di file tra due computer. Seguono altre RFC di affinamento e con la RFC 354 sempre di Bushan, l'FTP diventa il protocollo ufficiale per scambiare file su ARPAnet . Il suo scopo è quello di trasferire file in modo efficace e affidabile, così da condividere lo spazio disponibile sul disco di una macchina remota. Il 27 novembre 1972 da Greg Hicks dell'Università dello Utah (l'RFC 412) per fornire agli utenti le istruzioni su come funzionava il nuovo protocollo. Infine la RFC 454 scritta il 16 febbraio 1973 da Alex McKenzie della BBN (Bolt, Beranek and Newmann) sancisce l'ufficialità del protocollo. Il 12 luglio del 1973 il protocollo viene modificato profondamente con la pubblicazione di un nuovo standard nell'RFC 542 scritta da Nancy Neigus della BBN. Parecchie macchine contineuranno tuttavia a usare ancora la vecchia versione fino al 10 maggio 1975 quando Brian Harvey della SU-AI scrive la RFC 686 per illustrare le differenze tra le precedenti versioni di FTP e quella più recente, così da incoraggiare le persone al cambiamento. Fin qui FTP funzionava su NCP (Network Control Protocol) il primo dei protocolli impiegati su ARPAnet. Bisognerà attendere fino al giugno 1980 quando la RFC 765 ne fornirà le specifiche di funzionamento sui nuovi protocolli TCP/IP. La RFC 959 contiene alcuni aggiornamenti minori e costituisce l'ultima versione di tali specifiche. File Transfer Protocol in dettaglio Come definito dalla Request For Comments 959, scritta nell'ottobre 1985 da Jon Postel e Joyce Reynolds dell'ISI (Information Sciences Institute), che standardizza l'uso di questo protocollo, l'FTP assolve al quadruplice scopo di favorire la condivisione di file (contenenti programmi oppure dati) tra due computer, incoraggiare l'uso esplicito oppure implicito (mediato dal programma applicativo) di computer remoti, trasferire i dati in modo affidabile ed efficiente, schermare l'utente da qualsiasi variazione di sistema di memorizzazione su disco (storage) da un host all'altro. Questo significa che non solo il file system può essere diverso da una macchina all'altra, ma che può cambiare anche sistema operativo (DOS, Unix, Windows, OS/2, Mac OS, eccetera) e insieme di caratteri (ASCII a 7 bit, binario, EBCDIC quando entrambi i sistemi lo supportano). Si tratta di un protocollo che, benché utilizzabile direttamente attraverso l'omonima utility, serve principalmente come appendice di programmi che lavorano su dati distribuiti sulla rete. FTP si basa su due protocolli che sono stati sviluppati prima di esso in ambiente ARPAnet: il TCP/IP (Transmission Control Protocol/Internet Protocol) e il Telnet protocol, rispettivamente codificati nella RFC 793 pubblicata dalla DARPA (Defense Advanced Research Projects Agency) nel settembre del 1981 e nella RFC 854 pubblicata sempre da Jon Postel e Joyce Reynolds dell'ISI nel maggio del 1983. Per anni ha rappresentato l'unico sistema per scaricare software e documenti da Internet e ancora oggi, benché tenda a essere rimpiazzato o schermato da strumenti più moderni, rimane ancora lo strumento primario usato nella maggior parte dei siti di archiviazione. È importante comunque ricordare che questo protocollo serve unicamente al trasferimento di file e non per accedere a distanza su file depositati su un sistema remoto, la qual cosa è resa possibile da altre applicazioni specifiche come l'NSF (Network File System) sviluppato da Sun. Le definizioni peculiari di questo ambiente Prima di vedere il semplice meccanismo che regola in funzionamento dell'FTP come protocollo è necessario definire i termini usati in questo particolare ambito. Si tratta, in alcuni casi, di parole comuni nel mondo dell'informatica, che però qui assumono un significato più circoscritto che perciò va comunque chiarito. Li riportiamo esattamente come compaiono nella RFC 959 e nei testi disponibili in commercio. ASCII: un insieme di caratteri standard che comprende tutte le lettere dell'alfabeto, i numeri e vari caratteri di controllo. In FTP, si usa solo la metà inferiore dei caratteri che compongono il codice ASCII perciò invece di usare 8 bit a cui corrispondono 256 combinazioni e altrettanti caratteri, si usano 7 bit equivalenti a 128 caratteri, il che comprende tutti i segni, i caratteri speciali di controllo e le lettere dell'alfabeto, con eccezione delle vocali accentate tipiche dell'italiano e di altre lingue diverse dall'inglese. ASCII type: uno dei quattro tipi di rappresentazione (type) usato per difetto dal protocollo FTP quando trasferisce un file o una porzione di questo. Si usa per il trasferimento di documenti di testo. I caratteri vengono presi dalla macchina server, trasformati nel formato ASCII previsto dall'NVT di Telnet, trasferiti all'altra macchina che li riconverte nel proprio formato ASCII prima di memorizzarli su disco. L'uso dell'ASCII secondo le specifiche definite per il protocollo Telnet significa inviare caratteri da 7 bit in un campo da 8 bit. La fine di ciascuna riga di testo viene segnalata dalla successione di due caratteri di controllo: Carriage Return e Line Feed. Questo implica che il ricevente deve esaminare ogni singolo byte in arrivo per identificare la presenza di uno di questi due caratteri di controllo. In fase di trasferimento è anche possibile specificare il tipo di trattamento che il file di testo dovrà ricevere all'estremo ricevente, vale a dire specificare se dovrà essere stampato, se dovrà essere memorizzato su disco oppure se dovrà essere elaborato in locale. Per ciascuna di queste tre modalità può essere perciò indicato un parametro di controllo del formato, il cui default si chiama NON PRINT e si riferisce alla versione di file che va memorizzata su disco esattamente come viene ricevuta oppure elaborata nella sua forma originale. Nel caso lo si debba stampare bisognerà aggiungere il riconoscimento di speciali caratteri che comandano il movimento della testina e che sono sempre codificati dal protocollo Telnet. access controls (controlli di accesso): definiscono i privilegi di accesso di cui l'utente gode nell'uso di un particolare computer e dei file che vi sono memorizzati. È necessario impostarli al fine di prevenire l'uso non autorizzato o accidentale dei file. È prerogativa del processo server del protocollo FTP invocarli. block mode (modalità a blocchi): il file viene trasferito in una serie di blocchi, ciascuno preceduto da uno o più byte d'intestazione. Questa intestazione contiene la lunghezza complessiva del blocco espressa in byte, così da permetterci d'identificare dove inizierà il prossimo blocco, e un codice di descrizione che ci dice se questo è l'ultimo blocco del file, l'ultimo blocco del record, oppure se il blocco contiene dati che potrebbero essere stati alterati e che quindi non vanno considerati attendibili. Quest'ultima indicazione non serve tanto da meccanismo di correzione dell'errore all'interno del protocollo quanto come indicazione alla fonte nel caso in cui le informazioni vengano lette da supporti magnetici soggetti a usura (come i nastri) e si voglia co munque trasferirle a qualsiasi richiedente anche nel caso in cui non fosse possibile leggerne una parte. byte size (dimensione del byte): esistono due possibili dimensioni del byte in ambito FTP: quella usata per determinare la dimensione logica del file e quella impiegata per il trasferimento. La seconda viene sempre espressa in byte da 8 bit, ma non necessariamente coincide con la dimensione di byte che verrà usata nel memorizzare il file sul disco rigido del sistema oppure con la dimensione di byte che servirà da metro di riferimento per interpretare la struttura dei dati contenuti all'interno del file medesimo (fine del file, suddivisione di questo in record e via dicendo). comandi FTP: un insieme di comandi che comprendono anche l'informazione di controllo che fluisce dal processo FTP dell'utente al processo FTP del server. compressed mode (modalità compressa): i dati vengono spediti in modalità compressa, separando i dati di tipo generico, inviati nella forma usuale di una stringa di testo, i dati compressi, dove tutte le ripetizioni vengono rappresentate con una coppia di byte (in cui è contenuto il singolo byte che si ripete più il numero delle ripetizioni), e le informazioni di controllo. control connection (connessione di controllo): il percorso di comunicazione tra la USER-PI e la SERVER-PI che viene usato per scambiare comandi e risposte a tali comandi. Questa connessione segue le regole definite dal protocollo Telnet. data connection (connessione di trasferimento dati): una connessione full duplex (ricezione e trasmissione contemporanee) sulla quale vengono trasferiti dati di un tipo specificato e secondo una modalità specifica. I dati trasferiti possono costituire la porzione di un file, un file intero oppure diversi file. Il percorso può unire un server-DTP e un user-DTP oppure due server-DTP. data port (porta di trasferimento dati): il processo (modulo di programma) passivo "ascolta" quel che avviene sulla porta di trasferimento dati nell'attesa che il processo di trasferimento attivo gli comunichi di aprire una connessione di trasferimento dati. data structure (struttura dei dati): in aggiunta a definire il tipo di rappresentazione da usare per i dati (type) il protocollo FTP consente anche d'impostarne la struttura scegliendo da tre possibili alternative: file structure, record structure e page-structure. DTP (Data Transfer Process - processo di trasferimento dati): un processo (modulo di programma) che attiva e gestisce la connessione di trasferimento dati. Il DTP può essere passivo oppure attivo. EBCDIC type: uno dei quattro tipi di rappresentazione (type) usato per difetto dal protocollo FTP quando trasferisce un file o una porzione di questo. Si usa in tutti quegli ambienti dove entrambe le macchine (host) usano il codice Extended Binary Coded Decimal Interchange Code. Il suo impiego è limitato soprattutto al mondo dei mainframe IBM. È sostanzialmente identico al tipo ASCII, dal quale si differenzia solo per la codifica dei caratteri. End-of-Line (fine della riga): una sequenza di caratteri che segna la separazione tra una riga e l'altra nell'invio di un documento alla stampante. La sequenza è un Carriage Return (codice ASCII 13 - ritorno a capo) seguito da un Line Feed (codice ASCII 10 - avanzamento riga) il che corrisponde alle due azioni che si compiono manualmente quando si ritorna a capo con una macchina per scrivere: si riporta il carrello all'inizio della corsa e si fa avanzare il foglio alla riga successiva. EOF (End Of File - fine del file): una particolare condizione che definisce il termine del file che si sta trasferendo. EOR (End Of Record - fine del record): una particolare condizione che definisce il termine del record che si sta trasferendo. error recovery (correzione o recupero dell'errore) una procedura che consente di rimediare al verificarsi di una certa condizione di errore, come il blocco di uno dei due sistemi coinvolti nel trasferimento oppure l'interruzione prematura del trasferimento medesimo. In ambito FTP il recupero dell'errore può voler dire riprendere il trasferimento a partire da un check point (punto di verifica intermedio) precedentemente definito dai due sistemi. file: un insieme ordinato di dati in formato riconoscibile da un computer (il che include anche file di programma), di lunghezza arbitraria, identificato in modo univoco da un percorso di memorizzazione su disco (pathname). file-structure (struttura in formato file): il file viene visto come un'entità singola senza divisioni interne, vale a dire una sequenza continua e ininterrotta di byte. Si tratta della struttura assunta per difetto dal protocollo FTP. image type (tipo immagine): uno dei quattro tipi di rappresentazione (type) usato per difetto dal protocollo FTP quando trasferisce un file o una porzione di questo. I dati vengono trasferiti come sequenza di bit contigui, suddivisi in byte da 8 bit. La macchina ricevente deve memorizzare i bit contigui nell'esatta sequenza con cui gli arrivano, aggiungendo eventuali bit di riempimento (tutti 0) se richiesto dal particolare file system in uso (dove la dimensione dei file di solito è il multiplo di qualche valore costante e non può essere determinata con la precisione del singolo bit). Tale riempimento deve, poi, essere eliminato in fase di recupero del file dal disco. Questo tipo viene usato per trasferire programmi e file binari in generale, tra cui anche le immagini (da cui il nome). local type (tipo locale): uno dei quattro tipi di rappresentazione (type) usato per difetto dal protocollo FTP quando trasferisce un file o una porzione di questo. I dati vengono trasferiti in byte logici che hanno la dimensione uguale a quella specificata da un secondo parametro obbligatorio, chiamato byte size. Tale valore deve essere un numero intero decimale e non esiste nessun valore assunto per difetto. La dimensione logica del byte non coincide necessariamente con la dimensione di byte usata nel trasferimento. Se esistessero differenze tra i due valori, la macchina ricevente dovrebbe memorizzare tutti i byte ricevuti uno contiguo all'altro, senza tener conto della separazione arbitraria introdotta in fase di trasferimento, e dovrebbe anche aggiungere eventuali bit di riempimento alla fine del file (vedi image type). Il formato di memorizzazione finale dipenderà dalle caratteristiche del file system usato sulla macchina locale, anche se dovrà sempre essere possibile eseguire l'operazione inversa e recuperare il dato nel formato originario. Ad esempio se un numero a 36 bit viene trasferito a una macchina che memorizza le informazioni in word da 32 bit (la word è l'unità di memorizzazione interna usata da un particolare computer) bisognerebbe trasferire i dati come local type attribuendo una dimensione di byte logico di 36 bit. Sulla macchina ricevente questo dato verrebbe registrato su due word da 32 bit occupando 64 bit. mode (modo): la modalità in cui i dati vengono trasferiti attraverso la connessione di trasferimento dati. Il modo specifica anche il formato di trasferimento il che comprende anche come indicare le condizioni di EOR e di EOF. I modi di trasmissione previsti da FTP sono: stream mode, block mode, compressed mode. NVT (Network Virtual Terminal -- terminale virtuale di rete): un tipo particolare di terminale definito dal protocollo Telnet. Si tratta di un dispositivo immaginario (emulato via software) che fornisce la rappresentazione standard di un terminale canonico collegato in rete. In questo modo si evita di dover registrare sul server e sulla macchina dell'utente le caratteristiche fisiche di ogni singolo terminale impiegato. Tutti i server e tutte le macchine utenti (host in entrambi i casi) mappano le proprie caratteristiche fisiche su quelle standard dell'NTV e assumono che anche la macchina all'altro estremo stia facendo altrettanto. Tra i vincoli imposti dall'NTV abbiamo l'impiego di una codifica ASCII a 7 bit (senza lettere accentate). NVFS (Network Virtual File System - file system virtuale di rete): un concetto che definisce un file system standard per l'intera rete, il che si estende alla standardizzazione dei comandi e della convenzione per i percorsi di registrazione (pathname). page (pagina): un file può essere strutturato in un insieme di parti indipendenti, chiamate pagine. FTP consente la trasmissione di un file nella forma discontinua e frammentata di pagine indicizzate indipendenti. page-structure (struttura a pagine): il file è suddiviso in pagine indicizzate singolarmente. Viene usato per accedere a file cosiddetti discontinui ai quali si vuole accedere in modo casuale (cioè non cominciando necessariamente dall'inizio). È utile quando si vuole andare a leggere solo una sezione del file oppure quando si vuole prelevare una descrizione o qualche altra informazione che è collegata al file. Ogni pagina contiene una propria intestazione che la identifica in sequenza e che indica anche la quantità di byte contenuti in quella particolare pagina, dichiarando tra l'altro se si tratta di una pagina singola, dell'ultima pagina, di una descrizione oppure di una pagina il cui accesso è regolato da privilegi. pathname (percorso di memorizzazione): il pathname è quella sequenza di caratteri che deve essere fornita dall'utente al file system per poter identificare un particolare file. Il pathname contiene di solito nomi di dispositivi (il disco oppure la macchina nel caso in cui la ricerca si estenda alla rete) oppure di directory, oltre che l'indicazione del nome specifico di un particolare file. FTP non specifica alcuno standard per la convenzione da adottare nello specificare un pathname, l'utente deve perciò seguire le convenzioni definite dal particolare sistema operativo coinvolto nel trasferimento file. Un esempio di pathname è C:\DOS\FILE.DOC un altro esempio è /bin/ftp-list. PI (Protocol Interpreter - interprete di protocollo): il lato client e il lato server del protocollo svolgono ruoli differenti attraverso l'impiego rispettivamente di uno user-PI e un server-PI. record: un file sequenziale può essere strutturato nella forma di diverse parti contigue chiamate record. FTP può gestire file strutturati in record, ma non richiede che lo siano obbligatoriamente. record-structure (struttura a record): il file di testo è suddiviso in una sequenza di record. reply (risposta): la reply è una conferma di ricezione (acknowledgement) positiva oppure negativa inviata dal server all'utente per mezzo della control connection in risposta a un comando FTP. La forma generica di questa risposta è un codice di completamento (che include anche la segnalazione di eventuali errori) seguito da una stringa di testo (un insieme sequenziale di caratteri). I codici servono da indicazione ai programmi che usano l'FTP in modo automatico mentre il testo serve da spiegazione per gli utenti che trasferiscono file con procedura manuale. server-DTP (server-Data Transfer Process - processo di trasferimento dati del server): questo processo, se posto nella condizione di "attivo", crea la connessione con la porta di trasferimento dati che si trova in "ascolto" (L Port) e predispone i parametri per avviare il trasferimento e per la registrazione del file, dopodiché attiva il trasferimento vero e proprio su comando del proprio PI. Se posto nella condizione di "passivo", questo processo attende e "ascolta" in attesa che qualcuno dall'esterno chieda una connessione sulla porta di trasferimento dati. server-FTP process (processo FTP del server): un processo oppure un insieme di processi che eseguono il trasferimento di dati in cooperazione con uno user-FTP process oppure in abbinamento a un altro server. La funzione comprende un PI (interprete di protocollo) e un processo per il trasferimento dati vero e proprio (DTP). server-PI (server-Protocol Interpreter - interprete di protocollo del server): l'interprete di protocollo del server "ascolta" quel che succede sulla porta L (L Port, alias listening port o porta di ascolto) per determinare se è stata attivata una connessione da qualche user-PI, dopo di che attiva una control communication connection. Riceve comandi FTP standard dalla user-PI, invia le risposte e governa il funzionamento del server-DTP. stream mode (modalità a flusso continuo): si tratta della modalità assunta per difetto dal protocollo FTP. Il file viene trasferito nella forma di un flusso continuo di byte e la fine del file viene segnalata semplicemente dal server che chiude la connessione di trasferimento dati (data connection). Può capitare che la connessione venga chiusa prematuramente e che il vostro browser segnali come completa la ricezione di un documento che è stato scaricato solo parzialmente. type (tipo): il tipo di rappresentazione usato per il trasferimento dei dati e per la loro registrazione su disco. La definizione di tipo implica alcune trasformazioni tra il formato ricevuto durante la trasmissione e il formato che verrà effettivamente trasferito su disco. I tipi previsti da FTP sono: ASCII, EBCDIC, image (binario), local (dipendente dal tipo di macchina - host - che riceve). user (utente): una persona o un processo che funziona per conto di una persona che desideri attivare un trasferimento di file. L'utente umano può interagire direttamente con un processo server-FTP, tuttavia è preferibile ricorrere a un processo user-FTP poiché questo filtra le complessità d'interazione e perché l'FTP è stato concepito in favore dell'automazione. user-DTP (user-Data Transfer Process - processo di trasferimento dati dell'utente): questo processo "ascolta" la porta di trasferimento dati per sentire se è in arrivo una connessione dal processo server. Se il trasferimento interessa due server, allora lo user-DTP rimane inattivo. user-FTP process (processo FTP dell'utente): un insieme di funzioni, tra cui anche un interprete di protocollo, un processo di trasferimento dati e un'interfaccia utente, che insieme svolgono l'operazione di trasferire un file in collaborazione con uno o più processi FTP sul server. L'interfaccia utente consente di usare il linguaggio locale nel dialogo con l'utente e nella visualizzazione delle risposte provenienti dal server. user-PI (user-Protocol Interpreter - interprete di protocollo dell'utente): l'interprete di protocollo dell'utente inizia la control connection dalla porta U (U Port, alias user port, porta dell'utente) verso il processo FTP sul server, dà avvio ai FTP e governa lo user-DTP nel caso in cui quest'ultimo processo partecipi al trasferimento del file. Come funziona Tra i vari protocolli usati su Internet, FTP ha la peculiarità di mantenere attive nello stesso tempo due connessioni logiche tra le due macchine interessate al trasferimento. La prima di queste connessioni serve a instaurare una connessione di controllo (quella che regola l'andamento delle operazioni) mediante il protocollo Telnet. E' in questa fase che avviene il logon iniziale (in cui il server chiede il nome e la password dell'utente entrante, oppure attende l'arrivo della parola anonymous seguita dall'indirizzo di posta elettronica dell'utente al posto della password nel caso in cui si stia usando FTP in modo anonimo). Sulla control connection viaggiano tutti i comandi FTP e perciò la connessione va mantenuta attiva per tutta la durata della trasmissione e va chiusa su istruzione dell'utente solo quando la sessione di collegamento giunge al termine. Spetta all'utente avviare la connessione di controllo rivolgendosi al proprio interprete di protocollo (user-PI); questo resterà attivo per tutta la durata della sessione e fungerà da intermediario tra la rete e il disco della macchina locale, pilotato direttamente dallo user-DTP, oltre che da referente per il server-PI all'altro estremo con il quale scambierà i comandi impostati dall'utente (oppure dal programma che questi sta utilizzando) e le risposte del server. Dopo aver creato la connessione, bisogna selezionare la directory remota in cui si trova il file che si vuole prelevare e la directory locale in cui questo dovrà essere registrato (usando il comando cd [nome] e altri se necessario). Fatto questo, s'impostano gli eventuali parametri della trasmissione (tipo e struttura del file e modalità di trasferimento che nelle varie combinazioni ci danno 72 modi possibili) e infine si attiva il trasferimento vero e proprio con i comandi get o retr [nomefile] per prelevare e put o stor [nomefile] per inviare (i comandi viaggiano sulla connessione di controllo secondo il formato NVT di Telnet). Se l'operazione viene eseguita dall'interno di un browser Web, tutte queste operazioni saranno schermate e il prelievo verrà attivato attraverso un collegamento ipertestuale che segnala il nome del file all'interno di una pagina HTLM oppure mediante una finestra che mostra il contenuto della directory del server. Usando un'utility o un programma specifici per FTP oppure i comandi diretti, si ha il vantaggio di usare i caratteri jolly (*) e di attivare in questo modo il prelievo contemporaneo di diversi file, anziché doverli prendere uno alla volta. È possibile interrompere il trasferimento in qualsiasi momento mediante il comando quit che chiude definitivamente la connessione oppure close che interrompe l'invio mantenendo la connessione attiva (oppure attraverso la funzione di sospensione prevista dal programma in uso). Nel rapporto tra utente e server, una volta inviati i comandi che specificano la modalità di trasferimento e che chiedono l'attivazione di quest'ultimo, la user-DTP rimane in ascolto sulla propria porta (U Port) in attesa che il server inizi la data connection e il trasferimento dati vero e proprio. La porta utente potrebbe anche trovarsi su una macchina diversa da quella che ha attivato la control connection, in tal caso, però, bisogna assicurarsi che la macchina di destinazione sia pronta a ricevere. Trattandosi di una connessione full duplex, la data connection può essere usata per ricevere e trasmettere contemporaneamente. Nel caso in cui si volesse attivare dalla propria stazione utente il trasferimento a distanza tra due server, basta creare la data connection tra le due macchine interessate, mantenendo attiva sulla propria macchina la connessione di controllo. Durante la connessione il programma FTP utilizza una well known port che corrisponde ai numeri 20 e 21.

 Indietro