F

FAQ

Frequently Asked Questions. Sono le domande più frequenti che riguardano un particolare argomento (o un determinato prodotto hardware o software) poste direttamente ai costruttori, o ai tecnici competenti, dagli utenti.

FAT

File Allocation Table - tabella di allocazione dei file. Il file system utilizzato dal DOS e dalle versioni a 16 bit di Windows (quelle precedenti a Windows95) per governare i file registrati su dischi rigidi, floppy disk e altre unità disco. Il nome del file system deriva da una struttura di dati, la file allocation table, che viene registrata sul disco medesimo e che indica la posizione sul disco di ciascuna porzione che compone ogni file. Ogni disco viene suddiviso in settori da 512 KByte e la FAT dice in quale settore si trova l'inizio del file e in quali altri settori si trova la parte rimanente.

FAT32

File Allocation Table32 - tabella di allocazione dei file a 32 bit. La nuova versione di FAT che Windows 95 utilizza per creare sui dischi partizioni di capacità superiore ai 2 GByte. Mantenendo i cluster alla dimensione tradizionale della FAT, vale a dire 512 Byte, è possibile arrivare a partizioni di 128 GByte, usando invece cluster da 8 KByte, le partizioni arrivano a 2 Terabyte. È chiaro che con cluster di dimensioni maggiori l'efficienza di utilizzo diminuisce visto che basta un byte che deborda dal penultimo cluster per avere la quasi totalità dell'ultimo cluster sprecato, spreco tanto maggiore quanto è maggiore la dimensione del cluster. Viene anche modificato il settore di bootstrap del disco al fine di creare un cluster iniziale a 32 bit invece che a 16 bit.

FDDI

Fiber Distributed Data Interface - interfaccia per la distribuzione dei dati via fibra ottica. Una rete a 100 Mbit per secondo che trasmette i pacchetti d'informazioni su un anello in fibra a cui sono collegate tutte le macchine. Per sicurezza l'anello può essere doppio e in tal caso i pacchetti girano in senso inverso nei due anelli così che il secondo possa trasformarsi nella prolunga del primo in caso d'interruzione di quest'ultimo, o viceversa. Considerato l'elevato costo della posa di una rete in fibra questa soluzione viene utilizzata prevalentemente per dorsali che interconnettono tra loro altre reti locali più lente (con cablaggio in rame). L'uso della fibra ottica consente di arrivare a distanze di almeno due chilometri. Per distanze inferiori è possibile usare la stessa tecnica trasmissiva su cavi in rame, in questo caso il nome della rete diventa CDDI (Copper Distributed Data Interface).

FIBRE OTTICHE

Sottili filamenti di vetro oppure di plastica che vengono utilizzati per trasmettere dati. Un cavo in fibra ottica contiene diverse fibre individuali, ciascuna capace di convogliare impulsi luminosi a una velocità prossima a quella della luce. Al punto ricevente troviamo un dispositivo che riconverte in impulsi elettrici gli impulsi luminosi che arrivano attraverso il cavo. Le fibre ottiche vengono utilizzate per le trasmissioni su lunga distanza e garantiscono un'elevata immunità ai disturbi elettromagnetici e alla radioattività, una banda passante molto ampia e la quasi impossibilità di eseguire intercettazioni.
Esistono tre tipi di fibre ottiche: monomodali step-index, multimodali step-index, multimodali graded-index, ciascuno con un proprio tipo di efficienza e con un numero massimo di segnali ottici che possono essere convogliati simultaneamente sullo stesso filamento. Il primo impiego delle fibre risale al 1953 quando Kapany mire a punto fibre ottiche di vetro con le quali, qualche anno dopo, realizzò i primi endoscopi a fibra ottica insieme a Hopkins. Nel 1970 i rivercatori della Corning Glass Works riescono a costruire la prima fibra con un'attenuazione abbastanza ridotta (sufficientemente pura) da trasmettere dati. Nel 1997, a Chicago, AT&T conduce il primo esperimento di trasmissione sul campo.

