2.Introduzione a Internet

31
Edizione 2012-13 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

description

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

Transcript of 2.Introduzione a Internet

Page 1: 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

Page 2: 2.Introduzione a Internet

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

Page 3: 2.Introduzione a Internet

Reti di computer

R.Polillo - Marzo 2013

4

Page 4: 2.Introduzione a Internet

R.Polillo - Marzo 2013

5

Reti di computer

Possono essere collegate fra loro

Page 5: 2.Introduzione a Internet

Internet: una rete di reti

R.Polillo - Marzo 2013

6

Router

Page 6: 2.Introduzione a Internet

Internet: una unica rete virtuale

a

b

c

d

e

f

R.Polillo - Marzo 2013

7

Page 7: 2.Introduzione a Internet

Internet: una rete di reti

R.Polillo - Marzo 2013

8

Page 8: 2.Introduzione a Internet

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

Page 9: 2.Introduzione a Internet

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)

Page 10: 2.Introduzione a Internet

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

Page 11: 2.Introduzione a Internet

Scomposizione di un data stream in pacchetti

R.Polillo - Marzo 2013

12

pacchetti

destinatario, mittente, ecc.

In pratica:

datiIntestazione (header)

Data stream

Page 12: 2.Introduzione a Internet

Livelli di protocollo

R.Polillo - Marzo 2013

13

Contenuto da trasmettere Pacchetti

trasmessi in rete

header

Page 13: 2.Introduzione a Internet

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

Page 14: 2.Introduzione a Internet

Istradamento

R.Polillo - Marzo 2013

15

BOOM

Ogni datagram può seguire un cammino diverso

Page 15: 2.Introduzione a Internet

Indirizzo IP16

123.55.12.247

Ogni elaboratore connesso a Internet è individuato da indirizzo IP (IP= Internet Protocol)

Page 16: 2.Introduzione a Internet

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

Page 17: 2.Introduzione a Internet

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

Page 18: 2.Introduzione a Internet

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

Page 19: 2.Introduzione a Internet

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

Page 20: 2.Introduzione a Internet

DNS: come funziona

R.Polillo - Marzo 2013

21

Un video (in inglese): http://bit.ly/14nb1O2

Page 21: 2.Introduzione a Internet

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

Page 22: 2.Introduzione a Internet

Come interpretare i contenuti informativi

R.Polillo - Marzo 2013

23

mariorossiviasardegna2720100milano

A B

La soluzione tradizionale:nome cognome via cap città

Page 23: 2.Introduzione a Internet

Come interpretare i contenuti informativi

R.Polillo - Marzo 2013

24

A B

La soluzione più flessibile:

Page 24: 2.Introduzione a Internet

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>

Page 25: 2.Introduzione a Internet

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

Page 26: 2.Introduzione a Internet

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

Page 27: 2.Introduzione a Internet

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

Page 28: 2.Introduzione a Internet

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)>

Page 29: 2.Introduzione a Internet

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

Page 30: 2.Introduzione a Internet

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

Page 31: 2.Introduzione a Internet

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