2.Introduzione a Internet

Post on 01-Nov-2014

1,198 views 1 download

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

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