FIDONET

Rete internazionale di BBS amatoriali, che consente agli utenti abilitati di scambiarsi messaggi chiamando sempre la BBS affiliata più vicina anche se il destinatario del messaggio è lontanissimo. Il messaggio rimbalza da una BBS all'altra fino a raggiungere il destinatario.

FILE

(inglese: archivio), in informatica, indica un insieme di documenti (records ) o di dati omogenei memorizzati sotto uno stesso nome o etichetta. I file rappresentano il mezzo più pratico per conservare e organizzare informazioni su un computer, e possono essere di vario genere: programmi, dati numerici, immagini, musica o testo.

FILE BATCH

Sono file che contengono uno o più comandi batch (dotati cioè dell'estensione .BAT) in forma di testo. Le istruzioni contenute in un file batch sono, in pratica, dei normali comandi DOS che si possono inserire anche direttamente da tastiera, e si occupano di configurare e controllare automaticamente alcuni aspetti del funzionamento del PC, per adattarli al meglio al funzionamento di un certo programma. Un file batch è anche un comodo strumento a disposizione per eseguire rapidamente una sequenza di comandi che si utilizzano spesso: una volta creato il file con l'elenco delle istruzioni, basterà digitare il nome del file batch (senza l'estensione .BAT) per lanciare i comandi che verranno eseguiti uno dopo l'altro. Il file batch più importante per ogni PC si trova nella directory principale del disco fisso, ed è il file autoexec.bat. Questo file viene eseguito automaticamente ad ogni accensione del PC, e serve per impostare e configurare il computer e le sue periferiche. Per visualizzare, ed eventualmente modificare, il contenuto di un file batch, è sufficiente usare il comando TYPE del DOS, oppure un qualsiasi programma di scrittura, avendo cura di salvare il documento che si elabora sotto forma di file testuale.

FILE BINARIO

E' un file che non contiene i soli caratteri del codice ASCII. Sono un esempio di file binario i file eseguibili, quelli grafici, i file generati da elaboratori di testo o fogli di calcolo. Si tratta di file difficili da visualizzare e da gestire se non si ha a disposizione un programma compatibile con il loro formato. Quindi è possibile visualizzare e modificare un documento di tipo binario solo utilizzando lo stesso programma che l'ha generato, oppure utilizzando particolari procedure di conversione dei dati.

FILE DI SCAMBIO

Quando la memoria del PC risulta insufficiente a far girare correttamente alcune applicazioni, in ambiente Windows, si ricorre come risorsa estrema ad una forma di memoria 'virtuale'. Windows, in pratica, è in grado di utilizzare una porzione del disco fisso come se fosse memoria RAM, organizzando i dati in un particolare file nascosto, che viene detto file di scambio. Windows 3.1 crea un file di scambio fisso, le cui caratteristiche non possono cambiare durante il funzionamento; Windows 95, invece, è in grado di creare un file di scambio di tipo dinamico, più adattabile alle diverse necessità.

FILE GRAFICI

Sono i file che contengono immagini, e possono essere memorizzati in vari formati differenti, a seconda del programma che è stato usato per generare ed elaborare l'immagine stessa. Le estensioni che distinguono i formati più comuni sono .BMP, .TIF, .JPG, .GIF, .PCX. Per riuscire a vedere correttamente un'immagine grafica sul proprio computer bisogna prima assicurarsi di disporre di un programma di visualizzazione in grado di distinguere il formato dell'immagine che si intende utilizzare. Microsoft Paint, per esempio, è in grado di visualizzare solo immagini in formato Bitmap (.BMP) e Paintbrush (.PCX).

FILE SERVER

Il file server è un computer su una rete locale da cui gli utenti possono prelevare dei file. Filtro - Metodo che nei collegamenti in rete esamina automaticamente i dati in arrivo e blocca quelli indesiderati (che verificano alcune condizioni predefinite).

FILE SHARING

Significa condivisione di file. Sistema che consente ad un utente di condividere i propri file con altri utenti connessi alla rete.

FILE SYSTEM

Struttura logica presente su ogni memoria di massa (Hard Disk, CD-ROM eccetera), che tiene traccia dei file presenti sul disco e li organizza in "cartelle", chiamate directory. Esistono molti tipi di file system, a seconda del tipo di disco e del sistema operativo, come FAT e FAT32 per DOS/Windows 95/98, NTFS per Windows NT o ext2fs per Linux. Vedi FAT, NTFS, Partizione.

FIREWALL

Un meccanismo hardware e/o software che permette d'impostare restrizioni sull'accesso a uno o più computer collegati a Internet, normalmente per motivi di sicurezza.

FIRMWARE

Un tipo di programma permanente, strettamente collegato all'apparecchiatura su cui è memorizzato. Il nome deriva da un abbinamento tra software e firm, un aggettivo che in inglese significa stabile, fermo, immutabile. Nel firmware vengono registrate le funzioni che la macchina esegue al proprio avvio e tutte le funzioni di comunicazione con l'esterno che la macchina adopera di continuo. Talvolta il firmware riunisce la totalità delle funzioni che l'apparecchiatura dovrà svolgere, come nel caso di una lavatrice computerizzata, di un telefonino, di un videoregistratore, di una calcolatrice, di un modem e via dicendo.
Viene registrato dalla fabbrica in una memoria permanente così che sia disponibile non appena la macchina viene accesa senza dover ricorrere a nessun dispositivo di memoria convenzionale: disco rigido, floppy disk, nastro o altro. Agli inizi, alcuni attribuivano il significato della parola firmware al fatto che firm in inglese vuole anche dire azienda e perciò indica il software registrato sull'apparecchiatura direttamente dalla casa produttrice.
Oggi è spesso possibile modificare il firmware per conto proprio utilizzando aggiornamenti distribuiti dal produttore. Un esempio classico in questo senso è l'aggiornamento delle funzioni di un modem oppure del BIOS di un PC.
Il firmware da principio veniva registrato su memoria ROM (Read Only Memory - memoria a sola lettura) non più modificabile se non tramite sostituzione della memoria medesima. La ROM veniva prodotta fabbricando speciali chip di silicio su specifica del cliente oppure utilizzando una speciale apparecchiatura che "bruciava" alcuni fusibili all'interno della memoria così da memorizzarvi le informazioni in modo indelebile. In questo secondo caso di parlava di PROM (Programmable Read Only Memory - ROM programmabile). Una volta eseguita la bruciatura, l'informazione non era più alterabile. Successivamente fu sviluppata una speciale versione di PROM che poteva essere cancellata con l'applicazione dei raggi ultra violetti. L'oggetto si chiamava EPROM (Erasable Programmable Read Only Memory - ROM programmabile e cancellabile) e disponeva di una finestrella di vetro o di plastica direttamente sopra al chip così che questo potesse essere irradiato dalla luce di cancellazione. L'intervento doveva comunque essere eseguito dalla fabbrica e non era molto pratico così furono sviluppate le EEPROM (Electrically Erasable ROM - ROM cancellabili elettricamente) che, come dice il nome, potevano essere cancellate usando un impulso elettrico. In questo caso di poteva utilizzare la stessa apparecchiatura sia per scrivere le informazioni sia per cancellarle, operazione che comunque doveva essere eseguita in fabbrica. Oggi nei computer si utilizzano le Flash ROM, un tipo particolare di EEPROM in cui le informazioni possono essere scritte senza togliere il chip di memoria dall'apparecchiatura in cui risiede, il che consente di eseguire aggiornamenti anche fuori dalla fabbrica, con l'intervento di un tecnico o dell'utente medesimo. In alcuni computer, le Flash ROM sono modificabili anche a distanza il che rende l'aggiornamento del firmware semplice quanto l'aggiornamento di un comune software.

FLASHPIX

Un formato di memorizzazione sviluppato alla fine degli anni Novanta espressamente per le fotocamere digitali. E' concepito in modo da fornire, per ciascuna immagine, un buon livello di compressione e diverse risoluzioni possibili, così da facilitarne l'impiego in tutti i contesti possibili: dal desktop publishing, alla stampa di fotografie di uso personale alla pubblicazione di immagini su World Wide Web.
Un nuovo formato per memorizzare, visualizzare, distribuire e modificare fotografie digitali a risoluzioni multiple, sviluppato da Kodak, Hewlett-Packard, Microsoft e Live Picture. Ha un buon rapporto di compressione e si presta alla distribuzione di fotografie via Internet oltre che all'aggiunta di commenti audio a ciascuna fotografia. La promozione di questo formato è affidata al Digital Imaging Group, un consorzio a cui partecipano, oltre alle società indicate sopra, anche Intel, IBM, Adobe, Canon e Fuji.
L'immagine viene memorizzata nella forma di una serie di matrici indipendenti, ciascuna delle quali rappresenta una diversa risoluzione, ma che aggiungono solo circa il 30% all'occupazione che l'immagine avrebbe compressa alla sua massima risoluzione. Mediante questo sistema si sceglie la risoluzione più adatta al lavoro che si deve svolgere e si preleva unicamente la matrice corrispondente, invece dell'intero file che dovrebbe poi essere ridimensionato in locale. Serve un software predisposto a riconoscere il formato e a gestirlo in modo appropriato. La compressione è di tipo JPEG sull'intera immagine e si può selezionare anche il singolo colore.

FLASH MEMORY

Memoria flash. Un tipo particolare di memoria EEPROM (Electrically Erasable Programmable Read Only Memory) che può essere cancellata e riprogrammata senza bisogno di sostituirla o di estrarla. Di solito la riprogrammazione avviene per mezzo dimpulsi elettrici generati dal PC su comando di uno speciale software di configurazione fornito dalla casa.
Questa memoria viene utilizzata per mantenere la configurazione della macchina e conserva le proprie informazioni anche quando il computer viene spento, tant'è che la scheda su cui risiede può essere trasferita in un altra macchina e ancora conservare tutti i dati in memoria. La memoria flash viene anche utilizzata come memoria per le fotocamere digitali, sottoforma di schedine in miniatura che simulano il funzionamento di un "rullino digitale" capace di conservare le fotografie a tempo indeterminato anche dopo che lo è estratto dalla fotocamera.
Le EEPROM tradizionali devono essere estratte dalla macchina e scritte o riscritte attraverso uno speciale dispositivo chiamato lettore di PROM. Il nome flash deriva dalla velocità con cui è possibile cancellarle e riscriverle.

FLASH ROM

E' una memoria simile alla EPROM: normalmente è di sola lettura, come la memoria ROM, ma può essere cancellata e quindi riprogrammata attraverso una particolare procedura. Vedi anche Eprom.

FLAT

Tariffa unica offerta dal fornitore del servizio (v. Provider). In pratica un canone fisso che si applica indipendentemente dalle ore di collegamento.

FLOPPY DISK

Un supporto di memoria composto da un disco di plastica flessibile sulle cui due facce è stato depositato uno strato magnetico capace di ritenere dati in formato binario. Il dischetto è a sua volta contenuto in un involucro di plastica che lo protegge, facilitandone la manipolazione, permettendone tuttavia la lettura attraverso due fessure predisposte nella plastica. Quando viene inserito nel computer, le fessure di accesso sono posizionate in corrispondenza delle testine di lettura e scrittura (una per faccia) e il disco viene fatto girare ogni volta che bisogna leggere o scrivere informazioni. La capacità tipica di un floppy disk è di 1,44 MByte.
L'involucro di plastica è concepito in modo da poter impedire la modifica del contenuto del dischetto. Si apre un foro, solitamente coperto da una linguetta in plastica incapsulata nell'involucro, e quando s'inserisce il dischetto nel computer un sensore ottico rileva l'apertura del foro e impedisce le operazioni di scrittura, permettendo solo la lettura. Questo è utile quando ci sono dati che non si vuole modificare accidentalmente, come nel caso di un dischetto di sistema, contenente il sistema operativo con cui avviare il computer.

FONTE SCALABILE

Una fonte costruita nelle dimensioni richieste a partire da un modello che definisce matematicamente il tipo di carattere a cui corrisponde. Può essere riprodotta in qualsiasi dimensione e comprende tutti gli elementi di quella particolare fonte: lettere, numeri, segni d'interpunzione, simboli, eccetera. Non ha un aspetto curato quanto quello di una fonte bitmap costruita ad hoc per ciascuna delle dimensioni previste, tuttavia offre il vantaggio di occupare poco spazio in memoria visto che non è più necessario memorizzare sul disco del computer o sul disco della stampante dozzine di modelli differenti per ciascuna fonte (una per ogni dimensione del carattere), ma ne basta uno solo. La fonte scalabile viene convertita in una fonte bitmap (insieme di punti) della dimensione richiesta quando si va in stampa. La conversione può essere seguita dal computer oppure direttamente dalla stampante se questa dispone di un processore proprio.
Le principali fonti scalabili sono quelle del linguaggio PostScript di Adobe e le TrueType sviluppate da Apple/Microsoft.

FOREGROUND

Si tratta di un termine usato negli ambienti in cui è possibile eseguire contemporaneamente diversi processi. Ogni processo ha una sua priorità, cioè un numero che indica quante risorse del sistema gli sono assegnate. Un processo in foreground è quello con priorità più alta, ovvero quello con cui l'utente interagisce direttamente.

FORM

Modulo on-line composto da spazi (campi) da compilare. Un esempio di Form è dato dal modulo che si compila durante la prima connessione per l'accesso ad Internet.

FORMATO VETTORIALE

Un tipo di grafica dove l'immagine viene costruita come insieme di punti, di linee e di figure geometriche e dove la costruzione delle varie linee che compongono queste figure avviene mediante l'identificazione del punto d'inizio e di fine, del colore, dell'orientamento e dello spessore, senza dover definire ogni singolo punto, come invece avviene nella grafica bitmap.
I file che contengono le immagini in formato vettoriale sono relativamente piccoli poiché contengono unicamente le coordinate essenziali per costruire i vari elementi. Spetta poi alla scheda video o al calcolatore eseguire le operazioni geometriche per ricavare tutti gli altri punti da visualizzare sullo schermo o stampare sulla carta.
Rispetto al formato bitmap, il formato vettoriale è facilmente modificabile (basta cambiare le coordinate dei punti) e si presta a riduzioni e ingrandimenti senza alcuna perdita di qualità.

FORMATTARE

Preparare un disco in modo da renderlo identificabile per poterlo impiegare correttamente.

FORNITORE DI INDIRIZZI

Detti anche registry, sono le autorità che attribuiscono gli indirizzi di Internet; per l'Italia è il GARR-NIS; per l'Europa il Ripe.

FORTRAN

E' un linguaggio di programmazione di alto livello usato soprattutto alla fine degli anni '50 per risolvere complessi problemi scientifici e calcoli matematici. Nelle strutture e nell'organizzazione delle operazioni (anche se non nella sintassi vera e propria) assomiglia in qualche modo al Basic. Il suo nome deriva dalla contrazione dei termini inglesi Formula Translator, cioè traduttore di formule, che ne sottolinea gli intenti principalmente rivolti al calcolo matematico.

FOTORITOCCO

Software che permette la manipolazione e la modifica di immagini tramite l'applicazione di effetti grafici e l'utilizzo di strumenti come pennelli, gomme da cancellare e zoom.

Fps

Frame per second - fotogrammi al secondo. E' il numero di volte che lo schermo viene aggiornato con un'immagine nuova o, guardando le cose dalla prospettiva della scheda 3D: è il numero di immagini al secondo che quest'ultima e la CPU riescono a generare ad una data risoluzione, profondità di colore e refresh del monitor.

FPU

Floating Point Unit - unità per il calcolo in virgola mobile. Un termine formale per indicare quello che più comunemente è conosciuto come coprocessore matematico (un'altra denominazione è quella di Numeric Data Processor - NDP). L'Intel 80387 è un esempio di coprocessore matematico esterno da aggiungere all'80386 che ne era sprovvisto. Dal 486 in avanti tutti i processori Intel lo hanno incorporato al proprio interno con l'unica eccezione del 486SX (versione a basso costo del 486). Il processore primario nasce per eseguire unicamente calcoli sui numeri interi e quando deve affrontare calcoli più complessi diminuisce sensibilmente la propria efficienza. La FPU è specializzata nel calcolo in virgola mobile, particolarmente utile nelle applicazioni scientifiche e d'ingegneria, nel CAD e anche in alcune delle funzioni usate nei fogli elettronici.

FRAME

Riquadro. Una finestra visualizzata dal browser che cambia indipendentemente dalle altre. Le frame vengono usate ad esempio da Netscape per separare il testo o la grafica di una pagina dai pulsanti che servono per la navigazione in quel particolare sito e dall'intestazione del sito.

FRAMMENTAZIONE

Quando un file viene memorizzato sul disco fisso, il sistema operativo DOS cerca di salvarlo in un blocco unico. Tuttavia, se il disco fisso ha molto spazio occupato, potrebbe mancare uno spazio sufficientemente ampio per contenere l'intero file. In questo caso, il DOS provvede a suddividere il file in blocchi più piccoli e sfrutta ogni spazio libero a disposizione sul disco per garantirne il salvataggio. Questa suddivisione dei file prende il nome di frammentazione. Un'eccessiva frammentazione può rallentare le operazioni di accesso al disco fisso, per cui è buona regola ricorrere, di tanto in tanto, a una operazione di deframmentazione che ripristini al meglio la corretta dislocazione dei file. Vedi anche Deframmentazione.

FREEWARE

Tipo di software che viene distribuito completamente gratuito. Non è necessario inviare soldi all'autore, sebbene molti programmatori chiedono di inviare una cartolina o un'altra forma di ringraziamento.

FREQUENZA ORIZZONTALE

Espressa in KHz, indica entro un range di frequenze, minima e massima, quante volte in un secondo l'immagine viene rigenerata dal pannello elettronico.

FREQUENZA VERTICALE

Vengono indicate in Hz le due frequenze, minima e massima, che delimitano la gamma delle frequenze di lavoro che il monitor è in grado di accettare per sincronizzarsi sulla frequenza emessa dalla scheda video.

FSML

Financial Services Markup Language, linguaggio basato sul SGML, sviluppato per l'utilizzo di sistemi elettronici di pagamento, quali eCheck e ACH, con tecnologie come il certificato digitale.

FSP

File Service Protocol - protocollo di servizio per il trasferimento file. Un protocollo simile a FTP, che però rispetto a quest'ultimo impegna meno risorse del server. E' stato progettato esclusivamente per accessi di tipo anonimo, quindi non prevede che l'utente specifichi nome e password.

FST

Flat Square Tube. Uno schermo piatto che presenta una superficie frontale leggermente sferica che si curva all'indietro in modo pronunciato ai quattro angoli, come se fosse una palla da basket tagliata a metà. La curvatura frontale è ridotta al minimo, tuttavia è ancora visibile. I fosfori sono disposti a gruppi di tre, uno per ogni colore principale (RGB , rosso, verde e blu). L'accensione contemporanea di tutti e tre produce il colore bianco. La disatanza diagonale tra due fosfori dello stesso colore è chiamata dot pitch. Minore è il dot pitch (passo), maggiore è la definizione dell'immagine.

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 comunque 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.
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z