2 - Introduzione a Internet (1/2) - 17/18

29
Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 2. Introduzione a Internet (I) Giuseppe Vizzari Edizione 2017-18

Transcript of 2 - Introduzione a Internet (1/2) - 17/18

Page 1: 2 - Introduzione a Internet (1/2) - 17/18

Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione

Corso di Strumenti e applicazioni del Web

2. Introduzione a Internet (I)

Giuseppe Vizzari

Edizione 2017-18

Page 2: 2 - Introduzione a Internet (1/2) - 17/18

Queste slide

2

Queste slide fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno.

Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):

La licenza non si estende alle immagini provenienti da altre fonti e alle screen shots, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.

Page 3: 2 - Introduzione a Internet (1/2) - 17/18

Reti di computer

3

HOST

Perché "ospita" le

applicazioni

Page 4: 2 - Introduzione a Internet (1/2) - 17/18

Reti di computer

4

Le reti possono essere collegate

fra loro

HOST ROUTER Perché "instradano" i messaggi

Page 5: 2 - Introduzione a Internet (1/2) - 17/18

Internetworking: reti di reti

5

Cresce la dimensione e la complessità: dalle reti locali (local area network

- LAN) a quelle metropolitane

(metropolitan area network - MAN) e

geografiche (wide-area network - WAN)

Page 6: 2 - Introduzione a Internet (1/2) - 17/18

Internet: un’unica rete virtuale

6

a

b

c

d

e

f

HOST

Page 7: 2 - Introduzione a Internet (1/2) - 17/18

Internet: un’unica rete virtuale

7

HOST

ROUTER

Page 8: 2 - Introduzione a Internet (1/2) - 17/18

Protocollo di comunicazione

Insieme di regole (di norma descritte formalmente) definite per permettere la comunicazione tra due o più entità.

8

A B

Esempio:Chiedere a un passante se sa che ora è…

Page 9: 2 - Introduzione a Internet (1/2) - 17/18

Protocollo di comunicazione

Regole e formati per lo scambio di messaggi fra due entità comunicanti

9

A B

Esempio:Spedire una lettera per posta

Informazioni per il recapito

Lorem ipsum dolor sit amet…

Lettera

Page 10: 2 - Introduzione a Internet (1/2) - 17/18

Protocollo di comunicazione

Regole e formati per lo scambio di messaggi fra due entità comunicanti

A B

Fra computer: datiIntestazione (header)

Page 11: 2 - Introduzione a Internet (1/2) - 17/18

Protocollo di comunicazione

Regole e formati per lo scambio di messaggi fra due entità comunicanti

11

A B

Un frame reale (Ethernet):

!!??!!##%%!!??

Page 12: 2 - Introduzione a Internet (1/2) - 17/18

Due tipi di protocolli

12

Peer-to-peer (P2P):

RichiestaRisposta

Server Client

Richiesta

Risposta

Client-Server:

Ogni interlocutore può svolgere di volta in volta ruoli diversi(con interlocutori diversi)

Page 13: 2 - Introduzione a Internet (1/2) - 17/18

Esempio

13

a

b

c

d

e

f

Browser (client)

Web server

Page 14: 2 - Introduzione a Internet (1/2) - 17/18

Due tipi di reti

• Commutazione di circuito (circuit switching)Es. la rete telefonica tradizionale• Commutazione di pacchetto (packet switching)

Es. Internet

14

Page 15: 2 - Introduzione a Internet (1/2) - 17/18

Commutazione di circuito

15

a

b

c

d

e

f

Es.: 1952

Page 16: 2 - Introduzione a Internet (1/2) - 17/18

Commutazione di pacchetto

16

a

b

c

d

e

f

• Nessun collegamento dedicato• Il messaggio viene suddiviso in

pacchetti che vengono inoltrati individualmente e possono seguire percorsi diversi

• Naturalmente andranno ri-assemblati correttamente!

Page 17: 2 - Introduzione a Internet (1/2) - 17/18

Instradamento: esempio

17

BOOM

Ogni pacchetto può seguire un cammino diverso

Resilienza della rete

Page 18: 2 - Introduzione a Internet (1/2) - 17/18

Trasmissione dei messaggi su Internet

18

• Ogni "data stream" viene spezzettato in pacchetti i ("datagram"), corredati di informazioni per la loro trasmissione, fra cui l'indirizzo di mittente e destinatario

DatagramData stream

Header: destinatario, mittente, ecc.

• Ogni pacchetto viene inviato singolarmente e può seguire strade diverse dagli altri

Page 19: 2 - Introduzione a Internet (1/2) - 17/18

Internet: filosofia di progettazione

19

Protocolli “layered” (gerarchici, a strati)Le funzioni di trasporto, instradamento e trasmissione sul mezzo “fisico” sono separate, e indipendenti dall'applicazione

Principio di end-to-end Le funzioni applicative vengono svolte ai nodi della rete, e non all'interno della rete stessa

Principio di best-effort delivery La rete tratta i pacchetti nel modo migliore possibile, indipendentemente dal loro contenuto, mittente o destinatario

Page 20: 2 - Introduzione a Internet (1/2) - 17/18

La "stupidità della rete"

20

Internet

L'intelligenza applicativa sta fuori dalla rete

"Just deliver the bits, stupid!"

David Isenberg, "The rise of the stupid network", 1998

