5Di_5Ci_ServizidelProtocolloApplicativo
Transcript
5Di_5Ci_ServizidelProtocolloApplicativo
I Principali Servizi del Protocollo Applicativo 1 Servizi offerti In questa lezione verranno esaminati i seguenti servizi: 2 – FTP – DNS – HTTP File Transfer Protocol Il trasferimento di file consente la trasmissione di file tra due elaboratori collegati in rete. In particolare l'FTP, acronimo di File Transfer Protocol (protocollo di trasferimento file), è uno dei protocolli più utilizzati in Internet, per la trasmissione di dati tra host basato su TCP. 3 File Transfer Protocol FTP è uno dei primi protocolli definiti che ha subito una lunga evoluzione negli anni. La prima specifica risale al 1971 L'attuale specifica fa riferimento all' RFC-959: Gli obiettivi principali di FTP descritti nella sua RFC ufficiale sono: 4 Promuovere la condivisione di file (programmi o dati) Incoraggiare l'uso indiretto o implicito di computer remoti. Trasferire dati in maniera affidabile ed efficiente. Funzionamento in generale FTP, a differenza di altri protocolli come ad esempio HTTP, utilizza due connessioni TCP separate per poter eseguire le operazioni di trasferimento dei file: – la prima connessione(detta di controllo) per trasferire i comandi ; Essa è utilizzata per il login tra le macchine ed utilizza il protocollo Telnet; – la seconda serve invece per il trasferimento dei dati.che l’FTP stabilisce per ciascun file da trasferire. Come la posta elettronica, e Telnet, Ftp è un’applicazione che segue il paradigma client/server,che richiede un software server in esecuzione su un Host (processo deamon), a cui si può accedere mediante il software client, installato sulla macchina locale. 5 Modello di Funzionamento L’utente finale comunica con un Interprete di protocollo (PI), che stabilisce e gestisce la connessione di controllo (Control Connection), per lo scambio di comandi e di risposte tra Client/ Server. Utente Client User Interface Server Control Connection User Protocol Interface (PI) Commands and replies User Data Transfer Process (DTP) File System 6 Data Connection Server Protocol Interface (PI) Server Data Protocol (DTP) Allo stesso modo i processi di Trasferimento dei Dati (DTP) che il client ed il server possiedono, provvedono allo scambio effettivo di dati (come ad esempio files), dopo aver effettuato l'apertura del File System Modello di Funzionamento In ogni caso l'FTP stabilisce per ciascun file da trasferire, una nuova connessione per il trasferimento dati. In definitiva le connessioni ed i processi di trasferimento dati (DTP) possono essere creati dinamicamente quando necessari, ma la connessione di controllo persiste durante tutta la sessione. Una volta che questa scompare, la sessione è terminata ed il software di entrambe le parti termina tutti i processi di trasferimento dati. 7 Funzionalità Un server FTP offre svariate funzioni che permettono al client di interagire con il suo filesystem e i file che lo popolano, tra cui: – – – – – 8 Download/upload di file. Resume di trasferimenti interrotti. Rimozione e rinomina di file. Creazione e modifica di directory. Navigazione tra directory. Un esempio di Sessione FTP L’FTP segue una ben definita sequenza di operazioni, nell’aprire una sessione di comunicazione: 9 Controllo di Autenticazione: Quando si stabilisce una connessione al server,l'FTP richiede ai clients di autorizzarsi inviando un nome di login ed una password al server prima di richiedere i trasferimenti. Il server respinge l'accesso ai clients che non forniscono un valido login name o password. FTP anonimo: Per rendere possibile l'accesso a files pubblici, molti siti TCP/IP permettono l'FTP anonimo. Questo significa che un client non necessita di un account o una password, ma l'utente specifica "anonymous" o "ftp" come nome del login e guest o il proprio indirizzo di e-mail come password. Il server permette così login anonimi, ma restringe l'accesso solo ai files pubblici disponibili. Formato L' FTP permette al client di specificare il tipo ed il formato dei dati registrati. Per esempio, l'utente può specificare se un file contiene testo o dati binari o è un file d’immagine e se il file di testo usa il set di caratteri ASCII o EBCDIC (e permette di eseguire automaticamente alcune conversioni). 10 Modalita di Trasmissione L’ultima caratteristica che l’utente deve definire in FTP è la modalità di trasmissione. FTP definisce tre modalità di trasmissione, attraverso la connessione TCP: – – – 11 A blocchi: il file è trasferito in una serie di blocchi contenenti uno o più byte di header, per indicare l’ampiezza del blocco dati e la fine dei dati . Il trasferimento avviene nella stessa sequenza con cui i dati si trovano nel file. Compressa: un semplice algoritmo di codifica comprime le ripetizioni di uno stesso byte Es: file di codice con molti commenti allora una possibile codifica di tutte le barre potrebbe essere {}70/. Continua: il file viene trasferito come flusso di byte (modalità stream); Se la struttura del FTP è a record, viene usata una sequenza di caratteri speciali a due byte per indicare la fine del record e del file. Un esempio di Sessione FTP File transfer Rete Chi sei? 12 File transfer Rete Entra 13 Gli elaboratori che offrono i file, possono richiedere un username ed una password per poter effettuare il trasferimento dei file prescelti; si parla di trasferimento anonimo quando l’utente usa la parola anonymous come username e il suo indirizzo di posta elettronica come password. File transfer Rete 14 File transfer Rete 15 DNS (Domain Name System) Il metodo di indirizzamento numerico di Internet Protocol, sebbene sia molto efficiente dal punto di vista dei computer, che macinano numeri, è assai complicato da utilizzare per un utente. Ricordare le varie sequenze numeriche corrispondenti agli indirizzi dei computer a cui ci si intende connettere può essere molto difficile e noioso, come lo sarebbe dover ricordare a memoria tutti i numeri telefonici dei nostri amici e conoscenti. La possibilità di attribuire un nome testuale facile da memorizzare a un server (ad esempio un sito world wide web) migliora di molto l'uso del servizio, in quanto gli esseri umani trovano più facile ricordare nomi testuali (mentre gli host e i router sono raggiungibili utilizzando gli indirizzi IP numerici). Proprio al fine di facilitare l'impiego della rete da parte degli utenti è stato sviluppato un sistema di indirizzamento simbolico, che funziona in modo simile ad una agenda telefonica: detto Domain Name System (DNS). 16 DNS Un opportuno protocollo applicativo, il DNS (Domain Name System), provvede a tradurre un indirizzo numerico in mnemonico e viceversa: 10100000 01001110 00110000 10001101 160.78.48.141 www.unipr.it 17 Domini Per facilitare la gestione dei nomi delle risorse, si effettua una suddivisione logica di Internet in Domini Internet è suddivisa quindi in una moltitudine di domini radice: – – Domini nazionali: uk Domini generici: com it edu de Un dominio radice include una collezione di host e può essere suddiviso a sua volta in altri sottodomini. 18 Spazio dei nomi dei domini com gov org yahoo it unige unipi microsoft research ...... ...... disi dist Esempio di sottodominio del DISI: disi.unige.it 19 jp ..... di ac co Name Server Lo spazio dei nomi risulta così suddiviso in zone gestiti da un server principale e server secondari, che mantengono la lista degli host inclusi nel dominio (database dei nomi). Se un server non trova un nome nel suo database, manda una richiesta al server del dominio antenato o successore e così via (interrogazioni ricorsive). Si usa una memoria cache per mantenere gli indirizzi recuperati tramite altri server. 20 Domain Name Server Lo spazio dei nomi è memorizzato quindi sotto forma di database distribuito Ogni rete locale ha un proprio server DNS che mappa nomi logici (indirizzi DNS) in indirizzi fisici (indirizzi IP) N.B.: Indirizzi IP = codice numerico (binario) utilizzato dal protocollo di invio dati del modello TCP/IP – 21 Es. 121.34.16.19 Hyper-Text Transfer Protocol – HTTP E’ il protocollo utilizzato dal servizio www Al web spetta il merito di aver portato Internet oltre gli ambienti accademici HTTP è definito in RFC 1945 e RFC 2616 HTTP è implementato come programma client (Browser) e come programma server (Apache) Una pagina web consiste di oggetti individuabili ciascuno attraverso un URL (Uniform Resource Locator) – File base HTML con vari oggetti referenziati attraverso singoli URL. 22 Esempio di come funziona il Web con l’Http Cosa accade sulla rete? 23 Da HTTP a TCP 24 Traduzione di un Hostname in un indirizzi IP (DNS) 25 Risoluzione di Hostname e port numbers 26 Trovare il port number 27 Richiesta di connessione: Finalmente Avvenuta 28 URL: indirizzi nel Web URL (Uniform Resource Location) è uno standard per il formato degli indirizzi delle risorse sul Web Specifica: – – – Come si vuole accedere alla risorsa (metodo) Dove si trova la risorsa (indirizzo server) Nome della risorsa (nome) Formato: – 29 Metodo://host/nome Metodo http: protocollo gestione ipertesti ftp: trasferimento file news: gruppi di discussione telnet: accedere a macchine remote file: accedere a documenti locali 30 Nome Nome (mnemonico) di dominio del server DNS al quale si vuole chiedere la risorsa Esempio: – – 31 Server Web DISI: www.disi.unige.it Server FTP DISI: ftp.disi.unige.it Nome risorsa Path name (cammino) che porta al file contente la risorsa (es pagina, foto, ecc) nello spazio di dati gestito dal server del sito contattato: – Esempio: http://www.icar.cnr.it/angela/teaching/intro/ Solitamente ogni sito ha una pagina di ingresso denominata index.html – I seguenti url sono equivalenti 32 http://www.icar.cnr.it/angela/index.shtml http://www.icar.cnr.it/angela/