1. 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 2018-19
2. 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.
4. Reti di computer
4
Le reti possono
essere collegate
fra loro
HOST ROUTER Perché
"instradano"
i messaggi
5. 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
8. 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
è…
9. 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
10. Protocollo di comunicazione
Regole e formati per lo scambio di messaggi fra due entità
comunicanti
A B
Fra computer: dati
Intestazione (header)
11. Protocollo di comunicazione
Regole e formati per lo scambio di messaggi fra due entità
comunicanti
11
A B
Un frame reale (Ethernet):
!!??!!##%%!!??
12. Due tipi di protocolli
12
Peer-to-peer (P2P):
Richiesta
Risposta
Server Client
Richiesta
Risposta
Client-Server:
Ogni interlocutore può svolgere
di volta in volta ruoli diversi
(con interlocutori diversi)
14. Due tipi di reti
• Commutazione di circuito (circuit switching)
Es. la rete telefonica tradizionale
• Commutazione di pacchetto (packet switching)
Es. Internet
14
16. 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!
18. Instradamento: esempio
18
BOOM
Ogni pacchetto può seguire un cammino diverso
Resilienza
della rete
Il tutto entro certi limiti: eventi
disastrosi e tragici possono causare
problemi locali oppure anche di rilevanza
globale; si veda l’esempio dell’11/9
(https://www.nap.edu/read/10569/chapte
r/4)
Attenzione: internet è l’infrastruttura, non
le singole applicazioni e servizi;
#facebookDown non implica che ci sia un
#internetDown
19. Trasmissione dei messaggi su
Internet
19
• 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
20. Internet: filosofia di
progettazione
20
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
21. La "stupidità della rete"
21
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
22. Un'altra rete stupida: la rete
elettrica
22
Alla rete non
interessa che
cosa le
collegate e per
quale scopo
23. 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 23
24. 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…
24
25. Internet: la “pila” dei protocolli
25
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
26. Protocolli di comunicazione:
modello ISO/OSI
Livello 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
27. Come è fatto un indirizzo IP
• 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!
27
• 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 Google
http://arstechnica.com/business/2016/01/ipv6-celebrates-its-20th-birthday-by-reaching-10-percent-
deployment/
28. 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 (nel28
29. Un servizio utile
Ping
Una utility che invia un messaggio di controllo a un nodo
della rete, chiedendogli di rispondere – poi misura il tempo
intercorso dalla richiesta alla risposta
Esempio
http://www.monitis.com/traceroute/
29
30. 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!
30