Sei sulla pagina 1di 240

SICUREZZA INFORMATICA

RETI DI CALCOLATORI II

Riepilogo di
Reti di Calcolatori

Prof. PIER LUCA MONTESSORO

Facoltà di Ingegneria
Università degli Studi di Udine

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 1


Nota di Copyright
Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul
copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle
slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video,
audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro,
Università degli Studi di Udine.
Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca,
scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero
dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di
lucro. In tal caso non è richiesta alcuna autorizzazione.
Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su
supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non
esplicitamente autorizzata per iscritto, a priori, da parte degli autori.
L’informazione contenuta in queste slide è ritenuta essere accurata alla data della
pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata
in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti
senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste
slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità,
aggiornamento dell’informazione).
In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste
slide.
In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non
devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 2
Sommario
• Concetti fondamentali
• Principi di funzionamento delle reti locali
• Principi di funzionamento delle reti
geografiche
• Reti locali e reti geografiche
• Il livello di trasporto
• Le applicazioni

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 3


Sommario
• Concetti fondamentali
• Mezzi trasmissivi e cenni sulle codifiche di
livello fisico
• Multiplexing (nel tempo, sincrono o asincrono,
in frequenza o in lunghezza d’onda)
• Commutazione (di circuito, di pacchetto, di
cella)
• Protocolli (connessi, non connessi, con
riscontro, senza riscontro)
• Architetture di rete: ISO/OSI e TCP/IP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 4


Doppino (TP: Twisted Pair)

guaina
eventuale coppie
schermatura
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 5
Doppino (TP: Twisted Pair)

FULL-DUPLEX
(4 CANALI INDIPENDENTI) !!!

guaina STANDARD NEL CABLAGGIO


DELLE RETI
eventuale coppieLOCALI
schermatura
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 6
Trasmissione bilanciata

+Vin/2 +Vin/2

Vin Vout
-Vin/2 -Vin/2

Vin ⎛ Vin ⎞
Vout = − ⎜ − ⎟ = Vin
2 ⎝ 2 ⎠

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 7


Emissione di disturbi elettromagnetici
I

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 8


Immunità ai disturbi elettromagnetici

+Vin/2 +Vin/2 + Vn

Vin Vout
-Vin/2 -Vin/2 + Vn

Vin ⎛ Vin ⎞
Vout = + Vn − ⎜ − + Vn ⎟ = Vin
2 ⎝ 2 ⎠
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 9
Struttura di una fibra ottica

core cladding

rivestimento
guaina
primario
protettiva
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 10
Cono di accettazione

αi n1 = 1. 5
n2 = 1.475
αc = 90º - αi ≅ 79.5º

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 11


Dispersione modale M1
M1 M4
M2 M3
M2
M3
M4

t t
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 12
Fibre “graded index”
raggio
n
FIBRE
50 / 125
raggio 62.5 / 125

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 13


Fibre monomodali

FIBRE
8 / 125
9 / 125
10 / 125
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 14
Connettorizzazione e giunte
• La difficoltà di interconnettere fibre
ottiche aumenta al diminuire delle
dimensioni del core.
10/125 50/125

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 15


Connettore e bussola SC

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 16


Nuovi connettori per fibra ottica
• Connettori multifibra

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 17


Codifica Manchester
flusso di bit 0 1 0 1 0 1 0 0 1 1 1 0
clock del
trasmettitore

+
Manchester
-

CODIFICA INSIEME
IL CLOCK E I DATI
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 18
Analisi della codifica Manchester
flusso di bit 0 0 0 0 0 0 0 0 0 0 0 0
+
Manchester
-
Tb
Tf

T f = Tb ⇒ f f = bit rate
Esempio: 10 Mb/s ⇒ ff = 10 MHz
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 19
NRZI: non-return-to-zero-inverted
(on one)
flusso di bit 0 1 0 1 0 1 0 0 1 1 1 0
clock del
trasmettitore

+
NRZI
-

TRANSIZIONE = 1
MANTIENE LO STATO = 0
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 20
4B5B
in trasmissione:

0000 11110
4B5B NRZI
encoder encoder

in ricezione:

11110 0000
NRZI 4B5B
decoder decoder

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 21


4B5B: alcuni esempi
simbolo codifica significato
0 11110 quartetto di dato di valore 0
1 01001 quartetto di dato di valore 1
2 10100 quartetto di dato di valore 2
... ... ...
E 11100 quartetto di dato di valore 14
F 11101 quartetto di dato di valore 15
Q 00000 linea in stato “quiet”
I 11111 linea in stato “idle”
H 00100 halt
J 11000 start delimiter (I parte)
K 10001 start delimiter (II parte)
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 22
Analisi di NRZI
flusso di bit 1 1 1 1 1 1 1 1 1 1 1 1
+
NRZI
-
Tb
Tf
1
T f = 2Tb ⇒ f f = bit rate
2
Esempio: 125 Mb/s ⇒ ff = 62.5 MHz
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 23
Codifica MLT-3
flusso di bit 0 1 0 1 0 1 0 0 1 1 1 0
clock del
trasmettitore

+
MLT-3 0
-
LO STATO CAMBIA
(BIT A 1) CICLICAMENTE:
0+0-0+0-0+...
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 24
Analisi di MLT-3
flusso di bit 1 1 1 1 1 1 1 1 1 1 1 1
+
MLT-3 0
-
Tb
Tf
1
T f = 4Tb ⇒ f f = bit rate
4
Esempio: 125 Mb/s ⇒ ff = 31.25 MHz
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 25
Sommario
• Concetti fondamentali
• Mezzi trasmissivi e cenni sulle codifiche di
livello fisico
• Multiplexing (nel tempo, sincrono o asincrono,
in frequenza o in lunghezza d’onda)
• Commutazione (di circuito, di pacchetto, di
cella)
• Protocolli (connessi, non connessi, con
riscontro, senza riscontro)
• Architetture di rete: ISO/OSI e TCP/IP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 26


Canali locali e geografici
UDINE

canali locali

MILANO

canali geografici
BOLOGNA
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 27
FDM
(Frequency Division Multiplexing)
canale 1

3 f(kHz) 60 f
canale 2 c. 1 c. 2 c. 3

3 f(kHz) 64 f 60 64 68 f
canale 3
esempio:
3 f(kHz) 68 f canali telefonici
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 28
WDM
(Wavelength Division Multiplexing)
• Variante di FDM utilizzata per le fibre
ottiche

