i servizi e i protocolli internet
TRANSCRIPT
Insegnamento di Informatica – a.a. 2016-17
I servizi e i protocolli Internet
INSEGNAMENTO DI INFORMATICA – A.A. 2016-17
Francesco Ciclosi
Macerata, A.A. 2016-2017
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’architettura dello stack TCP/IP
Transport Transport
Internet Internet
Network Interface Network Interface
Application Application
Ethernet Ethernet Frame Relay Frame Relay
Token Ring
Token Ring
ATM ATM
HTTP HTTP FTP FTP SMTP SMTP DNS DNS IMAP IMAP SNMP SNMP
Suite di protocolli TCP/IP
TCP TCP UDP UDP
IPv6 IPv6 IPv4 IPv4 ARP ARP IGMP IGMP
ICMP ICMP
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17 T
CP
/IP
e m
od
ell
o
ISO
/O
SI
Suite di protocolli TCP/IP TCP/IP OSI
TCP TCP UDP UDP
Ethernet Ethernet Frame Relay Frame Relay
Token Ring
Token Ring
ATM ATM
Application Application
Transport Transport
Network Interface Network Interface
HT
TP
H
TT
P
Application Application
Transport Transport
Network Network
Data-Link Data-Link
Presentation Presentation
Session Session
Physical Physical
Internet Internet
FT
P
FT
P
SM
TP
S
MT
P
DN
S
DN
S
IMA
P
IMA
P
SN
MP
SN
MP
IPv6 IPv6 IPv4 IPv4 ARP ARP IGMP IGMP
ICMP ICMP
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Funzionamento di TCP/IP (1/2)
I dati che il livello Trasporto riceve dal livello Applicazione vengono frammentati in pacchetti al fine di ottimizzarne il trattamento
TCP aggiunge a ogni pacchetto una serie di informazioni che lo caratterizzano in maniera inequivocabile • Es: il numero d’ordine nella sequenza di cui il
pacchetto fa parte
• Es: i codici di controllo (checksum) che verificano se la trasmissione è avvenuta correttamente
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Funzionamento di TCP/IP (2/2)
Il pacchetto viene quindi passato al livello Rete dove IP si fa carico di instradare i pacchetti nella maniera più opportuna verso l’host di destinazione
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I protocolli del livello di trasporto
TCP:
Orientato alla connessione (connection oriented)
Affidabile (reliable)
UDP:
Senza connessione (connectionless)
Inaffidabile (unreliable)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I principali protocolli del livello applicazione
Alcuni protocolli del livello applicazione sono:
• HTTP/HTTPS
• FTP
• RDP
• SMB
• SMTP
• POP3
• IMAP
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Indirizzi IP
Gli indirizzi sono costituiti da 4 numeri separati da un
punto e debbono essere univoci
Ogni numero può assumere valori da 0 a 255
La prima parte rappresenta la parte rete dell’indirizzo
La seconda parte rappresenta l’indirizzo del computer nella
rete
DATI da: 192.112.36.5
a: 128.174.5.6
Pacchetto IP
193.204.8.30 web.unicam.it
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Classe Indirizzo Primo
Numero Max host
Esempio
A Rete.Host.Host.Host 1-126 254 x 254 x 254 = 16.387.064
8.8.8.8
B Rete.Rete.Host.Host 128-191 254 x 254 = 64.516 129.7.34.75
C Rete.Rete.Rete.Host 192-223 254 193.204.8.30
Indirizzi di rete
Esistono altre due classi (D e E) usate per le
trasmissioni Multicast e per fini speciali
Il numero di host è pari a 2n - 1
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Cos’è una subnet mask?
Network ID
Subnet mask
IP address
x w y z
192 168 10 0
x w y z
255 255 255 0
x w y z
192 168 10 43
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Cos’è un gateway di default ?
Il gateway di default: •Viene utilizzato per instradare i pacchetti verso altre reti
•Viene utilizzato quando la tabella di routing interna sull’host non ha informazioni sulla subnet di destinazione
Spesso il protocollo DHCP è utilizzato per fornire automaticamente al client l’indirizzo IP relativo al gateway predefinito Spesso il protocollo DHCP è utilizzato per fornire automaticamente al client l’indirizzo IP relativo al gateway predefinito
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La risoluzione dei nomi DNS
Workstation Workstation
54.72.52.58 54.72.52.58
Server DNS locale Server DNS locale
Qual’è l’indirizzo IP di www.unimc.it?
Server DNS Root Server DNS Root
Server DNS .it Server DNS .it
Server DNS unimc.it Server DNS unimc.it
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Cos’è il DHCP?
Client Non-DHCP Client Non-DHCP Client DHCP Client DHCP
Server DHCP Server DHCP Database DHCP Database DHCP
Indirizzo IP 1
Indirizzo IP 2
Indirizzo IP 3
.
.
Indirizzo IP n
Indirizzo IP 1
Indirizzo IP 2
Indirizzo IP 3
.
.
Indirizzo IP n
Indirizzo IP 2
Indirizzo IP 1
Client DHCP Client DHCP
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Automatic private IP addressing (APIPA)
Viene utilizzato quando non si può contattare
un server DHCP
Assegna gli indirizzi IP della rete 169.254.0.0/16
Non è idoneo per un uso aziendale
Non può essere utilizzato in presenza di:
• Connettività Internet
• Subnet multiple
• Server DNS
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
È utilizzato per visualizzare le informazioni di configurazione IP e controllare la cache del resolver DNS È utilizzato per visualizzare le informazioni di configurazione IP e controllare la cache del resolver DNS
Uso del tool IPConfig (windows)
Opzione Descrizione
/all Mostra tutte le informazioni di configurazione degli indirizzi IP
/release Rilascia un lease di indirizzo IPv4
/renew Rinnova un lease di indirizzo IPv4
/flushdns Elimina la cache del resolver DNS
/registerdns Rinfresca il lease DHCP e registra nuovamente i nomi DNS
/displaydns Mostra il contenuto della cache del resolver DNS
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Cos’è il DNS?
Il DNS viene utilizzato per:
• Risolvere i nomi host in indirizzi IP
• Risolvere gli indirizzi IP in nomi host
• Individuare i server di posta durante la consegna
delle e-mail
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le classi di indirizzi IPv4
Classe C Piccole reti
Classe B Reti medie
Classe A Grandi reti
Network ID Host ID
1 1 0
x w y z
Network ID Host ID
1 0
x w y z
Network ID Host ID
0
x w y z
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Gli indirizzi IPv4 riservati
Alcuni range di indirizzi IPv4 sono riservati e
non istradabili:
• 10.0.0.0-10.255.255.255 – per la classe A
• 172.16.0.0-172.31.255.255 – per la classe B
• 192.168.0.0-192.168.255.255 – per la classe C
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Suddivisione dello spazio IP in classi
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La comunicazione IP in una rete singola Determina se la rete è locale o remota
Risolve l’IP di destinazione in indirizzo MAC
Indirizza il pacchetto
Consegna il pacchetto alla destinazione
Computer B Computer B Computer A Computer A
IP: 192.168.45.10 MAC: 04:4C:DA:ED:1F:A8
IP: 192.168.45.11 MAC: 3C:3D:54:A2:BA:F2
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La comunicazione IP tra le reti (1/2)
Determina se la rete è locale o remota
Risolve l'indirizzo IP del default gateway in
indirizzo MAC
Indirizza e consegna il pacchetto al default gateway
Risolve l'IP di destinazione in indirizzo MAC
Indirizza e consegna il pacchetto alla destinazione
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La comunicazione IP tra le reti (2/2)
IP: 192.168.10.10 MAC: 00:43:D2:ED:1A:98
IP: 192.168.50.120 MAC: 2C:33:85:C2:AA:32
IP: 192.168.10.1 MAC: 6B:11:43:75:DF:37
IP: 192.168.50.1 MAC: 6B:11:43:75:DF:39
Computer B Computer B Computer A Computer A
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Notazione decimale e notazione binaria
Bit 7 Bit 7 Bit 6 Bit 6 Bit 5 Bit 5 Bit 4 Bit 4 Bit 3 Bit 3 Bit 2 Bit 2 Bit 1 Bit 1 Bit 0 Bit 0
Ottetto 8-Bit
Valore decimale
128 128 64 64 32 32 16 16 8 8 4 4 2 2 1 1
27 27 26 26 25 25 24 24 23 23 22 22 21 21 20 20
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Determinare se un IP è locale o remoto Si effettua un’operazione di AND tra gli indirizzi
IP e le loro maschere di sottorete
• 1 AND 1 = 1
• Qualsiasi altra combinazione = 0
Se il risultato degli indirizzi coincide, allora la
destinazione è locale
10011111 11100000 00000000 00000000
10011111 11100000 00000111 10000001
11111111 11111111 00000000 00000000
Indirizzo IP
Subnet Mask
Indirizzo IP
Subnet Mask
Risultato Risultato
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il Domain Name System – DNS
Il Domain Name System è un database gerarchico e distribuito Il Domain Name System è un database gerarchico e distribuito
• È posto a fondamento del sistema dei nomi Internet
• Consente di accedere alle risorse utilizzando dei nomi alfanumerici
• Lo spazio dei nomi di dominio è gestito dalla InterNIC
• È stato progettato per sostenere la crescita del numero degli host in Internet
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Lo spazio dei nomi DNS Root Domain
Sottodomini
(Subdomain)
Dominio di secondo livello
(Second-Level Domain)
Domini di primo livello o top
(Top-Level Domain)
FQDN: SRV1.www.ded.unimc.it.
ded ded
unimc unimc
it it
www www
adoss adoss celfi celfi
eu eu com com
Host: SRV1
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I componenti di una soluzione DNS
DNS Servers on the Internet Server DNS Client DNS
Root “.”
.com
.it
Record di risorsa
Record di risorsa
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Cos’è una query DNS?
Una query è una richiesta di risoluzione
dei nomi rivolta a un server DNS
Una query è una richiesta di risoluzione
dei nomi rivolta a un server DNS
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le query DNS
• Le query sono ricorsive o iterative
• Le query possono essere avviate dai client e dai server DNS
• I server DNS possono essere autoritativi o non autoritativi per uno spazio di nomi
• Un server DNS autorevole per lo spazio dei nomi: • Restituirà l’indirizzo IP richiesto
• Restituirà un «No» autorevole e definitivo
• Un server DNS non autorevole per lo spazio dei nomi: • Controlla la sua cache
• Utilizza i forwarders
• Utilizza i root hints
Utilizzerà delle tecniche per recuperare
l’informazione che non possiede
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le query ricorsive
Client DNS
www.unimc.it
54.72.52.58
Una query ricorsiva viene inviata a un server DNS e richiede una risposta completa Una query ricorsiva viene inviata a un server DNS e richiede una risposta completa
Database
Server DNS locale
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le query iterative Una query iterativa diretta a un server DNS può essere risolta con un rinvio a un altro server DNS Una query iterativa diretta a un server DNS può essere risolta con un rinvio a un altro server DNS
Client o Server
Server DNS locale Root Hint (.)
.it
Query iterativa
Interpella .it
unimc.it
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’indirizzo di posta elettronica
L’indirizzo di posta elettronica è composto da
due parti:
• Il nome dell’utente, che identifica la singola casella
di posta presente all’interno di un server
• Il nome del dominio, che identifica «il server» ove
è ospitata la singola casella di posta elettronica
Le due parti sono divise dal simbolo @
[email protected] Nome
dell’utente
Nome del
dominio
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I protocolli
Il servizio di posta elettronica si basa sull’utilizzo
dei seguenti protocolli di rete:
• SMTP (Simple Mail Transfer Protocol), è il protocollo
standard per la trasmissione via Internet di e-mail
• POP3 (Post Office Protocol), è un protocollo standard
per l’accesso autenticato a un account di posta
elettronica su di un server
• IMAP (Internet Message Access Protocol), è un
protocollo standard per l’accesso autenticato a un
account di posta elettronica su di un server
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il funzionamento della posta elettronica
PC Mittente PC Destinatario
SMTP
SMTP POP3 / IMAP
Server Mittente Server Destinatario
DB e-mail mittente
DB e-mail destinatario
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La posta elettronica Quando è inviato, un messaggio attraversa una serie
di server intermedi fino a raggiungere il server di
posta del destinatario ove viene memorizzato
Quanto il destinatario si collega al suo server di
posta il messaggio viene scaricato sul computer
Per utilizzare la posta elettronica è necessario un
programma di gestione che può:
• essere installato localmente sul computer dell’utente
• essere fruibile in rete sotto forma di web application
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Simple Mail Transfer Protocol (1/4)
SMTP è il protocollo standard per la
trasmissione via internet di e-mail
È un protocollo testuale, nel quale vengono
specificati uno o più destinatari di un messaggio,
verificata la cui esistenza il messaggio viene
trasferito
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Simple Mail Transfer Protocol (2/4)
Il protocollo di livello trasporto utilizzato è il TCP
Il client apre una sessione TCP verso il server sulla
porta 25 o sulla porta 587
Il server SMTP è associato a un dato nome di
dominio (DNS) grazie al Resource Record di tipo
MX (Mail eXchange)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Simple Mail Transfer Protocol (3/4)
SMTP è un protocollo testuale basato sulla
codifica ASCII
Non è permesso trasmettere direttamente:
• testo composto con un diverso set di caratteri
• file binari
Lo standard MIME permette di estendere il
formato dei messaggi mantenendo la
compatibilità col software esistente
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Simple Mail Transfer Protocol (4/4)
SMTP è un protocollo che permette soltanto di
inviare messaggi di posta, ma non di richiederli
a un server
Per richiedere a un server i messaggi di posta si
utilizzano altri protocolli:
• POP3 (Post Office Protocol)
• IMAP (Internet Message Access Protocol)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Post Office Protocol (1/3)
POP nella versione 3 è un protocollo di livello
applicativo di tipo client-server che ha il
compito di permettere
• L’accesso autenticato di un client a un account di
posta elettronica presente su di un server
• Lo scaricamento delle e-mail dello stesso account
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Post Office Protocol (2/3)
Il protocollo di livello trasporto utilizzato è il TCP
Il server POP (nella versione 3) rimane in attesa
sulla porta 110 per una connessione TCP da parte
di un client
Non è prevista alcun tipo di cifratura, quindi anche
le password utilizzate per l’autenticazione fra server
e client passano in chiaro
L’estensione APOP risolve il problema adottando
la codifica crittografica MD5
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Post Office Protocol (3/3)
Il protocollo consente la lettura dei messaggi di
posta elettronica previo scaricamento sul
computer locale
È comunque possibile lasciare sul server una
copia dei messaggi scaricati in locale
Lavora in modo differente rispetto a IMAP che
salva i messaggi in una cache locale
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Internet Message Access Protocol (1/5)
IMAP è un protocollo di livello applicativo per la
ricezione delle email
L’attuale versione è la 4 (revisione 1)
Viene ideato nel 1986 come alternativa più moderna
al diffusissimo POP
Consente la realizzazione dell’ubiquitous email,
ovvero la possibilità di accedere ovunque e da
qualunque dispositivo alla propria casella email
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Internet Message Access Protocol (2/5)
Il protocollo di livello trasporto utilizzato è il TCP
Il server IMAP(nella versione 4) rimane in attesa
sulla porta 143 per una connessione TCP da parte
di un client
Se si utilizza una connessione sicura tramite SSL
allora la porta è la 993
Utilizza complesse procedure di sincronizzazione
dei messaggi
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Internet Message Access Protocol (3/5) IMAP4 dispone delle seguenti esclusive funzionalità:
• Accesso alla posta sia online che off-line
o il client IMAP rimane sempre connesso al server e risponde alle
richieste fatte dall'utente, ottimizzando i tempi in caso di
messaggi di grandi dimensioni
o il client IMAP non scarica i messaggi ma li lascia sul server,
salvo memorizzarli temporaneamente in una cache locale
• Più utenti possono utilizzare la stessa casella di posta
o IMAP4 permette connessioni simultanee alla stessa mailbox e
fornisce dei meccanismi di controllo dei cambiamenti apportati
dai singoli utenti
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Internet Message Access Protocol (4/5)
• Supporto all’accesso a singole parti MIME di un
messaggio
o permette di scaricare una singola parte MIME per avere
un’anteprima del messaggio o per scaricare una mail
senza i file allegati
• Supporto per attributi dei messaggi tenuti dal server
o attraverso l’uso di specifici attributi lato server, ogni client
può tenere traccia di ogni messaggio (per esempio per
sapere se è già stato letto o se ha avuto una risposta)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Internet Message Access Protocol (5/5)
• Accesso a molteplici caselle di posta sul server
o alcuni utenti, possono creare, modificare o cancellare
mailbox
• Possibilità di fare ricerche sul server
o è possibile effettuare delle ricerche nei messaggi senza
bisogno di scaricarli
• Supporto di un meccanismo per la definizione di
estensioni
o un server può comunicare agli utenti se supporta delle
funzionalità extra (estensioni del protocollo)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
File ASCII e file binari (1/2)
I file si dividono in due grandi categorie:
• File ASCII (file di testo)
o sono privi di formattazione e contengono un numero
limitato di caratteri
o contengono solo testo
• File binari
o possono contenere qualsiasi tipo di dati, codificato in codice
binario
o sono file che non contengono solo semplice testo
o solitamente la formattazione utilizzata è molto complessa
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
File ASCII e file binari (2/2)
File EXE
File HTML
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La codifica di un file allegato (1/2)
Per inviare senza problemi in Internet un file binario
allegato a un messaggio di posta elettronica è
necessario codificarlo preventivamente
La codifica converte un file binario in un file ASCII
La decodifica effettua l’operazione inversa
convertendo un file ASCII in binario
Esistono più metodi di codifica
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La codifica di un file allegato (2/2) I metodi di codifica più diffusi sono:
• Codifica UU (Unix-to-Unix)
• Protocollo MIME (Multipurpose Internet Mail
Extension), utilizza la codifica denominata «Base64»
Un file allegato codificato con MIME
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
File Transfer Protocol (1/2)
FTP è un protocollo per la trasmissione dei dati tra
host che si basa sul livello di trasporto TCP e che
utilizza un’architettura di tipo client-server
Il protocollo usa connessioni TCP distinte per:
• trasferire i dati
• controllare i trasferimenti
Richiede l’autenticazione del client tramite nome
utente e password, anche se il server può essere
configurato per accettare le connessioni anonime
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
File Transfer Protocol (2/2)
FTP trasmette in chiaro ogni comunicazione
(incluse le credenziali)
FTP non dispone di meccanismi di autenticazione
del server presso il client
FTPS è una variante di FTP finalizzata a rendere
più sicuro il protocollo mediante l’adozione di un
sottostrato SSL/TLS
SFTP fa riferimento a un altro protocollo di
trasferimento file: SSH File Transfer Protocol
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il funzionamento di FTP (1/2)
FTP utilizza due connessioni separate per
gestire comandi e dati
Un server FTP rimane in ascolto sulla porta 21
TCP a cui si connette il client
La connessione da parte del client determina
l’inizializzazione del canale comandi attraverso il
quale client e server si scambiano comandi e
risposte
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il funzionamento di FTP (2/2)
Lo scambio effettivo di dati richiede l’apertura del
canale dati, che può essere di due tipi:
• Canale dati di tipo attivo
• Canale dati di tipo passivo (preferibile)
Il canale comandi è persistente (rimane aperto per
l’intera sessione) mentre il canale dati è non
persistente (si crea e si chiude un nuovo canale dati
per ogni singolo file trasferito nella sessione utente)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il web
Il web è composta da una serie di pagine di
ipertesto depositate su differenti computer
collegati tra di loro tramite (la rete di reti) Internet
Si tratta di un’insieme di pagine:
• Collegate tra di loro (linked) indipendente dalla loro
collocazione fisica
• Accessibili da qualsiasi computer in rete
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
URL
Ogni singola pagina nel web è raggiungibile
semplicemente specificandone il proprio nome
simbolico, ovvero l’URL (Uniform Resource
Locator)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le componenti del web
Per poter funzionare correttamente il web
richiede la compresenza di varie componenti:
• Gli attori coinvolti
• Le tecnologie adottate
• Un paradigma funzionale per lo scambio delle
informazioni
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Gli attori coinvolti
Client (browser)
Web server
DBMS (i database)
Internet (è la rete su cui viaggiano i dati)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le tecnologie in uso
I protocolli di comunicazione HTTP e HTTPS
Il concetto di ipertesto
I linguaggi HTML, XML
I linguaggi di scripting
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il paradigma funzionale
Il web utilizza un paradigma di tipo client-server
per garantire lo scambio delle informazioni
• Client
o È il programma applicativo che richiede l’accesso alla risorsa
• Server
o È il programma applicativo che fornisce la risorsa richiesta
• Rete
o È il canale di comunicazione tra client e server
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Funzionamento del web (1/2)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Funzionamento del web (2/2)
1. L’utente fa click su un URL all’interno del browser
in uso e questi invia al server web di competenza
una richiesta per la pagina indicata dall’URL
2. Il server individua la pagina richiesta e risponde
con un messaggio contenente la tipologia della
risorsa e i contenuti della pagina
3. Il browser utilizza le informazioni sul tipo della
risorsa per visualizzarne i contenuti all’utente
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Struttura di un URL Ogni pagina web viene identificata con:
• Il nome del computer che la ospita
• Il nome del file all’interno del computer
• Il percorso per raggiungere il file
• Il protocollo utilizzato per il trasferimento
https://docenti.unimc.it/f.ciclosi/index.html
Protocollo Nome del dominio Percorso Nome del file
URI
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Tipologia del contenuto di un sito web
Il contenuto di un sito web può essere di due tipi:
• Statico
o È sempre lo stesso e non cambia con la richiesta ricevuta
o È lo stesso per tutti gli utenti che lo vedono
o Es: pagine HTML, documenti di Microsoft Office
• Dinamico
o È generato dal server nel momento in cui è richiesto
o Può variare per ogni utente
o Es: pagine ASP, PHP, ASP.NET
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Web application e web services (1/2)
Web application
• Consente la realizzazione di sistemi informatici
distribuiti in rete
• L’elaborazione dei dati avviene su uno o più server
di rete
• L’accesso avviene dai client con moduli di
interfaccia utente basati sui comuni browser web
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Web application e web services (2/2)
Web services
• Sono applicazioni che possono scambiare dati e
processi con altre applicazioni
• Sono basati sulle tecnologie standard
• Sono accessibili tramite protocolli web
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il contenuto in streaming
• È consegnato alla velocità richiesta per la riproduzione
• Lo streaming evita i picchi di utilizzo ed è più efficiente delle usuali tecniche di consegna
• Questa tipologia di contenuti sono solitamente consegnati utilizzando UDP e non TCP
Esempi:
•Stazioni radio online
•Visione di video online
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
ActiveX e (applet) Java
Sono dei piccoli componenti software incorporati
nelle pagine web o in altre applicazioni
In ActiveX di Microsoft si chiamano controlli
In Java della Sun si chiamano applet
Risiedono in un server e tramite browser possono
essere scaricati ed eseguiti dagli elaboratori connessi
Al termine dell’operazione il controllo è chiuso e
rimosso dall’elaboratore locale
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
HyperText transfer protocol (HTTP)
Definisce le regole che governano il trasferimento
delle pagine web dal sistema (server) che le ospita
al sistema (client) che le richiede
È un protocollo di livello applicativo che utilizza il
protocollo di trasporto TCP
È orientato agli oggetti, generico e stateless
• Stateless: il server non mantiene nessuna informazione
in merito alle richieste transitate
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La pagina web
È composta da una serie di oggetti
più precisamente:
Consiste in un file HTML di base che include
degli oggetti riferibili tramite URL
Ad esempio tali oggetti possono essere:
• File HTML, immagini JPEG, file video MP4, file audio
MP3, applet JAVA
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il browser (1/2)
È un programma eseguito dal sistema client e in
grado di:
• Richiedere pagine HTML (tramite HTTP)
• Formattare tali pagine come indicato dal codice HTML
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il browser (2/2)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il funzionamento di HTTP
1. Il client stabilisce una connessione TCP con il
server sulla porta 80 (quella predefinita)
2. Il server accetta tale connessione da parte del client
3. Il server HTTP (web server) e il client HTTP
(browser) si scambiano una serie di messaggi HTTP
4. La connessione TCP viene chiusa
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le connessioni HTTP
Possono essere di due tipi:
• Persistenti
o È possibile spedire più oggetti utilizzando la stessa
connessione TCP creata tra client e server
• Non persistenti
o Si spedisce al più un oggetto utilizzando la stessa connessione
o In questo caso per ogni richiesta/risposta va creata una nuova
connessione
o In genere il trasferimento di una pagina web complessa
richiede l’apertura di molte connessioni
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I principali metodo HTTP
GET
• Richiede la lettura di una pagina web
• Può inviare dei parametri al server tramite l’URL (query
string) - www.miosito.it/ordine.asp?item=23&color=red
POST
• Invia le informazioni al server in modo non visibile da URL
PUT
• Scrive su di una pagina web
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il funzionamento di HTTP Secure
Funziona come il protocollo HTTP, ma provvede
alla trasmissione dei messaggi di richiesta e di
risposta utilizzando SSL (Secure Socket Layer) o
TLS (Transport Layer Security)
Viene automaticamente utilizzato per ogni URL
che inizia con https
La richiesta e la risposta sono trasmessi tra server
e client utilizzando meccanismi crittografici
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Alcune caratteristiche di HTTPS
Il client HTTP (browser) identifica il server HTTP
(web server) con il quale sta comunicando mediante
un certificato
Supporta differenti algoritmi crittografici per la
cifratura
Realizza la cosiddetta «cifratura di canale»
Non realizza la cifratura end-to-end
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
HTTP Vs HTTPS
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La scheda «sicurezza» del browser Firefox
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Lettura delle proprietà di un certificato
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
HTTPS con certificati autofirmati (1/3)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
HTTPS con certificati autofirmati (2/3)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
HTTPS con certificati autofirmati (3/3)
Mozilla Firefox
Google Chrome
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2016 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I miei contatti linkedin
http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/
https://www.facebook.com/francesco.ciclosi
@francyciclosi
www
http://docenti.unimc.it/f.ciclosi
http://www.francescociclosi.it