Corso di Strumenti e applicazioni del Web - Università degli Studi di Milano Bicocca
A.A.2012-13 (marzo 2013). - prof. R.Polillo
Seconda lezione
vedi anche il blog del corso http://corsow.wordpress.com
1. Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
2. Introduzione a
Internet
Roberto Polillo
Edizione 2012-13
2. Premessa
3
Internet e il Web sono due cose diverse: il Web è
un'applicazione di Internet (altre: mail, telefonia IP, ecc.)
Non possiamo considerare il Web come una "black box",
perché vogliamo capire, quando usiamo un sito:
Con quale/i organizzazione/i stiamo interagendo
Quali sono i suoi/loro obbiettivi di business
Come vengono gestiti i nostri dati
R.Polillo - Marzo 2013
8. Il problema della comunicazione
9
Come si possono far comunicare due computer
connessi in rete? Sas jhgjhg
hjgjhg hggh
kjkl
A B
Informazioni per il recapito
Messaggio
Protocollo di comunicazione: regole e
formati per il trasferimento di messaggi
R.Polillo - Marzo 2013
9. Tipi di protocolli
10
Peer-to-peer
(P2P):
Richesta
Risposta
Client-Server:
Richesta
Server Client
Risposta
Ogni componente può svolgere ruoli diversi
(con interlocutori diversi)
R.Polillo - Marzo 2013
10. Protocollo TCP/IP
11
Le regole che governano la trasmissione
di messaggi su Internet
Ogni "data stream" viene spezzettato in pacchetti di
informazioni ("datagram")
Ogni pacchetto viene corredato di informazioni per la sua
trasmissione, fra cui l'indirizzo di mittente e destinatario
Ogni pacchetto viene inviato singolarmente e può seguire
strade diverse dagli altri
"Rete a commutazione di pacchetto" ("packet switching")
R.Polillo - Marzo 2013
11. Scomposizione di un data stream in
12
pacchetti
pacchetti
destinatario, mittente, ecc.
Data stream
Intestazione (header)
dati
In
pratica:
R.Polillo - Marzo 2013
12. Livelli di protocollo
13
Contenuto da
trasmettere Pacchetti
heade trasmessi
r in rete
R.Polillo - Marzo 2013
13. Livelli di protocollo: esempi
14
1)- Protocollo IP:
per trasmettere pacchetti
2)- Protocollo TCP (Transmission Control Protocol):
per trasmettere un data stream
3)- Protocollo HTTP: Protocollo FTP:
Per trasmettere pagine Web Per trasmettere files
Ecc.
R.Polillo - Marzo 2013
14. Istradamento
15
Ogni datagram può seguire un cammino diverso
BOOM
R.Polillo - Marzo 2013
15. Indirizzo IP
16
Ogni elaboratore connesso a Internet è individuato da indirizzo IP
(IP= Internet Protocol)
123.55.12.247
16. Come è fatto un indirizzo IP
17
IPv4
32 bit → 4 byte → 4 interi fra 0 e 28-1 = 255
Es.: 192.128.0.205
Indirizza 4.294.967.296 (232) nodi: troppo pochi!
IPv6
128 bit → 16 byte → 8 interi fra 0 e 216-1
Es.: ab12:34cf:0000:0000:45ae:1234:def4:0000
indirizza 2128 nodi
La transizione è in corso
R.Polillo - Marzo 2013
17. DHCP
18
Dynamic Host Configuration Protocol:
protocollo che serve ad assegnare gli indirizzi IP ai
nodi di una rete, affinchè siano identificabili e
possano comunicare
Server DHCP: mantengono una tabella di indirizzi
IP disponibili localmente
Ogni nodo chiede a un server DHCP di assegnargli
un indirizzo IP (statico o dinamico)
R.Polillo - Marzo 2013
18. DNS: Domain Name System
19
Un protocollo per dare a ogni computer
connesso a internet un nome mnemonico
associato a un indirizzo IP
Esempio:
DNS Server:
venus.disco.unimib.it
nome del nome del dominio mantengono tabelle
computer (a più livelli) di corrispondenza
fra nomi mnemonici
e indirizzi IP
R.Polillo - Marzo 2013
19. Domain Name Space
20
Root DNS servers
domain . Hanno autorità
su un certo
dominio
First
com org it
level
domains
Second level
unimib rpolillo
domains
Third level
domains
disco psicologia
Server venus.disco.unimib.it
R.Polillo - Marzo 2013
20. DNS: come funziona
21
Un video (in inglese):
http://bit.ly/14nb1O2
R.Polillo - Marzo 2013
21. ICANN
22
Internet Corporation for Assigned Names and
Numbers: http://www.icann.org/
Organizzazione non-profit che coordina il sistema
globale dei nomi di Internet: indirizzi IP, nomi dei
protocolli, top-level domains, ecc.
A partire dal 2013 sono attivati nuovi top-level
domains (molto costosi) proposti dagli utenti
http://www.voanews.com/english/news/science-technology/New-Internet-
Name-Rule-Opens-Door-to-Huge-Changes-124180874.html
R.Polillo - Marzo 2013
22. Come interpretare i contenuti informativi
23
La soluzione tradizionale:
nome cognome via cap città
mariorossivias
ar
degna2720100
m
ilano
A B
R.Polillo - Marzo 2013
23. Come interpretare i contenuti informativi
24
La soluzione più flessibile:
A B
R.Polillo - Marzo 2013
25. XML: eXtensible Markup Language
26
<?xml version="1.0"?>
<anagrafica>
<nome>mario</nome>
<cognome>rossi</cognome>
<indirizzo>
<via>via sardegna</via>
<numero>27</numero>
<cap>20100</cap>
<città>milano</città>
</indirizzo>
</anagrafica>
A B
R.Polillo - Marzo 2013
26. Esempio
27
Un documento Word:
.docx: Word Microsoft Office Open XML Format
Esempio in:
http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats
R.Polillo - Marzo 2013
27. Come interpretare i contenuti informativi
28
Come può il ricevente verificare che la
struttura ricevuta sia "valida"?
In XML: DTD (Data Type
Definition), oppure
XML Schema
Descrizione della grammatica
A B
R.Polillo - Marzo 2013
28. DTD: Esempio
29
<!ELEMENT anagrafica (nome, cognome, indirizzo) >
<!ELEMENT nome (#PCDATA)>
<!ELEMENT cognome (#PCDATA)>
<!ELEMENT indirizzo ( (via | piazza) , numero, cap,
città) >
<!ELEMENT via (#PCDATA)>
<!ELEMENT numero (#PCDATA)>
<!ELEMENT cap (#PCDATA)>
<!ELEMENT città (#PCDATA)>
R.Polillo - Marzo 2013
29. Come interpretare i contenuti informativi
30
Non serve inviare la DTD ad ogni messaggi:
basta che questa sia nota
Descrizione
della
grammatica
A B
R.Polillo - Marzo 2013
30. Sintesi della lezione
31
Internet è una rete di reti
Il protocollo TCP/IP suddivide il data stream in
pacchetti che seguono strade diverse
I computer sono individuati da un indirizzo IP
Il DNS associa indirizzi IP a nomi mnemonici
strutturati attraverso server distribuiti
XML è un metalinguaggio per definire la struttura
dei messaggi fra sistemi diversi
R.Polillo - Marzo 2013
31. Per approfondire
32
Indirizzo IP: http://it.wikipedia.org/wiki/Indirizzo_IP
TCP/IP: http://it.wikipedia.org/wiki/Suite_di_protocolli_Internet
DNS: http://it.wikipedia.org/wiki/Domain_name_system
XML: http://it.wikipedia.org/wiki/XML
XML schema: http://it.wikipedia.org/wiki/XML_Schema
Una introduzione molto introduttiva:
http://nexa.polito.it/nexafiles/ComeFunzionaInternet.pdf
R.Polillo - Marzo 2013