Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• Testo di riferimento:
James F. Kurose, Keith W. Ross
Reti di Calcolatori e Internet
Un approccio top-down
Settima Edizione (2017)
Pearson
• Disponibile anche in inglese
James F. Kurose, Keith W. Ross
Computer Networking
A top-down approach
Seventh Edition (2017)
Pearson
• Altro materiale
– Slides delle lezioni
– Appunti delle esercitazioni
– Materiale a supporto delle attività di laboratorio
– Video-lezioni di supporto (canale YouTube)
– Letture suggerite (link, articoli)
– Tool per lezioni e laboratorio
• Mix didattico:
– Lezione: 58 ore (circa)
– Esercitazione: 24 ore (circa)
– Laboratorio: 18 ore
Internet
Controllare la
relazione con la rete
è fondamentale
SDN
controller
FTP
FIR: 1 - Introduzione e architetture 24
Storia di Internet: anni ‘90
• 1990: ARPAnet viene
dismessa
• 1991: NSF lascia decadere
le restrizioni sull’uso
commerciale di NSFnet
• Primi anni ‘90: Tim Berners-
Lee inventa il web al Cern di
Ginevra
• 1994: Mosaic, poi Netscape
• Fine ‘90 :
commercializzazione del
Web
Legenda
Ripartizione in settori sulla
base della destinazione
telegeography.com
• Le relazioni di
interconnessione tra le reti
IP di Internet sono simili a
quelle di amicizia tra gli
utenti in un social
Esempio di topologia di
social network
Jan 2017
1.062.660.523
isc.org
(exa=1018)
CISCO VNI
(2016)
telegeography.com
1. INTRODUZIONE E ARCHITETTURE
– Principi generali, architettura e componenti, meccanismi di base
2. SISTEMI DI COMUNICAZIONE
– Come misuro le prestazioni di una rete: il concetto di throughput, i
ritardi nelle reti di telecomunicazioni (tempo di trasmissione, ritardo
di trasferimento, tempo di processing, tempo di accodamento).
3. MODELLI FUNZIONALI
– Come è gestita la comunicazione in rete: il concetto di protocollo di
comunicazione, modelli architetturali a strati, commutazione di
pacchetto e commutazione di circuito
4. PROTOCOLLI APPLICATIVI
– architetture delle applicazioni di rete: approccio client-server ed
approccio peer-to-peer;
– esempi di protocolli applicativi client-server: HTTP, FTP, SMTP;
– architetture peer-to-peer: la rete Gnutella, BitTorrent
5. IL LIVELLO DI TRASPORTO
– caratterizzazione del servizio di comunicazione tra processi
applicativi; trasporto non affidabile: il protocollo UDP (formato del
segmenti);
– trasporto affidabile: il protocollo TCP (formato dei segmenti,
apertura della connessione, controllo di flusso, controllo di
congestione e controllo d’errore).
6. IL LIVELLO DI NETWORKING:
– l’Internet Protocol (IP): servizi offerti da IP, formato dei pacchetti
IPv4
– Gestione di indirizzi IP: formati e notazioni degli indirizzi IPv4, le
classi e gli indirizzi speciali, pianificazione di uno spazio di
indirizzamento IPv4, tecniche di subnetting e supernetting,
assegnamento automatico di indirizzi IP: il Dynamic Host Control
Protocol (DHCP)
– Corrispondenza tra indirizzi IP ed indirizzi simbolici (Il Domain
Name System);
– l’Internet Control Message Protocol (ICMP)
LABORATORIO:
− Attività di base svolta a lezione ed esercitazione:
− Sniffer di rete (Wireshark)
− Ping (PingPlotter), Traceroute, Dig, Strumenti del browser (chrome)
− Protocolli applicativi (con utilizzo di server e client email e web)
− Attività di laboratorio
− Lab 1: Python e scripting per analisi di rete
− Lab 2: Programmazione socket in Python, parte I
− Lab 3: Programmazione socket in Python, parte II
− Lab 4: Configurazione e simulazione di rete (Packet Tracer), parte I
− Lab 5: Configurazione e simulazione di rete (Packet Tracer), parte II
− Lab 6: Attività sperimentali su reti wireless
ISCRIZIONI:
2° semestre (mar-apr)
Dopo l’iscrizione (siate pazienti viene fatta a mano) riceverete
un email con login e password
Usateli per effettuare il primo accesso al portale
Dopo il primo accesso cambiate login (preferibilmente in
nome.cognome) e password e inserite tutte le informazioni
personali
• Concetti di base
– Cos’è Internet I just want to
learn new things
– Come funziona Internet
• Ritardi e Throughput
• Modelli di servizio e livelli
dei protocolli
– Servizio di comunicazione
– Architettura a strati
1b – Concetti base
Cos’è Internet, Architettura e
componenti, Meccanismi base
2) Un’architettura di MIX
rete Internet Internet
Service Service
Provider Internet Provider
Service
Provider
3) Un servizio di
comunicazione
usato dalle
applicazioni e i
protocolli di
comunicazione tra le Interfaccia
componenti del di servizio
sistema
Internet
Cos’è Internet? ISP nazionale o
internazionale
Componenti fisiche
• Milioni di computer connessi
alla rete chiamati host =
terminali
Rete mobile
• Canali di comunicazione di
diversi tipi (fibra, cavo, radio, ISP regionale
satellite, …) link =
collegamenti
• Nodi di rete chiamati router =
nodi
Rete domestica
• Altri nodi di rete locali (switch,
access point, modem, …)
router desktop
server
laptop Rete
aziendale/campus
Apps Apps …
OS OS
ricevere
Server fisici e virtuali per
informazioni per le data center di servizi cloud
loro applicazioni finali
• Ma in realtà hanno
caratteristiche molto
diverse Dispositivi personali
Oggetti intelligenti
• I collegamenti possono
essere di natura fisica
molto diversa (fibra
ottica, cavi coassiali, Fibra ottica
doppini, radio, ecc.)
• Differiscono anche per
tecnologia di
trasmissione
dell’informazione
• E ovviamente per la Cavi coassiali
velocità di trasmissione
Doppini
(rate) misurato in bit al
secondo (b/s, Kb/s,
Mb/s, Gb/s, Tb/s)
Antenne radio
Tecnologie di
accesso a internet
ISP
Rete domestica
Rete
aziendale/campus
Modems
Rete
…
…
Telefonica
ISP
Rete d’accesso
Altri
ISP
Core network (IP)
Mobile Operator
• Le diverse porzioni di
rete sono composte
da tecnologie
diverse
• I router possono
essere interconnessi
da link di vario tipo
• Ma anche da “sotto-
reti” che gestiscono
internamente propri
nodi e link
• Esempio: reti locali
Ethernet e/o WiFi
POP ISP CN CN
CN ISP POP
NAP CN
POP BSP
NAP
POP BSP
CN
POP ISP ISP = Internet Service Provider
BSP = Backbone Service Provider
CN NAP = Network (Neutral) Access Point
CN
POP = Point of Presence
CN = Customer Network
telegeography.com
Browser
Web Server
Web
Ciao Richiesta di
connessione TCP
Ciao
Risposta di
connessione TCP
Sai l’ora?
Get http://www.awl.com/kurose-ross
2:00
<file>
tempo
• Modello client/server
– client chiedono il servizio,
Richieste
i server lo forniscono
– I client fanno domande, i
server rispondono Risposte
• Modello peer-to-
Messaggi
peer:
– Tutti i terminali Messaggi
collaborano senza
distinzione di ruoli (o
Pacchetti, segmenti,
quasi) trame, …
Pacchetti,
segmenti, trame, …
• E’ la domanda che ci
occuperà l’intero corso
• Ma partiamo da
meccanismo di base
• Come può essere trasferita
l’informazione in rete?
– Commutazione di circuito:
circuito dedicato per
chiamata
– Commutazione di
pacchetto: dati inviati in
rete con messaggi
Le risorse per la
comunicazione sono riservate
per la chiamata
• Esempio rete telefonica
5) conversazione
1122
• Risorse di rete
(collegamenti) suddivise
in “pezzi”
• ciascun “pezzo” (= circuito) • suddivisione della
viene allocato ai vari banda in “pezzi”
collegamenti
– divisione di
• le risorse rimangono inattive
frequenza
se non utilizzate (non c’è
condivisione) – divisione di tempo
…
header informazione
pacchetto
R1
A
C
R3
• Modello di nodo
(packet switch/router)
– L’arrivo dei pacchetti è
asincrono
– La capacità dei
collegamenti arbitraria
– Possono esserci conflitti elaborazione
temporali per la
trasmissione
– Serve memorizzare elaborazione
temporaneamente
(coda)
o All’ingresso per elaborazione
analizzare indirizzo
destinazione
o All’uscita per gestire
conflitti
elaborazione
elaborazione
elaborazione
Esempio:
• 1 collegamento da 2.048
Mpbs 32 utenti
• 32 utenti, ciascun utente: Collegamento da 2.048 Mbps
– Chiede pagine web di 50KB
ogni 62.5s in media
• commutazione di circuito: • commutazione di
– 1 canale 64 kbps per utente pacchetto:
– Ritardo di trasferimento pagina – Ritardo di trasferimento
web: 6.25s medio pagina web: 0.22s
(400 kbit /64 kbps = 6,25s) (risultato di teoria delle code)
• Unità di misura:
1 B = 8 bit
1 kbps (kb/s) = 103 bps 1 kB = 103 B
1 Mbps (kb/s) = 106 bps 1 MB = 106 B
1 Gbps (kb/s) = 109 bps 1 GB = 109 B
• Segnale modulato
in frequenza del
GSM:
L [b]
0 0 1 0 1 0 1 0 … 1 0
t
T [s] R [bps]
Si ha:
L
T=
R
0 0 1 0 1 0 1 0
TX
t
distanza
percorsa
D
RX
t
ritardo di
propagazione D
t=
t v
FIR: 1 - Introduzione e architetture 91
Tempi di attraversamento del canale
T
0 0 1 0 1 0 1 0
t TX
RX
t
𝜏 T
t TX
RX
t
t0 t1 t2 t3
Tempo di trasmissione:
t0=inizio trasmissione
T=t2 - t0=t3 – t1=L/R L=lunghezza del pacchetto [bit]
t1=arrivo primo bit R=velocità di trasm. [bit/s]
t2=fine trasmissione Ritardo di propagazione:
t3=arrivo ultimo bit t = t1-t0=t3-t2=D/n D=lunghezza del coll. [m]
n=velocità di prop. [m/s]
t TX
RX
t
t0 t2 t1 t3
Tempo di trasmissione:
t0=inizio trasmissione
T=t2 - t0=t3 – t1=L/R L=lunghezza del pacchetto [bit]
t1=arrivo primo bit R=velocità di trasm. [bit/s]
t2=fine trasmissione Ritardo di propagazione:
t3=arrivo ultimo bit t = t1-t0=t3-t2=D/n D=lunghezza del coll. [m]
n=velocità di prop. [m/s]
t A
B
t
𝐿 𝑙() 𝐿 𝑙), t C
𝑇() = 𝜏() = 𝑇), = 𝜏), =
𝑅() 𝜐 𝑅), 𝜐
A
TAB
B
tAB TBC
C
tBC
CPU System
NIC Network interface 1
Bus
DMA
Ctrl
NIC Network interface 2
3 1 DMA
2 Xfer
1. Packet input
2. Header processing NIC = Network Interface Controller
Routing table lookup DMA = Direct Memory Access
DMA transaction
3. Packet output
Output
port
Input
port …
…
…
Switch matrix
…
Collega fisicamente
…
Match Action
Match table
Input
port
Cerca ad esempio l’indirizzo di Output
port
destinazione tra le righe della tabella e
…
Elaborazione
Arrivo pacchetti pacchetti e scelta
dalle interfacce dell’uscita
A
TAB
Negli apparati ben
dimensionati: 𝑃) ≈ 0
B
tAB TBC
C
tBC
I pacchetti possono
a b attendere nella coda
d’uscita di un’interfaccia
A
𝑇23
attesa
B
t1 𝑇45
𝑇43
C
t2
FIR: 1 - Introduzione e architetture 102
Ritardo di accodamento Interfacce diverse hanno
code d’uscita separate
Esempio 2
ed indipendenti
A B C
1 2
3 D
a b
Dest. C Dest. D
A
𝑇23
Dest. C
B
t1 𝑇43
C
t2
D
a b
Dest. C Dest. D
A
𝑇23 𝑇25
Dest. D
B
t1 𝑇65
D
t3
elaborazione
elaborazione
elaborazione
Ta
R = velocità del link [b/s]
L = lunghezza pacchetto [bits]
l = frequenza media di arrivo dei pacchetti
[pack/s]
Definiamo:
µ = frequenza di trasmissione dei pacchetti [pack/s]
Si ha:
𝑅
𝜇=
𝐿 1 𝜆/𝜇
Si può mostrare che sotto alcuni condizioni sulla
statistica degli arrivi e la distribuzione delle
lunghezze dei pacchetti: 1 1
𝑇3 = −
𝜇−𝜆 𝜇
Nodo A Nodo B
colloquio
Ente Ente
A B
servizio di comunicazione
Ente Ente
A B
Nodo A Nodo B
colloquio
Ente Ente
A B
primitive di servizio
canale bidirezionale
– instaurazione della
Trasferimento informazione
connessione
– trasferimento
dell’informazione
Chiusura della connessione
– rilascio delle
connessione
• modalità senza
connessione Trasferimento informazione
Nodo A Nodo B
colloquio
Ente Ente
A2 B2
colloquio
Ente Ente
A1 header Dati PDU B1
canale bidirezionale
Nodo A Nodo B
colloquio
Ente Ente
A2 B2
colloquio
Ente Ente
A1 header Dati PDU B1
canale bidirezionale
header dati
livello 5 livello 5
livello 4 livello 4
livello 3 livello 3
livello 2 livello 2
livello 1 livello 1
5 5
livello 5 livello 5
4 5 4 5 livello 4
livello 4
3 4 5 3 4 5 livello 3
livello 3
2 3 4 5 2 3 4 5 livello 2
livello 2
1 2 3 4 5 livello 1
livello 1
Messages Messaggi
Application Applicazione
Segments Segmenti
Transport Trasporto
Packets Pacchetti
Network Rete
Frames Trame
Data Link Linea
Bits Bit
Physical Fisico
L’etichetta che
mi consente di Porta:
fare Porta:
80 25
multiplazione è il
numero di porta
Indirizzo Indirizzo
di rete: di rete:
131.175.21.2 92.35.47.58
timeout
Controllo
pacchetto Controllo
pacchetto errore
errore
ACK
Se
Trasmissione
nessun
errore
Timer attesa
ACK Ricezione
no
ACK?
La funzione di controllo Errore?
si
d’errore è di solito no
si
implementata a livello di Trasmissione ACK
end Linea (2) e Trasporto (4) end
Il pacchetto può
Entità livello
arrivare dal livello superiore
superiore passato col
parametro INDIRIZZO pacchetto
Il pacchetto può
Entità livello
arrivare dal livello superiore
superiore passato col
parametro INDIRIZZO
Il pacchetto può
arrivare da una
porta d’ingresso pacchetto
…
viene consultato usando
l’indirizzo come parametro di Table lookup
ricerca Port
Entità selection
instradante
OSSERVAZIONE: Se il pacchetto arriva
pacchetto
da una porta d’ingresso, non sale mai
più in alto nei livelli salvo che non sia
giunto alla destinazione finale
• Esempio: Proxy
Esempio Proxy:
Funzione di
Proxy instradamento a
Application
livello 5!!!
Terminale Transport
Application Application
Network
Transport Transport
Data Link
Network Network
Physical
Data Link Data Link
Physical Physical
tabella di routing
indirizzo uscita
Si veda corso
SDN
controller
SDN del terzo
anno
~8 min
6
10 distanza Terra-Luna
d
t= centro città
cx 10
0 1 km min
LAN
stanza ms s
-2 accanto
10
1m vuoto
ns µs guida
-4
10
-10 -8 -6 -4 -2 0 2
10 10 10 10 10 10 10
• cx = Velocità di propagazione dei segnali Ritardo di propagazione (s)
elettromagnetici
– Propagazione libera (onde radio, vuoto, aria): co @ 300000 km/s
– Propagazione guidata (cavi in rame, fibra ottica, guide d’onda): cg @ 200000 km/s
• d = distanza percorsa [km]
• t = ritardo di propagazione [s]
Secondo “triangolo magico”
Internet
(2007) 1017
Trasmissione dati
Tempo di trasmissione (min)
-11 -9 -7 -5 -3 -1 1 3
10 10 10 10 10 10 10 10
14
10
14 tutti i libri del mondo (txt)
10 64 kbit/s
2 Mbit/s HD DVD 12
10
L br / layer
T 10
libro pdf
6
C
10
6 trame
10 SDH/
PDH 4
pagina web 10
4 (txt) Lmax
10 e-mail
Ethernet g 2
Lmin 10
2
10 min h
1 byte
ps ns µs ms s 0
10
1 bit 0
• C = Velocità di trasmissione della sorgente [bit/s] 10
-10 -8 -6 -4 -2 0 2 4
10 10 10 10 10 10 10 10
• L = Quantità d’informazione trasmessa [bit]
Tempo di trasmissione (s)
• T = Tempo di trasmissione [s]