"In a world of dumb terminals and telephones, networks had to be smart. But in a world of smart terminals, networks have to be dumb."

George Gilder, in The Coming of the Fibersphere, 1992

Page 21: 2 - Introduzione a Internet (1/2) - 17/18

Un'altra rete stupida: la rete elettrica

21

Alla rete non interessa che cosa le collegate e per quale scopo

Page 22: 2 - Introduzione a Internet (1/2) - 17/18

Il problema della qualità del servizio (QoS)• L'instradamento viene effettuato sulla base di informazioni

locali: il router che trasmette potrebbe non essere a conoscenza di problemi di congestione nel percorso

• Ogni pacchetto ricevuto da un router viene accodato; se la coda è piena (la memoria è sempre finita), viene scartato e deve essere ritrasmesso

• Questo crea problemi nel caso in cui sia necessario garantire un determinato livello di qualità del servizio (es. nella telefonia su internet, che richiede bassa latenza e bassa variabilità dei tempi di arrivo dei pacchetti)

• Varie tecniche permettono un certo controllo della QoS (es.: "Deep Packet Inspection")• Potenziale uso sensato: privilegio la comunicazione voce

scartando “frame” di comunicazione video o pacchetti in un trasferimento di file 22

Page 23: 2 - Introduzione a Internet (1/2) - 17/18

Il problema “con” qualità del servizio (QoS)• Un potenziale uso discutibile di tecniche di controllo

della QoS è il privilegiare la comunicazione di chi paga un servizio premium • Vedi alla voce Net-Neutrality

• Approfondiremo il tema già nella prossima lezione, ma non solo…

• … ma telegraficamente, anticipiamo qualcosa:• Il traffico prevalente in rete è relativo ai video…

• I proventi di questo genere di traffico vanno ai cosiddetti Content Provider (e.g. YouTube, quindi Google)

• Questo formato è il più oneroso in termini di “banda”…• I costi per consentire una buona fruizione di questi contenuti sono a

carico dei Network Provider

• Gli interessi sono chiaramente contrastanti e la situazione va governata…

23

Page 24: 2 - Introduzione a Internet (1/2) - 17/18

Internet: la “pila” dei protocolli

24

Applicazione

Trasporto

Internet

Rete Fisica

Internet

Rete Fisica

Internet

Rete Fisica

Applicazione

Trasporto

Internet

Rete Fisica

Protocollo applicativo

TCP: Transmission Control Protocol

IP: Internet Protocol

HOST HOSTROUTER ROUTER

Page 25: 2 - Introduzione a Internet (1/2) - 17/18

Protocolli di comunicazione: modello ISO/OSILivello Definizione Contesto

7 Applicazione Interfaccia di comunicazione con i programmi (Application program interface).

6 Presentazione Formattazione e trasformazione dei dati a vario titolo, compresa la cifratura e decifratura.

5 Sessione Instaurazione, mantenimento e conclusione delle sessioni di comunicazione.

4 Trasporto Invio e ricezione di dati in modo da controllare e, possibilmente, correggere gli errori.

3 Rete Definizione dei pacchetti, dell'indirizzamento e dell'instradamento in modo astratto rispetto al tipo fisico di comunicazione.

2 Collegamento dati (data link)

Definizione delle trame (frame) e dell'indirizzamento in funzione del tipo fisico di comunicazione.

1 Fisico Trasmissione dei dati lungo il supporto fisico di comunicazione.

IP

TCP

Page 26: 2 - Introduzione a Internet (1/2) - 17/18

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!

26

• 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

Nel 2016 IPv6 ha compiuto 20 anni e raggiunto il 10% di adozione, secondo misure fatte da Googlehttp://arstechnica.com/business/2016/01/ipv6-celebrates-its-20th-birthday-by-reaching-10-percent-deployment/

Page 27: 2 - Introduzione a Internet (1/2) - 17/18

Assegnazione degli indirizzi IP

• Gli indirizzi IP possono essere assegnati ai nodi in modo statico o dinamico

• L’assegnamento statico richiede un minimo di competenza tecnica sui protocolli di rete e la conoscenza della rete locale alla quale ci si collega

• tipicamente questa modalità non è considerata adeguata a utenti normali, ma è sensata in organizzazioni dotate di personale di supporto tecnico dedicato

• Per un’assegnazione dinamica è necessario che nella rete locale sia disponibile un nodo che ospiti un apposito programma detto server DHCP ("Dynamic Host Configuration Protocol)…

• … che è dotato di una tabella degli indirizzi IP disponibili localmente

• … e che li assegna, in modo temporaneo, a chi ne fa richiesta nella rete locale

• Se avete in casa un router ADSL che vi permette di collegarvi in WiFi avete certamente un server DHCP (nel router stesso)

27

Page 28: 2 - Introduzione a Internet (1/2) - 17/18

Un servizio utile

PingUna utility che invia un messaggio di controllo a un nodo della rete, chiedendogli di rispondere – poi misura il tempo intercorso dalla richiesta alla risposta

Esempiohttp://www.monitis.com/traceroute/

28

Page 29: 2 - Introduzione a Internet (1/2) - 17/18

Lavoro individuale

• Visitate http://www.warriorsofthe.net/ (ci sono degli spoiler della seconda lezione su Internet, ma vale la pena di vederlo e già che ci siete vi portate avanti)

• Compilate il form di iscrizione al corso, se non lo avete già fatto!

29