Download - 2.Introduzione a Internet
Edizione 2012-13
Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
2. Introduzione a InternetRoberto Polillo
Premessa
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
3
Reti di computer
R.Polillo - Marzo 2013
4
R.Polillo - Marzo 2013
5
Reti di computer
Possono essere collegate fra loro
Internet: una rete di reti
R.Polillo - Marzo 2013
6
Router
Internet: una unica rete virtuale
a
b
c
d
e
f
R.Polillo - Marzo 2013
7
Internet: una rete di reti
R.Polillo - Marzo 2013
8
Il problema della comunicazione
Come si possono far comunicare due computer connessi in rete?
R.Polillo - Marzo 2013
9
Informazioni per il recapito
Messaggio
Sas jhgjhg hjgjhg hggh kjkl
A B
Protocollo di comunicazione: regole e formati per il trasferimento di messaggi
Tipi di protocolli
R.Polillo - Marzo 2013
10
Peer-to-peer (P2P):
RichestaRisposta
Server Client
Richesta
Risposta
Client-Server:
Ogni componente può svolgere ruoli diversi(con interlocutori diversi)
Protocollo TCP/IP
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 pacchetti
R.Polillo - Marzo 2013
12
pacchetti
destinatario, mittente, ecc.
In pratica:
datiIntestazione (header)
Data stream
Livelli di protocollo
R.Polillo - Marzo 2013
13
Contenuto da trasmettere Pacchetti
trasmessi in rete
header
Livelli di protocollo: esempi
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
R.Polillo - Marzo 2013
15
BOOM
Ogni datagram può seguire un cammino diverso
Indirizzo IP16
123.55.12.247
Ogni elaboratore connesso a Internet è individuato da indirizzo IP (IP= Internet Protocol)
Come è fatto un indirizzo IP
IPv4 32 bit 4 byte 4 interi fra 0 e 28-1 = 255Es.: 192.128.0.205Indirizza 4.294.967.296 (232) nodi: troppo pochi!
R.Polillo - Marzo 2013
17
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
DHCP
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
Un protocollo per dare a ogni computer connesso a internet un nome mnemonico associato a un indirizzo IP
Esempio:
venus.disco.unimib.itnome del dominio(a più livelli)
nome del computer
R.Polillo - Marzo 2013
19
DNS Server: mantengono tabelle di corrispondenza fra nomi mnemonici e indirizzi IP
Domain Name Space
R.Polillo - Marzo 2013
20
.
com org it
unimib rpolillo
Root domain
First level domains
Second level domains
disco psicologiaThird level domains
Server venus.disco.unimib.it
DNS serversHanno autorità su un certo dominio
DNS: come funziona
R.Polillo - Marzo 2013
21
Un video (in inglese): http://bit.ly/14nb1O2
ICANN
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
R.Polillo - Marzo 2013
23
mariorossiviasardegna2720100milano
A B
La soluzione tradizionale:nome cognome via cap città
Come interpretare i contenuti informativi
R.Polillo - Marzo 2013
24
A B
La soluzione più flessibile:
XML: eXtensible Markup Language
R.Polillo - Marzo 2013
25
<?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>
R.Polillo - Marzo 2013
26
A B
<?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>
XML: eXtensible Markup Language
Esempio
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
R.Polillo - Marzo 2013
28
A B
Come può il ricevente verificare che la struttura ricevuta sia "valida"?
Descrizione della grammatica
In XML: DTD (Data Type Definition), oppure XML Schema
DTD: Esempio
R.Polillo - Marzo 2013
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)>
Come interpretare i contenuti informativi
R.Polillo - Marzo 2013
30
A B
Non serve inviare la DTD ad ogni messaggi: basta che questa sia nota
Descrizione della grammatica
Sintesi della lezione
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
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
32