DIPARTIMENTO DI INFORMATICA ED AUTOMAZIONE


     
     

     PROTOCOLLI  DI  COMUNICAZIONE

     
     
     
    • ARP
     
    • FTP
     
    • PPP
     
      • HTTP
     
     
     
     
     
     
    FTP
     
     
    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 logon 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.

    ftp anonimo

    La connessione via Internet a un server contenente file accessibili al pubblico e il prelievo di tali file mediante un programma di trasferimento che usi il protocollo ftp (File Transfer Protocol).

    Si dice anonimo poiché non vengono richiesti il nome e la password dell'utente prima di permettergli di accedere ai file. Quando il sistema remoto richiede il nome dell'utente si risponde digitando "anonymous" e quando richiede la password si fornisce di solito il proprio indirizzo di posta elettronica. Da quel momento in avanti si accede alle directory pubbliche del server e si possono recuperare i file che vi sono depositati impostando il comando get seguito dal nome del file.
    La sessione viene chiusa con il comando quit. Chi usa un browser Web può di solito eseguire la stessa operazione direttamente selezionando col mouse un pulsante oppure una scritta sulla pagina html che è collegata al file in questione: il trasferimento in modalità anonima viene attivato automaticamente senza che l'utente veda alcuno dei passaggi visti prima.
    È invece necessario usare ancora i comandi ftp quando ci si collega a un server ftp puro. Anche in tal caso però, si possono usare utility grafiche (per Windows ad esempio) che semplificano molto l'operazione.
     
    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'nfs (Network File System) sviluppato da Sun.
     

    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.

    È 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.
     


     
     

     
     

    HTTP
     
     
     
    L'elemento cardine per il funzionamento del World Wide Web è il protocollo http (Hypertext Transfer Protocol). Si tratta di un protocollo molto semplice che regola l'interazione tra il nostro browser e il particolare server con cui quest'ultimo di volta in volta si connette a seguito di una nostra richiesta diretta oppure seguendo un rimando ipertestuale. La transazione tra queste due entità si svolge in quattro fasi: connessione, richiesta del documento, risposta e disconnessione. Le prime tre sono di solito segnalate nella finestra del browser con scritte in inglese che ci spiegano cosa sta succedendo. Nella richiesta il browser specifica al server quale protocollo deve essere utilizzato (http oppure ftp o altro ancora) infatti lo stesso browser può essere utilizzato per collegarsi anche con siti che non fanno parte del World Wide Web e che offrono servizi Internet più tradizionali, come appunto lo scaricamento di file attraverso il protocollo ftp (File Transfer Protocol).
    Dopo che la pagina è giunta sulla nostra macchina, la connessione col server s'interrompe e va ripresa quando si chiede di passare a una seconda pagina sul medesimo server oppure a un secondo server. Questo talvolta vale anche per il percorso a ritroso, dove si chiede di visualizzare una seconda volta una pagina che avevamo già visto. L'eventuale presenza di grafica rende questo andirivieni abbastanza lento poichè tutte le volte gli elementi grafici devono essere scaricati di nuovo. Una soluzione pratica per eliminare questo inconveniente consiste nel creare una cache sul disco della nostra macchina o sul server che fa da gateway (porta di accesso verso Internet). Così, ogni volta che chiediamo una pagina già vista, la caricheremo dal nostro disco locale oppure dal disco del server vicino anzichè richiamarla dalla Rete. I software di cache sono entità diverse dai browser e perciò bisogna procurarseli separatamente. Un sistema per non dover scaricare continuamente la stessa pagina (se questa contiene prevalentemente testo) consiste nel salvarla sulla propria macchina come file a sè stante e nel richiamarla dall'interno del browser come si richiamerebbe un qualsiasi documento dall'interno di un word processor (tra l'altro, alcuni programmi di elaborazione dei testi permettono di visualizzare e modificare queste pagine scaricate in locale senza dover ricorrere al browser).
    Il documento che circola sulla rete quando si è connessi a un server Web ha un formato particolare e usa al proprio interno una serie di codici che dicono al browser come visualizzare il testo e le immagini che vi sono associate. Il più diffuso tra i linguaggi usati per questa codifica è l'html (Hypertext Markup Language - linguaggio per la codifica degli ipertesti attraverso marcatori) che costituisce una versione semplificata dell'sgml (Standard Generalized Markup Language - linguaggio di codifica standard e generalizzato). Anche qui l'accento è sulla semplicità, infatti l'html prevede un massimo di 37 marcatori e chiunque può imparare a utilizzarli visto che richiamano lo stesso metodo di codifica in uso sui vecchi wordprocessor per DOS, dove il marcatore indicava la caratteristica di tutte le parole che lo seguivano (diceva ad esempio che erano in corsivo) e doveva essere seguito da un altro marcatore che ne annullava l'effetto.
     
     
     
     
     
     
        Back to previous page
     
     
     
    Dott Ing. ALDO NECCI 
    Dipartimento di Informatica ed Automazione 
    Universita' degli Studi "Roma Tre" 
    Via della Vasca Navale, 79 
    ROMA
      send mail e-mail: necci@inf.uniroma3.it