λ
λ

prisma di
fibra diffrazione
λ
condivisa
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 29
TDM
(Time Division Multiplexing)
• Adatto per tecnologie interamente digitali

... canale 1 canale 2 canale 3 canale 1 ...


...00101101001101001011101011010101010...
t

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 30


TDM: trama E1 (Europa)

256 bit (125 μs)

canale 0 canale 1 canale 2 canale 32

8 bit di dato
canale di sincronismo
canale 16: controllo
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 31
Gerarchie
7 flussi T3
6 flussi T2
7:1
4 flussi T1
6:1 T4
274.176 Mb/s
4:1 T3
T2 44.736 Mb/s
6.312 Mb/s
T1
1.544 Mb/s Inserimento/estrazione
dei canali complesso e costoso
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 32
Gerarchie sincrone: SDH/SONET
90 ottetti
3 ottetti
overhead di sezione
9 ottetti

trama
puntatore ai dati
SONET
125 μs

)
ad
)
ad

o
yl
o

pa
yl
pa

(
trama
ti
(

da
ti

SONET
da

overhead overhead di percorso 125 μs


di linea (header del protocollo)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 33


Sommario
• Concetti fondamentali
• Mezzi trasmissivi e cenni sulle codifiche di
livello fisico
• Multiplexing (nel tempo, sincrono o asincrono,
in frequenza o in lunghezza d’onda)
• Commutazione (di circuito, di pacchetto, di
cella)
• Protocolli (connessi, non connessi, con
riscontro, senza riscontro)
• Architetture di rete: ISO/OSI e TCP/IP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 34


Commutazione di circuito

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 35


Commutazione di circuito

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 36


Commutazione di circuito
busy

busy

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 37


Commutazione di pacchetto

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 38


Commutazione di pacchetto

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 39


Pacchetto

indirizzo indirizzo
dati FCS
destinatario mittente

header info tail


(intestazione) (coda)
packet
(pacchetto)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 40


ATM
Asynchronous Transfer Mode
• Per aumentare le prestazioni della
commutazione di pacchetto è necessario
realizzare in hardware l’instradamento

• Pacchetti piccoli di dimensione fissa


IN ATM I PACCHETTI
SI CHIAMANO “CELLE”
E CONTENGONO 53 BYTE

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 41


Celle ATM

HEADER PAYLOAD

5 ottetti 48 ottetti
53 ottetti

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 42


look-up table
Switch ATM port #2
out port new label label
swapping
5 D

1 C

C
B D 1 1
2 2

...
D
... 5

...
IN OUT
n m
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 43
Sommario
• Concetti fondamentali
• Mezzi trasmissivi e cenni sulle codifiche di
livello fisico
• Multiplexing (nel tempo, sincrono o asincrono,
in frequenza o in lunghezza d’onda)
• Commutazione (di circuito, di pacchetto, di
cella)
• Protocolli (connessi, non connessi, con
riscontro, senza riscontro)
• Architetture di rete: ISO/OSI e TCP/IP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 44


Servizi orientati alla connessione
• “Connection oriented”
• Modello telefonico
• si apre la connessione
• si scambiano i messaggi
• si chiude la connessione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 45


Servizi non orientati alla connessione
• “Connectionless”
• Modello postale
• si affida il messaggio al sistema di inoltro

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 46


Caratteristiche dei protocolli
connessi e non connessi
connesso non conn.

setup iniziale sì no
durante nei
indirizzo di destinazione il setup pacchetti
non
ordine dei pacchetti garantito
garantito
controllo del flusso sì no

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 47


Servizi affidabili
• Utilizzano le primitive response/confirm
per gestire la ritrasmissione in caso di
errori
• Garantiscono la ricezione completa e
corretta di tutti i messaggi
• Possono introdurre ritardi inaccettabili

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 48


Servizi non affidabili
• Non garantiscono la corretta ricezione
dei messaggi
• Utilizzano soltanto le primitive
request/response

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 49


Un esempio
connect.request
connect.indication
connect.response
connect.confirm
data.request
data.indication
data.response
data.confirm ...
...
disconnect.request
disconnect.indication
servizio orientato alla connessione affidabile
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 50
Servizi datagram
• Senza riscontro (non usano
response/confirm), in analogia con i
telegrammi
• Sono servizi
• non orientati alla connessione
• non affidabili

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 51


Sommario
• Concetti fondamentali
• Mezzi trasmissivi e cenni sulle codifiche di
livello fisico
• Multiplexing (nel tempo, sincrono o asincrono,
in frequenza o in lunghezza d’onda)
• Commutazione (di circuito, di pacchetto, di
cella)
• Protocolli (connessi, non connessi, con
riscontro, senza riscontro)
• Architetture di rete: ISO/OSI e TCP/IP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 52


Livelli, protocolli, interfacce

Livello 3 Protocollo di livello 3 Livello 3

Interfaccia tra i livelli 2 / 3

Livello 2 Protocollo di livello 2 Livello 2

Interfaccia tra i livelli 1 / 2

Livello 1 Protocollo di livello 1 Livello 1

mezzo fisico
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 53
Imbustamento multiplo

Livello 3 H3 SDU Livello 3

Livello 2 H2 SDU Livello 2

Livello 1 SDU Livello 1

mezzo fisico
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 54
Imbustamento multiplo

Livello 3 Livello 3

Livello 2 Livello 2

Livello 1 SDU Livello 1

mezzo fisico
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 55
Imbustamento multiplo

Livello 3 H3 SDU Livello 3

Livello 2 H2 SDU Livello 2

Livello 1 SDU Livello 1

mezzo fisico
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 56
Il modello ISO/OSI

7 applicazione
6 presentazione
5 sessione
4 trasporto
3 network
2 data link
1 fisico
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 57
appl. appl.
Trasmissione
present. present.

sessione sessione

trasporto trasporto

network network network network

data link data link data link data link

fisico fisico fisico fisico


sottorete di comunicazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 58
Internet Protocol Suite (TCP/IP)
7 applicazione
applicazione
6 presentazione (telnet, FTP, SMTP,
DNS, HTTP, ecc.)
5 sessione
4 trasporto trasporto (TCP e UDP)
3 network network (IP, ARP, ecc.)
2 data link host - rete
1 fisico (non specificato)
OSI TCP/IP
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 59
Sommario
• Principi di funzionamento delle reti locali
• Cablaggio
• Dalla condivisione del mezzo trasmissivo allo
switching

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 60


Struttura di un cablaggio tipico
permutatore di piano
(floor distributor)

cablaggio orizzontale
(horizontal cabling)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 61


Struttura di un cablaggio tipico
cablaggio verticale o
dorsale
(building backbone)
permutatore di edificio
(building distributor)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 62


Struttura di un cablaggio tipico

permutatore di campus dorsale di campus

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 63


Componenti di un cablaggio tipico
• Cablaggio orizzontale
• doppino in rame a 4 coppie (UTP o FTP)
di categoria 5

• prese RJ45 di categoria 5 (almeno 2 per


posto di lavoro)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 64


Componenti di un cablaggio tipico
• Cablaggio verticale
• doppino multicoppia per la telefonia
• fibra ottica per la rete dati e per eventuali
altri servizi

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 65


Componenti di un cablaggio tipico
• Permutazione
• per cavi in rame

• per fibra ottica

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 66


Quanti e quali standard
• TIA/EIA 568A standard americano per i
cablaggi di edifici commerciali di tipo
office oriented (1995)
• ISO/IEC IS 11801 standard
internazionale per i cablaggi di edifici
commerciali di tipo office oriented (1995)
• EN 50173 standard europeo derivato da
ISO/IEC IS 11801

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 67


Sommario
• Principi di funzionamento delle reti locali
• Cablaggio
• Dalla condivisione del mezzo trasmissivo allo
switching

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 68


Condivisione del canale trasmissivo

stazione A

stazione B

stazione C

stazione D

t
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 69
Canale fisicamente broadcast
BLA BLA BLA ...

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 70


Canale logicamente broadcast

HUB (concentratore, repeater)

BLA BLA BLA ...


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 71
Indirizzi MAC
• 6 byte (48 bit), rappresentati come 6
coppie di cifre esadecimali
• Unici a livello mondiale
• primi 3 byte: vendor code o OUI
(Organization Unique Identifier)
• restanti 3 byte: numero progressivo
assegnato dal costruttore
• Esempio:
08 - 00 - 2B - 3C - 44 - 1F
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 72
Indirizzi MAC
• Singlecast
• il primo bit trasmesso sul canale è 0
(primo byte pari), indica una singola
stazione
• Multicast
• il primo bit trasmesso sul canale è 1
(primo byte dispari), indica un gruppo di
stazioni
• Broadcast
• tutti i bit a 1 (FF-FF-FF-FF-FF-FF), indica
tutte le stazioni
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 73
“Il pacchetto è per me?”
• Broadcast
• sì, sempre
• Multicast
• soltanto se l’indirizzo è stato inserito dal
software applicativo in una apposita
tabella nella RAM della scheda di rete
• Singlecast
• se l’indirizzo è quello della scheda di rete
oppure se è uguale a quello, valido solo
localmente, scritto dal software
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 74
Ethernet / 802.3
• Formato del pacchetto:
ottetti (byte) da 0 da 0
7 1 6 6 2 a 1500 a 46 4
dati
pre. SFD DSAP SSAP len pad FCS
(LLC-PDU)

• Protocollo MAC (Medium Access Control):


CSMA/CD

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 75


Ethernet / 802.3: le origini
• Mezzo condiviso (inizialmente cavo
coassiale)
• Protocollo a contesa: CSMA/CD
• Superato dagli switch
• Cosa ci resta?
• Formato del pacchetto
• Variante per reti wireless (WiFi):
CSMA/CA

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 76


“CS”: Carrier Sense

QUALCUNO STA
TRASMETTENDO?

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 77


“CS”: Carrier Sense
IL MEZZO È LIBERO:
POSSO INIZIARE LA
TRASMISSIONE

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 78


“MA”: Multiple Access (?)

BLA BLA BLA ...

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 79


“MA”: Multiple Access (?)
DOVREI TRASMETTERE,
MA DEVO ASPETTARE
BLA BLA BLA ...

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 80


“CS”: Carrier Sense (II)

IL MEZZO IL MEZZO
È LIBERO È LIBERO

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 81


“MA”: Multiple Access (!)

BLA BLA BLA ...


BLA BLA BLA ...

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 82


“CD”: Collision Detection
C’È STATA UNA C’È STATA UNA
COLLISIONE! COLLISIONE!

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 83


Annullamento della trasmissione

SEQUENZA DI
SEQUENZA DI JAMMING
JAMMING

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 84


Backoff
ATTENDO ATTENDO
PRIMA DI PRIMA DI
RIPROVARE RIPROVARE

A B C D

G F E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 85


10BASE-T

Tx
Rx

Rx
Tx

repeater
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 86
10BASE-T: ripetizione delle trame

repeater
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 87
10BASE-T: collisione

repeater
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 88
Repeater
7 applicazione applicazione 7
6 presentazione presentazione 6
5 sessione sessione 5
4 trasporto trasporto 4
3 network network 3
2 data link data link 2
1 fisico fisico fisico fisico 1

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 89


I bridge

livelli livelli
superiori superiori

LLC LLC
MAC MAC relay MAC MAC
fisico fisico fisico fisico

LAN 1 LAN 2
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 90
Esempio di funzionamento
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1

B D

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 91


Trasmissione da A a B
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1

SSAP DSAP D
B
... 08-00-2B-3A-11-40 08-00-2B-F5-76-CD ...

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 92


Trasmissione da A a B
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1

B D

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 93


Trasmissione da A a B
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1
A È SULLA
PORTA 1 D
B

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 94


Trasmissione da A a B
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1
filtering database
address port
B 08-00-2B-3A-11-40 1 D

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 95


Trasmissione da A a B
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1
NON SO DOV’È B:
B INOLTRO IL D
PACCHETTO
08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 96


Trasmissione da B ad A
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1
porta 2
SSAP DSAP
... 08-00-2B-F5-76-CD 08-00-2B-3A-11-40
LAN 2...
LAN 1

B D

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 97


Trasmissione da B ad A
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1

B D

08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 98


Trasmissione da B ad A
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1
filtering database
address port
B 08-00-2B-3A-11-40 1 D
08-00-2B-F5-76-CD 1
08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 99


Trasmissione da B ad A
08-00-5A-02-55-FB
08-00-2B-3A-11-40
C
A BRIDGE
porta 1 porta 2

LAN 2
LAN 1
SO DOV’È A,
NON INOLTRO D
B
IL PACCHETTO
08-00-2B-F5-76-CD 08-00-5A-78-D2-90

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 100


Bridge multiporta
• Estensione del bridge a 2 porte
BRIDGE
p.1 p.2 p.3 ... p.N
...

filtering database se l’indirizzo


address port action age non è presente,
08-00-2B-3A-11-40 1 forward 4 il pacchetto
08-00-2B-F5-76-CD 4 forward 2 viene inoltrato
08-00-5A-02-55-FB 2 forward 1 su tutte le porte
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 101
Architettura di un bridge

CPU general purpose


LAN 2
Bridge Porta 2
Processing

filtering
Porta 1 database
LAN 1 memoria RAM

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 102


Architettura di uno switch
CPU + RAM

LAN LAN
interface interface
LAN 1 card card LAN n
filtering matrice
LAN
database di
interface commutazione
LAN 2 card

local
forwarding ASIC
table

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 103


Applicazioni peer-to-peer
• Flussi di traffico prevalentemente tra
coppie di stazioni disgiunte

switch

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 104


Applicazioni client-server
• Normalmente si impiegano switch con
connessioni a velocità diverse

switch 100 Mb/s

10 Mb/s

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 105


Dorsali
switch
dorsale a
100 Mb/s
switch

10 Mb/s
10 Mb/s

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 106


Fault tolerance

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 107


Sommario
• Principi di funzionamento delle reti geografiche
• I router
• Indirizzi di livello 3, l’Internet Protocol (IP)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 108


I router

livelli livelli
superiori superiori

network network relay network network

data link data link data link data link

fisico fisico fisico fisico

LAN 1 LAN 2
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 109
Il livello network

LAN

router

sottorete di
comunicazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 110
appl. appl.
Il livello network
present. present.

sessione sessione

trasporto trasporto

network network network network

data link data link data link data link

fisico fisico fisico fisico


sottorete di comunicazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 111
Tabelle di instradamento

algoritmo di calcolo della


tabella di instradamento
ROUTER

tabella di instradamento

processo di instradamento

LAN WAN WAN

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 112


Proprietà degli algoritmi di routing
• Correttezza
• Semplicità
• i router hanno memoria e capacità di
calcolo finite e limitate

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 113


Proprietà degli algoritmi di routing
• Robustezza
• poiché nel tempo i nodi e i collegamenti
si guastano, vengono riparati e
riprendono ad operare, gli algoritmi
devono continuare a funzionare
affrontando i cambiamenti nella rete
• Stabilità
• devono convergere (arrivare ad uno stato
di equilibrio)
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 114
Tipi di algoritmo
• Non adattativi (routing statico)
• criteri fissi di instradamento
• Adattativi (routing dinamico)
• le tabelle di instradamento vengono
continuamente aggiornate in funzione di
informazioni sullo stato della rete
(topologia e traffico)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 115


Sommario
• Principi di funzionamento delle reti geografiche
• I router
• Indirizzi di livello 3, l’Internet Protocol (IP)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 116


Indirizzi IP
• 32 bit (4 byte)
• Si scrivono come 4 numeri decimali
separati dal carattere “.”
• Ogni numero rappresenta il contenuto di
un byte ed è quindi compreso tra 0 e 255
• Esempio:
00001001 000100011 11100001 00101101

9.35.225.45
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 117
Indirizzi IP
• Sono organizzati gerarchicamente in reti
• Le reti sono raggruppate in classi di
dimensione variabile:
• poche reti con molti nodi
• tante reti con pochi nodi

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 118


Classi di indirizzamento
31 30 24 23 0

0 network host
Classe A
31 30 29 16 15 0

10 network host
Classe B
31 30 29 28 8 7 0

110 network host

Classe C
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 119
Classi di indirizzamento

31 30 29 28 27 0

1110 multicast address

Classe D

31 30 29 28 27 0

1111 reserved for future use

Classe E

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 120


Indirizzi speciali
• “Questo host”:
• 00000000 00000000 00000000 00000000
(0.0.0.0)
• Un host di questa rete:
• zeri nel campo rete seguiti dal campo host
• Broadcast su questa rete
• 11111111 11111111 11111111 11111111
(255.255.255.255)
• Broadcast su una rete remota
• identificatore della rete seguito da tutti 1 nel
campo host
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 121
Classe A
• Campo rete
• 7 bit
• max 128 reti
• valori compresi tra 0 e 127
• Campo host
• 24 bit
• max 16M host

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 122


Classe B
• Campo rete
• 14 bit
• max 16K reti
• valori compresi tra 128 e 191
• Campo host
• 16 bit
• max 64K host

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 123


Classe C
• Campo rete
• 21 bit
• max 2M reti
• valori compresi tra 192 e 223
• Campo host
• 8 bit
• max 256 host

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 124


Subnetting
• Consente un ulteriore livello di gerarchia
• N bit più significativi del campo host
identificano la subnet

indirizzo di classe B dopo il subnetting

1 0

network subnet host


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 125
Netmask
• Parametro che specifica il subnetting
• bit a 1 in corrispondenza dei campi
network e subnetwork
• bit a 0 in corrispondenza del campo host
• Esempio: rete di classe B partizionata in
16 subnet da 4096 host
• netmask: 255.255.240.0, cioè
11111111 11111111 11110000 00000000

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 126


Subnet e reti fisiche
• IP assume una corrispondenza biunivoca
tra reti fisiche e subnet:
• routing implicito all’interno di una subnet
• Realizzazioni più moderne ammettono
• più subnet sulla stessa rete fisica
• singola subnet su più reti fisiche distinte
(Proxy ARP)
• Il routing tra subnet diverse è esplicito e
gestito dai router tramite le tabelle di
instradamento
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 127
Assegnazione degli indirizzi
• Gli indirizzi vengono associati alle
interfacce di rete
• Ad ogni interfaccia sono note le seguenti
informazioni:
• proprio indirizzo IP
• netmask
• indirizzo IP del “default gateway”: il router
da utilizzare per inviare messaggi al di
fuori della propria subnet / rete fisica
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 128
Sommario
• Reti locali e reti geografiche
• Indirizzi di livello 2 e di livello 3, il protocollo
ARP
• Il layer 3 switching

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 129


Esempio

rete 172.16.0.0
WiFi
netmask 255.255.255.0
Ethernet router
router
PVC ATM

linea ISDN
per backup layer II
router
switch
Ethernet

router

Ethernet
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 130
Indirizzamento IP
172.16.1.2 172.16.3.3
172.16.1.3
172.16.3.2
172.16.1.254
172.16.5.254
172.16.1.1 router
router
172.16.5.253 172.16.3.252
172.16.4.254
172.16.4.253 layer II
router
172.16.2.2 switch

172.16.2.254
172.16.3.253
router
172.16.3.254 172.16.3.1
172.16.2.1
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 131
ARP: Address Resolution Protocol
• Sfrutta la trasmissione broadcast delle
LAN
• Viene inviato in broadcast (MAC DSAP
FF-FF-FF-FF-FF-FF) un pacchetto
contenente l’indirizzo IP di cui si cerca il
corrispondente MAC
• Tutte le stazioni leggono il pacchetto,
quella interessata risponde

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 132


ARP: Address Resolution Protocol
158.109.1.39
DEVO INVIARE 08-00-2B-BC-17-24
UN MESSAGGIO A
158.109.1.40

158.109.1.38 158.109.1.40
08-00-2B-92-30-03 08-00-2B-09-56-8A
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 133
ARP: Address Resolution Protocol
158.109.1.39
MA SONO IO!
08-00-2B-BC-17-24

pacchetto ARP
MAC DSAP = FF-FF-FF-FF-FF-FF
158.109.1.38 IP cercato = 158.109.1.40
158.109.1.40
08-00-2B-92-30-03 08-00-2B-09-56-8A
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 134
ARP: Address Resolution Protocol
158.109.1.39
BENE, ORA SO 08-00-2B-BC-17-24
COME INVIARE
IL MESSAGGIO

pacchetto ARP di risposta


MAC DSAP = 08-00-2B-92-30-03
158.109.1.38MAC cercato = 08-00-2B-09-56-8A
158.109.1.40
08-00-2B-92-30-03 08-00-2B-09-56-8A
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 135
ARP: Address Resolution Protocol
158.109.1.39
08-00-2B-BC-17-24

messaggio
MAC DSAP = 08-00-2B-09-56-8A
158.109.1.38 IP DSAP = 158.109.1.40
158.109.1.40
08-00-2B-92-30-03 08-00-2B-09-56-8A
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 136
172.16.1.2 172.16.3.3
172.16.1.3
172.16.3.2
172.16.1.254
172.16.5.254
172.16.1.1 router
router
172.16.5.253 172.16.3.252
172.16.4.254
172.16.4.253 layer II
router
172.16.2.2 switch

172.16.2.254
172.16.3.253
router
172.16.3.254 172.16.3.1
172.16.2.1
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 137
172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch

172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 138


172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch
La stazione 172.16.1.3 conosce:
• il proprio indirizzo IP 172.16.3.1
• la netmask (255.255.255.0)
router 08-00-2B-45-67-22
• il default gateway (172.16.1.254)
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 139
172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00 -2B-3D-BEil-19
La stazione 172.16.1.3 confronta proprio
indirizzo IP con quellorouter
di destinazione layer II
switch
(172.16.3.1) mascherando il risultato con
la netmask.
172.16.3.1è
Risultato: scopre che la destinazione
router 08-00-2B-45-67-22
su una diversa subnet.
Quindi è necessario usare il router.
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 140
172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch
La stazione 172.16.1.3 invia un ARP,
in broadcast, per scoprire l’indirizzo MAC
di 172.16.1.254. 172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 141


172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
Il router risponde comunicando il proprio MAC:
switch
08-00-2B-4A-55-30.
172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 142


172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
La stazione 172.16.1.3router
invia il messaggio
switch
al router. Il pacchetto ha una busta di livello 3
dentro una busta di livello 2, con DSAP differenti:
172.16.3.1
• IP DSAP: 172.16.3.1
router (destinazione
08-00-2Bfinale)
-45-67-22
• MAC DSAP: 08-00-2B-4A-55-30 (router)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 143


172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch
Il router, usando le tabelle di instradamento,
imbusta il pacchetto IP in un pacchetto PPP
e lo invia sul PVC ATM. 172.16.3.1
router 08-00-2B-45-67-22
L’indirizzo 172.16.5.253 è utilizzato per gli
algoritmi di routing e per l’instradamento.
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 144
172.16.1.3
08-00-2B-3C-AF-01

172.16.5.253
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch
Il secondo router, usando le tabelle di
instradamento, scopre che il destinatario
172.16.3.1
è adiacente alla sua porta 172.16.3.252
router 08-00-2B-45-67-22
(stessa subnet).

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 145


172.16.1.3
08-00-2B-3C-AF-01
Il secondo router invia un ARP
in broadcast per scoprire il 172.16.5.253
MAC di 172.16.3.1
172.16.1.254
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch

172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 146


172.16.1.3
08-00-2B-3C-AF-01
Trattandosi di un messaggio
broadcast, lo switch lo inoltra
172.16.5.253
172.16.1.254
su tutte le porte
08-00-2B-4A-55-30
router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch

172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 147


172.16.1.3
La stazione 172.16.3.1 risponde
08-00-2B-3C-AF-01
all’ARP comunicando il proprio
Trattandosi di un messaggio
MAC: 08-00-2B-45-67-22.
broadcast, lo switch lo inoltra
172.16.5.253
Lo switch, avendo prima appreso
172.16.1.254
su tutte le porte
la posizione di 08-00-2B-3D-BE-19,
08-00-2B-4A-55-30
inoltra il pacchetto. router
router
172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch

172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 148


172.16.1.3
08-00-2B-3C-AF-01
Il secondo router imbusta il pacchetto
IP in un pacchetto Ethernet con
172.16.5.253
indirizzo di destinazione singlecast
172.16.1.254
08-00-2B-45-67-22 e lo invia.
08-00-2B-4A-55-30
Anche questa volta lo switch inoltra router
router
il pacchetto. 172.16.3.252
172.16.5.254 08-00-2B-3D-BE-19
layer II
router
switch

172.16.3.1
router 08-00-2B-45-67-22

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 149


Sommario
• Reti locali e reti geografiche
• Indirizzi di livello 2 e di livello 3, il protocollo
ARP
• Il layer 3 switching

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 150


Router convenzionale
processi software:
• controllo tabelle di instradamento
• algoritmi di routing
• forwarding

CPU RAM

BUS

I/O I/O I/O I/O

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 151


Layer 3 switch
processi software tabelle di instradamento
• controllo
• algoritmi di routing
CPU RAM

crossbar switch, shared memory

ASIC, ASIC, ASIC, ASIC,


local memory local memory local memory local memory
I/O I/O I/O I/O

forwarding
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 152
Sommario
• Il livello di trasporto
• Funzionalità delegate ai protocolli di livello 4
• Interfaccia verso le applicazioni

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 153


Il livello di trasporto

LAN

comunicazione affidabile
gestita dal livello di trasporto
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 154
appl. appl.
Il livello di trasporto
present. present.

sessione sessione

trasporto protocollo di trasporto trasporto

network network network network

data link data link data link data link

fisico fisico fisico fisico


sottorete di comunicazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 155
appl. appl.
I SERVIZI DELLA
Il livello di trasporto
present. SOTTORETEpresent.
DI
COMUNICAZIONE
sessione SONO CONTROLLATI
sessione
DAL FORNITORE
trasporto protocollo di trasporto trasporto

network network network network

data link data link data link data link

fisico fisico fisico fisico


sottorete di comunicazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 156
I SERVIZI DEL LIVELLO
appl. appl.
Il livello di trasporto
DI TRASPORTO SONO
present. present.
CONTROLLATI DALL’UTENTE
sessione sessione

trasporto protocollo di trasporto trasporto

network network network network

data link data link data link data link

fisico fisico fisico fisico


sottorete di comunicazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 157
Problemi generali
del livello di trasporto
• Simili a quelli del livello data link, ma il
canale fisico è in questo caso l’intera
sottorete di comunicazione

canale fisico
sottorete di
comunicazione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 158


Problemi generali
del livello di trasporto
• Alcune conseguenze:
• l’altra estremità della connessione può
non esistere (a differenza dei canali fisici,
che al limite possono essere guasti)
senza che lo sappiamo
• sono possibili ritardi di decine di secondi
• i pacchetti possono seguire strade
diverse e arrivare in ordine diverso da
quello di trasmissione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 159


Sommario
• Il livello di trasporto
• Funzionalità delegate ai protocolli di livello 4
• Interfaccia verso le applicazioni

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 160


Socket per TCP (Berkeley UNIX)
• Esempio di interfaccia verso i programmi
applicativi
• Si basano su un insieme di primitive per
• rendere disponibile un punto di accesso
al servizio per i client remoti
• aprire/chiudere una connessione
• scambiare dati

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 161


Socket per TCP (Berkeley UNIX)
socket crea un punto finale di comunicazione

bind associa un indirizzo locale a un socket


listen si rende disponibile ad accettare connessioni

accept si blocca nell’attesa di una connessione

connect tenta di stabilire una connessione

send invia dati sulla connessione

receive riceve dati dalla connessione

close chiude la connessione


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 162
Socket per TCP (Berkeley UNIX)
client processo server
• socket
• bind (indirizzo X)
• socket • listen
• connect (indirizzo X) • accept
• (connessione)

• send/receive • send/receive
• close • close
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 163
Sommario
• Le applicazioni
• DNS
• SNMP
• FTP
• Posta elettronica
• Il protocollo HTTP
• Il linguaggio HTML
• La realizzazione di servizi interattivi

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 164


DNS
Domain Name System

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 165


Nomi e indirizzi

C:\> netscape 158.110.1.2:80

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 166


Nomi e indirizzi

C:\> netscape www.uniud.it

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 167


Nomi e indirizzi

• Per pochi nodi:


• file “hosts” (o “hosts.txt”)

• Per tanti nodi:


• DNS (Domain Name System)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 168


DNS

i u d. i t?”
ww. un
c h i è w

RETE

IL DNS RISPONDE
SULLA PORTA 53

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 169


DNS

0. 1 .2 ”
5 8 .1 1
“1

RETE

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 170


Gerarchia dei nomi
domini generici domini nazionali

com edu org gov ... jp it uk ...

acm ieee cnr uniud polito

cc diegm

hydrus lacerta picolit refosco


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 171
Descrittori di risorsa

www.uniud.it 86400 IN A 158.110.1.2

nome dominio
valore
“time to live”
(86400 sono i tipo
secondi in un classe
giorno) (IN = Internet)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 172


Tipi di descrittori
SOA start of authority parametri per questa zona

A address indirizzo IP
dominio che accetta la posta
MX mail exchange
(+ priorità per gestire più alternative)
utilizzato per creare alias di nomi
CNAME canonic name
di dominio (es. di posta elettronica)
PTR pointer alias per un indirizzo IP
descrizione della CPU e del S.O.
HINFO host information
in ASCII
TXT text testo ASCII non interpretato

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 173


Esempio di interrogazione del DNS

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 174


Commands: (identifiers are shown in uppercase, [] means optional)
NAME - print info about the host/domain NAME using default server
NAME1 NAME2 - as above, but use NAME2 as server

Esempio: nslookup (DOS)


help or ? - print info on common commands
set OPTION - set an option
all - print options, current server and host
[no]debug - print debugging information
[no]d2 - print exhaustive debugging information
[no]defname - append domain name to each query
[no]recurse - ask for recursive answer to query
[no]search - use domain search list
[no]vc - always use a virtual circuit
domain=NAME - set default domain name to NAME
srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc.
root=NAME - set root server to NAME
retry=X - set number of retries to X
timeout=X - set initial time-out interval to X seconds
type=X - set query type (ex. A,ANY,CNAME,MX,NS,PTR,SOA,SRV)
querytype=X - same as type
class=X - set query class (ex. IN (Internet), ANY)
[no]msxfr - use MS fast zone transfer
ixfrver=X - current version to use in IXFR transfer request
server NAME - set default server to NAME, using current default server
lserver NAME - set default server to NAME, using initial server
finger [USER] - finger the optional NAME at the current default host
root - set current default server to the root
ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE)
-a - list canonical names and aliases
-d - list all records
-t TYPE - list records of the given type (e.g. A,CNAME,MX,NS,PTR
etc.)
view FILE - sort an 'ls' output file and view it with pg
exit - exit the program

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 175


Gerarchia dei name server

com edu org gov ... jp it uk ...

acm ieee cnr uniud polito

cc diegm

“zona” hydrus lacerta picolit refosco

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 176


Gerarchia dei name server
name server
jp it uk ...
name server
cnr uniud polito

cc diegm name server

hydrus lacerta picolit refosco


host
messaggi UDP
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 177
SNMP
Simple Network Management Protocol

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 178


SNMP
Simple Network Management Protocol

• Consente la gestione di nodi della rete


attraverso la rete stessa
• Consente attività diverse
• configurazione di apparecchiature
• statistiche sul traffico
• segnalazione di guasti

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 179


SNMP
Simple Network Management Protocol

HUB switch HUB

protocollo SNMP
router stazione
agenti SNMP di gestione

PORTA 161
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 180
MIB
Management Information Base
• È la struttura dati che definisce la
collezione di oggetti gestita dal protocollo
SNMP
• Consente alla stazione di gestione di
conoscere le variabili gestite dagli agenti
dei nodi
• Viene integrato da nuove informazioni
quando si installa un nuovo tipo di
apparecchiatura con agente SNMP
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 181
FTP
File Transfer Protocol

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 182


FTP

• Protocollo client/server di livello


applicazione (RFC 959)
• Permette di trasferire file
da un host ad un altro
• Utilizza semplici comandi ASCII

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 183


FTP

Connessione TCP di
controllo
Porta 21
Porta 20
Connessione TCP per lo
scambio dei dati
Client FTP Server FTP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 184


FTP: connessione di controllo

• Si instaura sulla porta 21 di TCP


• Scambio dei comandi e dei messaggi di
risposta tra client e server
• Connessione attiva per tutta la durata
della sessione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 185


FTP: connessione dati

• Si instaura sulla porta 20 di TCP


• Invio e ricezione dei dati (file)
• Per ciascun file da trasferire viene aperta
una nuova connessione dati

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 186


Informazioni di stato

• È necessario che il server mantenga lo


stato dell’utente per tutta la durata della
sessione
• Il server associa la connessione di
controllo con uno specifico account e
tiene traccia della directory corrente

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 187


Posta elettronica

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 188


Posta elettronica
• Formato dei messaggi
• RFC 822
• MIME

• Trasferimento dei messaggi


• SMTP
• POP3
• IMAP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 189


Formato dei messaggi

Ce.Te.M.
Politecnico di Torino
C.so Duca degli Abruzzi 24 Prof. Pier Luca Montessoro
10129 TORINO DIEGM
Università di Udine
Oggetto: registrazione lezioni V. delle Scienze 208
33100 UDINE
Caro prof. Montessoro,
le confermiamo la
prenotazione dello studio di
registrazione per i giorni 16, 17
e 18 dicembre 1999.
Cordiali saluti

Il responsabile
di produzione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 190


Formato dei messaggi

Ce.Te.M.
Politecnico di Torino
C.so Duca degli Abruzzi 24 Prof. Pier Luca Montessoro
10129 TORINO DIEGM
Università di Udine
Oggetto: registrazione lezioni V. delle Scienze 208
33100 UDINE
Caro prof. Montessoro,
le confermiamo la
prenotazione dello studio di
registrazione per i giorni 16, 17 intestazione
e 18 dicembre 1999. busta
Cordiali saluti

Il responsabile corpo
di produzione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 191


Formato dei messaggi
Nome: Prof. Pier Luca Montessoro
corpo intestazione busta

Sede: DIEGM - Università di Udine


Via: V. delle Scienze 208
CAP: 33100
Città: UDINE

Da: Ce.Te.M. - Politecnico di Torino


Indirizzo: C.so Duca degli Abruzzi 24 - 10129 - TORINO
Oggetto: registrazione lezioni

Caro prof. Montessoro,


le confermiamo la prenotazione dello studio di
registrazione per i giorni 16, 17 e 18 dicembre 1999.
Cordiali saluti

Il responsabile
di produzione

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 192


RFC 822
• Campi rappresentati da singole linee di
testo in ASCII
• Formato:
• nome campo
• carattere ‘:’
• valore (se previsto)
• Il testo segue una linea bianca
• Non distingue in maniera precisa i campi
della busta dai campi di intestazione
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 193
RFC 822: campi assimilabili
a quelli della busta
To: destinatario/i primario/i
destinatario/i secondario/i
Cc:
(copia per conoscenza)
copia per conoscenza non notificata
Bcc:
ai destinatari primari e secondari
From: mittente

Sender: indirizzo di posta elettronica del mittente


linea aggiunta da ogni agente
Received:
di trasferimento lungo il percorso
può specificare il percorso
Return-Path:
da seguire per la risposta
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 194
RFC 822: campi assimilabili
a quelli dell’intestazione
Date: data e ora di invio del messaggio
indirizzo di posta elettronica a cui inviare
Reply-To:
le risposte
identificatore (unico) del messaggio
Message-Id:
per futuri riferimenti
In-Reply-To: Message-Id a cui si sta rispondendo

References: altri Message-Id di riferimento

Keywords: parole chiave scelte dall’utente

Subject: argomento del messaggio (una riga)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 195


MIME
Multipurpose Internet Mail Extension

• Aggiunge regole di codifica per i


messaggi non ASCII
• caratteri accentati
• caratteri non alfabetici
• grafica
• contenuti diversi dal testo scritto
(es. informazioni in formato multimediale)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 196


MIME

MIME-Version: versione di MIME utilizzata


descrizione leggibile
Content-Description:
del contenuto del messaggio
Content-Id: identificatore (unico)
codifica utilizzata
Content-Transfer-Encoding
per il corpo del messaggio
Content-Type: la natura del messaggio

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 197


Content-Transfer-Encoding

• Scopo:
• trasformare dati binari o ASCII con
codice superiore a 127 in caratteri ASCII
standard

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 198


Content-Transfer-Encoding
• Base64
• Trasforma gruppi di 3 byte (24 bit) in
gruppi di 4 caratteri ASCII
(rappresentabili su 6 bit, quindi < 127)
• Quoted-printable-encoding
• trasforma in un testo soltanto i caratteri
con codice superiore a 127
(formato “=XX”, XX rappresentazione
esadecimale del codice ASCII)
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 199
Content-Type
• RFC 1521 definisce tipi e sottotipi
• Alcuni esempi
• Content-Type: Text/Plain
• Content-Type: Text/Rich
• Content-Type: Image/Gif
• Content-Type: Image/Jpeg
• Content-Type: Video/Mpeg
• Content-Type: Application/Octet-stream

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 200


Trasferimento dei messaggi
• Trasferimento tra server di posta
elettronica e tra client e server per i
messaggi in uscita
• SMTP

• Trasferimento dal server al client per i


messaggi in arrivo
• POP3
• IMAP
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 201
SMTP
Simple Mail Transfer Protocol

• Risponde alla porta 25


• Semplice protocollo ASCII

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 202


SMTP: alcuni comandi
dal client al server
HELO
seguito dall’indirizzo DNS del client
nella composizione di un nuovo messaggio
MAIL FROM
indica il mittente (user@mailserver)
“recipient to”: destinatario del messaggio
RCPT TO
(una linea RCPT TO per ogni destinatario)
precede il messaggio vero e proprio,
DATA
comprensivo di busta, intestazione e corpo
QUIT chiude la connessione

RFC 821

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 203


Esempio di funzionamento di SMTP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 204


Esempio di funzionamento di SMTP
• Applicazione: telnet
• può essere necessario abilitare l’eco
locale dei caratteri
• NOTA: non funzionerà il tasto di
backspace
• Porta: 25
• Nodo: il mailserver della rete su cui siete
collegati

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 205


Esempio di funzionamento di SMTP
• HELO localhost.domain
• MAIL FROM: user@localhost
• RCPT TO: montessoro@uniud.it
• DATA
From: ...
To: ...
Subject: ...
...
.
• QUIT
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 206
Trasferimento dei messaggi al client
• POP3 (Post Office Protocol)
• vagamente simile a SMTP
• adatto per collegamenti dial-up

• IMAP (Interactive Mail Access Protocol)


• permette la gestione della posta tramite
differenti computer
• i messaggi vengono conservati in un
deposito centrale accessibile da ogni
macchina in rete

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 207


POP3

collegamento
dial-up
Internet

server di posta elettronica


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 208
POP3
1: l’utente si collega e
“scarica” i messaggi ricevuti

Internet

server di posta elettronica


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 209
POP3
2: l’utente si scollega, legge i
messaggi e scrive le risposte

Internet

server di posta elettronica


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 210
POP3
3: l’utente si collega e
spedisce i messaggi

Internet

server di posta elettronica


© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 211
Il protocollo HTTP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 212


HTTP
HyperText Transfer Protocol

• Risponde alla porta 80


• Protocollo ASCII

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 213


Comandi di HTTP

GET richiede la lettura di una pagina Web


richiede la lettura di un’intestazione
HEAD
di una pagina Web
PUT richiede di memorizzare una pagina Web
aggiunge un contributo
POST
alla risorsa specificata
DELETE cancella una pagina Web

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 214


Esempio di funzionamento di HTTP

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 215


HTTP
• Applicazione: telnet
• può essere necessario abilitare l’eco
locale dei caratteri
• NOTA: non funzionerà il tasto di
backspace
• Nodo: allegro.diegm.uniud.it
• Porta 80
• Comando:
• GET /index.html
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 216
Il linguaggio HTML

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 217


Ipertesto
àncora
(anchor)

collegamento
ipertestuale
(link)
parola calda
(hot word)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 218


Ipertesto distribuito
k!
cli c

RETE

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 219


URL: Uniform Resource Locator
protocollo
identificatore della
nome del server risorsa locale (es. file)

http://www.uniud.it/~montessoro/index.html#music

percorso (path) àncora


nome del file
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 220
Common Gateway Interface (CGI)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 221


Common Gateway Interface (CGI)

Web
Server
FORM HTML

dati inseriti
dall’utente programma
CGI
output del
programma
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 222
Dati inseriti dall’utente
• Vengono codificati nel formato:
• nomevariabile=valore&nomevariabile=...
• Inoltre:
• gli spazi bianchi vengono trasformati in ‘+’
• i caratteri non alfanumerici vengono
trasformati in %XX dove XX è la
rappresentazione esadecimale del codice
ASCII

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 223


Java e Javascript

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 224


Java
• Linguaggio orientato agli oggetti simile a
C++
• L’architettura del software di sviluppo e di
supporto al run-time è stata pensata per
massimizzare la portabilità dei
programmi

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 225


Java

sorgente Java

Java
compilatore
virtual
machine
interprete del bytecode
bytecode
sistema operativo dell’host
hardware

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 226


Java e Web
sorgente Java
di un applet

compilatore
client

Web browser con


applet
interprete del bytecode
bytecode
server

sistema operativo
dell’host con software di rete
pagina hardware
HTML
© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 227
Javascript
• Linguaggio interpretato a livello sorgente
(no bytecode)
• Le funzioni Javascript sono incluse nel
file HTML

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 228


PHP (PHP Hypertext Preprocessor)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 229


PHP (PHP Hypertext Preprocessor)

HTML

Web
URL: .../x.html Server
pagina HTML

file HTML
(x.html)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 230


PHP (PHP Hypertext Preprocessor)
HTML
dinamico
Web
URL: .../x.php Server PHP
output
pagina HTML HTML
+ PHP PHP
preprocessor
file PHP
(x.php)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 231


Esempio: HELLO.PHP
<html>
<head>
<title>PHP Test</title>
</head>

<body>
<?php echo "Hello World<p>"; ?>
</body>

</html>

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 232


PHP e form HTML
HTML
dinamico
Web script
Server PHP
form HTML + dati
PHP utente
output PHP
... preprocessor
<FORM action="x.php" file PHP
METHOD="POST">
... (x.php)

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 233


Dati inseriti dall’utente
• Sono direttamente accessibili mediante le
funzioni di libreria PHP
• Non è necessario decodificare la stringa
generata dal browser

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 234


Informazioni di stato

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 235


Cookies

Web
Server
Web
browser

programma
CGI

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 236


Cookies

Web
Server
Web
browser

programma
CGI

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 237


Cookies

Web
Server
Web
browser

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 238


Cookies

Web
Server
Web
browser

programma
CGI

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 239


Come contattare il prof. Montessoro

E-mail: montessoro@uniud.it
Telefono: 0432 558286
Fax: 0432 558251
URL: www.montessoro.it

© 2011 Pier Luca Montessoro (si veda la nota a pagina 2) 240

Potrebbero piacerti anche