Telemat Lab's home page


Copyright © 1997 Università di Firenze. All rights reserved.

license available.

 

CORSO DI TELEMATICA
LOGIN REMOTO, TRASFERIMENTO FILE, POSTA ELETTRONICA

di: Massimo Pollini, Samuele Nasorri , Riccardo Antonelli



HYPER HOME Indice gen. Indice prec. Indice locale Indice succ.

Trasferimento File

 

 

slide 1



 

 

Il trasferimento di file è tra le applicazioni più comuni del TCP/IP e rende conto di gran parte del traffico nella rete. Protocolli standard di trasferimento dei file esistevano per l'ARPANET prima ancora che il TCP/IP diventasse operativo.
Ci sono due diversi tipi di condivisione di file: in una il file sta nell'HOST, ne faccio una copia locale, opero su quella, eventualmente la modifico e la rimetto sull'HOST (perchè il file potrebbe essere necessario a più di una persona); nell'altra invece vado ad interagire direttamente con l'HOST e uso la copia dell'HOST per leggere, scrivere e modificare il file. Sono due modi completamente diversi di operare: il primo è esemplificato dall'FTP (File Transfer Protocol) mentre il secondo è implementato dal protocollo NFS (Network File System).
Il problema principale dell'FTP è che se due utenti utilizzano contemporaneamente lo stesso file e lo modificano, rimarrano nell'HOST soltanto le modifiche di colui che ha riscritto il file per ultimo e si perderanno le modifiche apportate dall'altro utente. Questo è un limite che non ha, invece, il protocollo NFS perchè non viene fatta nessuna copia locale, ma si ha una condivisione dei file.
L'FTP svolge altre funzioni, sempre collegate a quella del trasferimento di file, che sono: accesso interattivo, specificazione del formato e controllo del autenticazione. Con quest'ultima caratteristica l'FTP richiede ai client di autorizzare sè stessi trasmettendo al server un nome ed una password di login prima di richiedere trasferimenti di file.
I problemi che si possono incontrare nel trasferimento di file è che i file system non sono uniformi (lunghezza dei nomi di file, riconoscimento caratteri maiuscoli e minuscoli, dati memorizzati a 7 bit o a 8 bit ecc.) e vengono risolti dall'FTP tramite il mascheramento dei file system.



 

 

slide 2



 

 

L' FTP segue un modello client-server. Come altri server, la maggior parte delle implementazioni dell' FTP consentono l'accesso simultaneo da parte di più client. I client usano il TCP per connettersi al server in quanto hanno bisogno di un servizio affidabile. Un singolo processo server master attende le connessioni e crea un processo slave per gestire ciascuna conessione. Tuttavia a differenza della maggior parte dei server, il processo slave non esegue tutti i calcoli necessari. Invece lo slave accetta e gestisce la connesione di controllo dal client, ma impiega uno o più processi per gestire una connessione di trasferimento dei dati.
Di solito sia il client che il server creano un processo separato per gestire il trasferimento dei dati.
Le connessioni di trasferimento dei dati ed i relativi processi che ne fanno uso possono essere creati dinamicamente all' occorrenza, ma la connessione di controllo permane durante un' intera sessione. Una volta che la connessione di controllo scompare, la sessione viene terminata ed il software ad entrambe le estremità termina tutti i processi di trasferimento dei dati.



 

 

slide 3



 

 

La porta n° 20 e la porta n° 21 sono riservate all' FTP (sono porte TCP).
Il processo di controllo va a richiedere una connessione TCP alla porta n° 21 col corrispondente processo di controllo del server; si instaura una connessione bidirezionale attraverso la quale vengono dati i comandi standard dell' FTP che si trovano negli RFC (Request For Comment).
La porta n° 20 è riservata, invece, al trasferimento dei dati.
Al di sotto dei processi di controllo ci sono i processi di trasferimento dati che si interfacciano con i rispettivi file system mascherati.



 

 

 

 

slide 4



 

 

Quando vogliamo effettuare una connessione FTP questo ci chiede sempre un nome ed una password di login, che non viene mai visualizzata. Soltanto in un caso non ci viene chiesta la password: negli anonymous FTP.
Molti server FTP seguono la convenzione di consentire l'FTP anonimo, in cui l' utente non ha bisogno di un' account o di una password per ottenere l' accesso, ma specifica un nome di login anonymous (anonimo) ed una password guest (ospite). Il server ammette i login anonimi, ma restringe l'accesso soltanto ai file disponibili pubblicamente.



 

 

 

 

slide 5



 

 

La suite TCP/IP contiene un secondo protocollo di trasferimento di file, che fornisce un servizio poco costoso e meno sofisticato dell' FTP. Noto come "protocollo di trasferimento di file banale" (Trivial File Transfert Protocol: TFTP), esso è destinato ad applicazioni che non necessitano di complesse interazioni tra il client ed il server. Essendo più restrittivo dell'FTP, il software del TFTP è molto più piccolo. La piccola dimensione è importante soprattutto nelle workstation senza dischi, che codificano il TFTP nelle ROM.
Il TFTP, all'avvio, carica nella memoria RAM il sistema operativo, o parte di esso, direttamente dal server.
Il TFTP generalmente non usa per il trasferimento il TCP, ma l' UDP; trasferisce un pacchetto alla volta ed utilizza un sistema "stop and wait" per il riscontro dei pacchetti.
Il TFTP che utilizza per il trasferimento il protocollo UDP viene sempre utilizzato in reti locali e ciò permette di ridurre ritardi ed errori sui pacchetti.



 

 

slide 6



 

 

Sviluppato dalla Sun Microsystem Incorporated, il Network File System (NFS) fornisce un accesso in linea, trasparente ed integrato, al file condiviso; molte postazioni TCP/IP usano l'NFS per interconnettere i file system dei loro computer.
Dal punto di vista dell'utente l'NFS è quasi invisibile. L'utente può eseguire un arbitrario programma applicativo ed utilizzare file arbitrari per l'input/output. I nomi dei file stessi non indicano se essi sono locali o remoti.



 

 

slide 7



 

 

Quando un programma applicativo viene eseguito, esso chiama il sistema operativo per aprire un file, o per registrare e reperire i dati in un file. Il meccanismo di accesso al file accetta la richiesta e la passa automaticamente al software del file system locale o al client NFS, a seconda che il file risieda sul disco locale o in una macchina remota. Quando riceve una richiesta, il software del client impiega il protocollo NFS per contattare il server appropiato in una macchina remota ed eseguire l'operazione richiesta.
Quando il server remoto risponde, il software del client restituisce i risultati al programma applicativo.



 

 

slide 8



 

 

Anzichè definire il protocollo NFS dall'inizio, i progettisti hanno scelto di realizzare tre pezzi indipendenti: il protocollo NFS stesso, un meccanismo di chiamata di procedura remota (Remote Procedure Call: RPC) di applicabilità generale ed una rappresentazione esterna dei dati (eXternal Data Rappresentation: XDR).
Il loro intento era quello di separare i tre processi per rendere possibile l'uso della RPC e della XDR in altro software (inclusi i programmi applicativi, come pure altri protocolli).




Telemat Lab's home page

HYPER HOME Indice gen. Indice prec. Indice locale Indice succ.