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/