La Rete Internet e il protocollo IP a ete te et ep otoco o

Transcript

La Rete Internet e il protocollo IP a ete te et ep otoco o
TCP/IP
Sommario
z Introduzione ad Internet
z L’architettura TCP/IP
z Il protocollo IP
La
a Rete
ete Internet
te et e il protocollo
p otoco o IP
z Routing IP
z Cenni
C
i su IP
IPv6
6
2
TCP/IP
Internet: statistiche (2001)
z 5.6 Milioni Domini Internet
z 56 Milioni di Host
Introduzione
t odu o e ad Internet
te et
z 246 “IP countries”
z 201 Milioni di utenti
z 75% del traffico su Internet è WWW
z 3 Milioni di siti Web
z 8000 ISPs nel mondo (4700+ negli U.S.A.)
4
TCP/IP
Utenti Internet: proiezioni
TCP/IP
Internet Hosts (x1000) 1989
1989--2006
1000000
900000
800000
700000
600000
500000
400000
300000
200000
100000
hosts
0
20
005
20
003
20
001
19
999
19
997
19
995
19
993
19
991
19
989
Source: Nua Internet Surveys
5
6
TCP/IP
Internet: storia
TCP/IP
ARPANET: il primo nodo
z Le origini
g di Internet si p
possono far risalire al p
progetto
g
DARPA
(Defense Advanced Research Project Agency) del DOD
Americano (inizi anni 70')
z Necessità di interconnettere reti dei centri militari, universitari e di
ricerca: definizione della rete ARPANET
z 1973 viene
i
commissionato
i i
t all'Università
ll'U i
ità di St
Stanford
f d il progetto
tt di
una suite di protocolli standard che garantissero connettività a
livello di rete
z Verso la fine degli anni ’70, tale sforzo portò al completamento
dell’Internet Protocol Suite, di cui i due protocolli più noti sono il
TCP e l’IP
¾ comunemente si fa riferimento ad essa con la sigla TCP/IP
z RFC 791
791, “INTERNET PROTOCOL”,
PROTOCOL” Sept.
S t 1981
7
8
TCP/IP
ARPANET: quattro nodi!
TCP/IP
ARPANET: inizia a crescere
9
10
TCP/IP
TCP/IP
ARPANET: 1980
Internet: storia (cont
(cont.))
z 1990: ARPANET cessa le sue attività
z 1990: Barners-Lee (CERN) definisce il WWW
z 1993: Andreessen (NCSA
(NCSA, Illinois) sviluppa il primo WWW
browser
z Evoluzione:
¾ applicazioni e servizi principali:
• e-mail, ftp, telnet, news → www, e-mail, streaming, peer-to-peer
¾ velocità
l ità ti
tipica
i d
delle
ll portanti:
t ti
• 64 kbit/s → 2÷100 Mbit/s
z Nuove problematiche:
¾ Qualità del servizio, multimedia, reti mobili
11
12
TCP/IP
Motivazioni del successo
TCP/IP
“Mbone" Internet communications backbone
z Sovvenzioni statali ($ 200 milioni nel periodo ‘86-’95)
z Assenza di vincoli architetturali forti: non richiede che tutti i sistemi
siano basati sulla stessa architettura protocollare
¾ interconnessione di reti eterogenee
z Modalità di trasferimento nello strato di rete senza connessione
¾ flessibilità rispetto
p
a tecnologie
g di (sotto)rete
(
)
anche molto diverse tra loro
z Semplicità dei protocolli (inclusi quelli di gestione e controllo)
z Disponibilità
p
immediata e g
gratuita del software,, della documentazione
tecnica e degli standards (anche nei primissimi stadi di sviluppo)
z Protocolli implementati in software
z Protocolli integrati nel sistema operativo UNIX
z Vasta disponibilità (spesso gratuita) di applicazioni (modello
client/server
li t/
e peer-to-peer)
t
)
13
14
TCP/IP
TCP/IP
Organi Regolatori
IETF
z ISOC (Internet SOCiety): Organo politico di rappresentanza di Internet
z L’organo
g
di standardizzazione p
più importante
p
p
per Internet dal
punto di vista tecnico è l’IETF (Internet Engineering Task Force)
z IAB (Internet Architecture Board): Commissione di supervisione
complessiva degli aspetti tecnici di Internet
¾ definisce i protocolli riguardanti la rete Internet
¾ gli standard prodotti vengono denominati RFC (Request For
Comments) e numerati in ordine crescente
¾ http:// www.ietf.org/
z IETF (Internet Engineering Task Force): Comunità che specifica I
protocolli di Internet ed emette documenti ad essa relativi. È diviso in
Aree e Working Groups (WGs)
z IESG (Internet Engineering Steering Group): Organo di supervisione
dell’IETF, costituito prevalentemente da IETF Area chairs
z Processo di standardizzazione dell’IETF:
¾
¾
¾
¾
z IANA (Internet Assigned Number Authority): Autorità che disciplina l’uso
l uso
di tutti i numeri, valori, costanti, well-known ports usati in Internet
z InterNIC (Internet Network Information Centre): Ente che assegna gli
indirizzi IP ed i nomi di dominio
Poche regole (“Just Enough”), flessibili, dinamiche e pragmatiche
Processo aperto
P
t a tutti
t tti i contributi
t ib ti
Nessuna votazione, bensì consenso
Prototipi disponibili prima (non dopo) la standardizzazione
z Riassunti nel motto dell’IETF:
¾ “Rough consensus and running code!”
D id D.
David
D Clark,
Cl k MIT
MIT, in
i speech
h to
t IETF Plenary,
Pl
~1994.
1994
15
16
TCP/IP
TCP/IP
Struttura di rete
St tt
Struttura
di rete
t
z Internet consiste di un insieme di reti interconnesse che
possono essere considerate come un'unica entità
Internet
z Le reti sono collegate da apparati (nodi) di commutazione detti
router, che hanno come funzione primaria quella di instradare i
dati sulla base dell'indirizzo della rete destinataria
Router
Sotto-Reti
Sotto
Reti
z L
La modalità
d lità di ttrasferimento
f i
t nello
ll strato
t t di rete
t è senza
connessione (CL)
z La struttura di rete è non gerarchica
z I protocolli TCP/IP trattano tutte le sotto-reti in modo uguale;
esempi di sotto-reti
sotto reti possono essere:
¾
¾
¾
¾
¾
Host
una rete in area locale (e.g. Ethernet)
una rete in area metropolitana (e.g. anello SDH)
una rete
t geografica
fi (e.g.
(
la
l rete
t PSTN/ISDN)
una connessione punto-punto dedicata
...
17
strutturata in sottoreti
18
TCP/IP
TCP/IP
Struttura di rete (cont
(cont.))
Hosts and Routers: esempio
z I nodi fondamentali all’interno di q
questa struttura sono g
gli hosts e
i routers
APPLICATION
TCP
z Gli hosts:
HOST
¾ sorgente e destinazione di informazione, (spesso hanno una sola
interfaccia di rete e un indirizzo IP)
¾ PC,, workstation,, palmari,
p
, telefoni cellulari o qualsiasi
q
altro
apparecchio che abbia bisogno di comunicare con altri nodi
UDP
IP address
IP 191.133.5.98
IF 1
physical address
subnet
191.133.0.0/16
191
133 0 0/16
IP addresses
z I routers:
¾ in genere hanno due o più interfaccie di rete con corrispondenti
indirizzi IP
¾ inoltrano le unità informative IP da una rete ad un’altra ((funzione di
forwarding)
¾ possono essere delle macchine dedicate (la maggior parte dei
p
(e.g.
( g Linux))
router commerciali)) o con un OS aperto
ROUTER
subnet
191.133.0.0/16
191
133 0 0/16
19
subnet
123.45.0.0/16
subnet
b t
112.4.234.0/24
IP
191.133.5.7
IF 1 (ATM)
123.45.6.93
IF 2 (Ethernet)
112.4.234.9
IF 3 (FDDI)
physical addresses
20
TCP/IP
TCP/IP
Struttura di rete (cont
(cont.))
Tipi di reti sottostanti IP
z Lo strato di rete (IP) non fornisce alcuna garanzia sulla qualità di
servizio (grado di integrità informativa, ritardo di trasferimento,
grado di trasparenza temporale, etc.)
z punto
punto-punto
punto
¾ le interfacce possono essere “unnumbered”
¾ e.g.: linee dedicate o dial-up (PPP, SLIP)
¾ Il compito
p
di rendere la qualità
q
di servizio adeguata
g
alle esigenze
g
degli utenti è demandato agli strati superiori residenti negli hosts
z multiaccesso
lti
con possibilità
ibilità di b
broadcast
d
t
¾ più host possono comunicare direttamente senza passare per
router intermedi
¾ possibilità di broadcast
¾ e.g. : LAN
z I suoi protocolli
¾ sono logicamente situati al di sopra di qualsivoglia altro protocollo
di rete (eventualmente duplicandone le funzioni)
¾ sono in grado di operare su diverse piattaforme hardware
utilizzando qualsiasi sistema operativo (UNIX,
(UNIX Mac OS
OS, MS
MS-DOS
DOS,
Windows, Linux, etc.)
z multiaccesso senza possibilità di broadcast (Non Broadcast
M lti l A
Multiple
Access))
¾ più host possono comunicare direttamente senza passare per
router intermedi
¾ non c
c’è
è possibilità di broadcast
¾ e.g. : X.25, Frame Relay, ATM
21
22
TCP/IP
Architettura TCP/IP
F
Application
F
L’architettura
a c tettu a TCP/IP
C /
T
Transport
t (TCP,
(TCP UDP)
F
Internetwork (IP)
Strati di
sottorete
F
I protocolli applicativi definiscono
modalità e formati per lo scambio di
messaggi per le specifiche applicazioni
(e g http
(e.g.
http, ftp
ftp, smtp
smtp, etc)
TCP gestisce flussi di dati orientati alla
connessione, suddividendo i flussi in
datagrammi, invindoli tramite IP e
riassemblando i flussi in ricezione,
persi
ritrasmettendo dati p
IP: responsabile dell’invio di pacchetti
dati (datagrammi) senza connessioni
durature
interfaccia comune ai collegamenti tra i
vari nodi (per esempio, Ethernet,
modem, etc)
24
TCP/IP
TCP/IP
Architettura TCP/IP: Esempi
Architettura TCP/IP
z Pila dei protocolli Internet
Application
Application
Application
Transport
Transport
Transport
Internetwork
Internetwork
Internetwork
Medium Access
Control (MAC)
Telnet FTP SMTP HTTP
...
DNS SNMP TFTP ...
TCP
PPP
UDP
ATM
IP
Fisico
Fisico
Ethernet
Fisico
LAN
PSTN
ATM
X.25
ATM
...
TCP/IP permette l’esistenza di più pile di protocolli alternative tra loro ed ottimizzate per determinate applicazioni.
25
26
Esempi di possibili pile sono: - Telnet / TCP / IP / Ethernet. - FTP / TCP / IP / Ethernet. - SNMP / UDP / IP / FDDI.
TCP/IP
TCP/IP
Architettura TCP/IP
A hit tt
Architettura
protocollare
t
ll
z Il percorso software di un messaggio che attraversa più reti interconnesse
tramite un'architettura Internet può essere schematizzato come segue:
Applicazione
Applicazione
Host A
Host B
TCP/UDP
TCP/UDP
application
application
IP
IP
IP
t
transport
t
R t
Router
R t
Router
t
transport
t
Interfaccia
di rete ((1))
Interfaccia Interfaccia
di rete (1) di rete (2)
Interfaccia
di rete ((2))
IP
IP
IP
IP
Router
Host
network
t
k
interface
nett nett
int. int.
nett nett
int. int.
network
t
k
interface
Host
z I router implementano i protocolli IP, ICMP e i protocolli di routing
rete 1
rete 2
rete 3
z I router implementano i protocolli IP, ICMP e i protocolli di routing
27
28
TCP/IP
Router
TCP/IP
Architettura TCP/IP: esempio di imbustamento
z Apparati
pp
di rete p
per interconnessione sottoreti con diversa
tecnologia di trasporto.
dati
z Un router riceve un pacchetto da un’interfaccia, controlla
l’indirizzo di destinazione e, tramite la tabella di instradamento
(tabella di routing), decide su quale interfaccia inoltrare il
pacchetto, a meno che la destinazione non sia il router stesso.
analogo il caso di UDP
tcp
z Un router esegue l’operazione di instradamento a livello 3 del
modello di riferimento OSI.
ipip
Header
Data Link
TCP
Dati
IP
TCP
Dati
Header
Data Link
ippipp
Header
Data Link
tcp
app
dati
tcpp
app
pp
Trailer
Data Link
dati
Data Link Frame
29
30
TCP/IP
TCP/IP
Dati
Trailer
Data Link
dati
Architettura TCP/IP: esempio con UDP
Dati
IP
app
IP datagram
Architettura TCP/IP
Dati
dati
TCP segment
z I router sono invisibili all’utente, che vede Internet come fosse
un’unica rete, ed indirizza direttamente l’elaboratore di
destinazione. C’è da notare, invece, che il software di
instradamento (IP) è necessario su ogni macchina collegata ad
Internet,
te et, s
sia
a essa u
un p
piccolo
cco o PC
C ((host)
ost) su u
una
a LAN,, ssia
a essa u
un
grosso router di transito.
TCP
app
TCP
Dati
IP
TCP
Dati
IP
TCP
Dati
Dati
Trailer
Data Link
Header
Data Link
Network
UDP
Dati
IP
UDP
Dati
IP
UDP
Dati
Dati
Trailer
Data Link
Header
Data Link
UDP
Dati
IP
UDP
Dati
IP
UDP
Dati
Trailer
Data Link
Network
31
32
TCP/IP
Architettura TCP/IP: protocollo IP
A hit tt
Architettura
TCP/IP
5-7
4
3c
3b
3a
2
1
z IP è un p
protocollo di strato di rete;; le sue p
principali
p funzioni sono
Protocolli
Strati OSI
¾ l’indirizzamento
¾ l’instradamento
¾ la frammentazione e l’aggregazione delle unità informative
Applicazioni
TELNET
SMTP
FTP
HTTP
POP
News
TALK
etc.
TCP
TCP/IP
RIP
OSPF
SNMP
DNS
z Tratta ciascun pacchetto come un messaggio indipendente da
tutti gli altri; non esistono pertanto, a questo strato, i concetti di
connessione e di circuito logico: il protocollo IP è senza
connessione
i
UDP
IP
ICMP
ARP/RARP
X.25 liv. 3, SNA, DECnet, ATM+AAL, PPP, LLC, etc
X.25 liv. 2, 802.2, Ethernet, WiFi, etc.
Strato fisico
Tutti gli strati inferiori a IP, da 3a compreso in giù, sono considerati
come ”Strato di accesso alla rete" e sono trattati indifferentemente
33
34
TCP/IP
TCP/IP
Architettura TCP/IP: ICMP
ICMP, SMTP
SMTP, ARP
Architettura
A hit tt
TCP/IP:
TCP/IP protocollo
t
ll IP
z Il servizio è inaffidabile e basato sul p
paradigma
g
del “best effort” ((la rete
cerca di “fare del suo meglio”)
z ICMP (Internet Control Message Protocol) è un protocollo senza
connessione ed è utilizzato per
z Il servizio è definito inaffidabile perché la consegna di un’unità
i f
informativa
ti non è garantita.
tit Q
Queste
t possono essere perse, duplicate
d li t o
consegnate fuori sequenza
¾ risolvere eventuali situazioni anomale
p On-Off))
¾ controllare il trasferimento ((controllo di flusso di tipo
¾ comunicare alle sorgenti eventuali problemi (ad es. di
indirizzamento)
z Il p
protocollo TCP offre un servizio affidabile orientato alla connessione
1)
2)
3)
4)
5)
z SNMP (Simple Network Management Protocol) è il protocollo di
gestione di rete
trasferisce un flusso informativo continuo e bi-direzionale
può sopperire a problemi di perdita, duplicazione e consegna fuori
sequenza
q
dei dati
attua anche un controllo di flusso che consente di adeguare il volume
dei dati trasferito alle capacità di ricezione e di emissione
a questo scopo viene utilizzato un meccanismo a finestra variabile
fornisce un meccanismo per indirizzare le singole applicazioni
z I protocolli ARP e RARP (Address Resolution Protocol,
Protocol Reverse
Address Resolution Protocol) sono di supporto per determinare
l'indirizzo fisico locale corrispondente ad un indirizzo Internet,
(ARP) o viceversa
(ARP),
i
(RARP)
z Il protocollo UDP offre un servizio senza connessione
1)
2)
aggiunge
i
la
l funzione
f
i
di controllo
t ll di errore (senza
(
recupero))
fornisce un meccanismo per indirizzare le singole applicazioni
35
36
TCP/IP
Corrispondenza OSIOSI-TCP/IP
TCP/IP
Corrispondenza OSIOSI-TCP/IP
OSI
Application
HTTP,
FTP,
SMTP, POP,
Telnet,
etc.
Transport
TCP/UDP
Internet
IP
z standard de jure
z standard de facto
z sviluppato dalla ISO
(International Standards
Organization)
z inizialmente sviluppato nel
mondo accademico con
sovvenzioni governative, spesso
basato su contributi "volontari"
z distinzione tra servizi,
servizi interfacce
e protocolli
z modello nato p
prima dei p
protocolli
¾ molto generale
¾ teoricamente molto completo e
ben fatto
¾ scarsa corrispondenza con le
reali necessità
Link
7 Layers OSI model
4 Layers TCP/IP model
INTERNET
z concetti un po’ vaghi
z modello che cerca di g
giustificare
protocolli preesistenti
¾ molto specifico
¾ teo
teoricamente
ca e te
¾ stretta corrispondenza tra
definizione funzionale degli
strati e protocolli
37
38
TCP/IP
TCP/IP
Architettura TCP/IP: Caratteristiche
Architettura TCP/IP: Caratteristiche (cont
(cont.))
z L’insieme di p
protocolli TCP/IP
z Le p
prestazioni da estremo a estremo ((velocità di trasmissione
delle informazioni, grado di trasparenza temporale e di integrità
informativa) sono quindi fortemente legate alle caratteristiche
delle sotto-reti attraversate
¾ riesce a inter-connettere tutti i tipi di sotto-rete in quanto assume
che le funzionalità degli strati sottostanti costituiscano solo una
piattaforma per
p
p il trasferimento fisico
¾ realizza tutte le funzioni tipiche per il trasporto dell’informazione:
controllo di errore, indirizzamento, instradamento, frammentazione
e aggregazione delle unità informative, inoltro in rete
z La modalità di trasferimento, nello strato IP, è senza
connessione ⇒ nessuna garanzia di qualità del servizio
z Se alcune o tutte queste funzioni non erano state svolte da una
particolare sotto-rete, TCP/IP le realizza; se erano g
p
già state volte
le duplica, realizzandole nuovamente
z Il compito di rendere la qualità di servizio adeguata alle esigenze
degli
g utenti è demandato (p
(per q
quanto p
possibile)) agli
g strati
superiori residenti negli hosts
z Ciò conduce ad eventuali duplicazioni di funzioni ma consente di
non imporre alcun vincolo sulla tecnologia e sui protocolli delle
sotto-reti di trasporto che interconnette (X.25, Frame Relay,
ATM,, LAN,, MAN,, rete telefonica etc.))
z Il trasferimento delle unità informative può richiedere una
frammentazione delle stesse laddove le dimensioni delle unità
informative gestite dalle sotto-reti non coincidano con le
dimensioni
d
e s o massime
ass e consentite
co se t te
39
40
TCP/IP
Punti a favore di Internet
TCP/IP
Limiti attuali di Internet
z Esiste e cresce:
z Limiti di p
portata ((commutazione “software”))
¾ 40 milioni di utenti su 5 milioni di hosts su 50000 sotto-reti interconnesse
in 86 paesi; il numero di utenti raddoppia ogni anni e il numero di servers
WWW raddoppia ogni 2 mesi (Ottobre 1995)
z Assenza di garanzia sulla Qualità di Servizio (IPv6 introduce il
concetto di flussi) (RSVP, Diff-Serv)
z IP è senza connessione:
z Altre problematiche:
¾ deve “solo” inoltrare i datagrammi, non effettua controllo di errore e di
q
opera
p
facilmente sopra
p diverse tipologie
p g di sotto-rete))
flusso ((e quindi
¾ non deve mantenere informazioni sullo stato delle connessioni
(robustezza ai guasti)
¾ semplicità del codice (in una rete con connessione, circa il 90% del codice
serve a trattare condizioni di errore)
¾ scalabilità (IP “gira” facilmente attorno a sistemi guasti)
¾ facilità di riconfigurazione e di aggiunta/eliminazione di hosts e sotto-reti
(soft local states vs. hard global states)
¾ disponibilità di applicazioni (client/server) (gratuite)
¾ Esaurimento dello spazio degli indirizzi, assenza di gerarchie di
i di i i ((superato
indirizzi
t d
da IP
IPv6:
6 iindirizzi
di i i di 128 bits
bit contro
t i 32 di IPv4
IP 4 ->
>
665*10^21 per metro quadro del pianeta) (auto-configurazione)
¾ Confidenzialità e autenticazione (superato da IPv6 o con protocolli
d estremo a estremo))
da
41
42
TCP/IP
Internet Protocol (IP)
z “IP is
i the
h workhorse
kh
protocoll off the
h TCP/IP protocoll suite”
i ”
(W. R. Stevens)
z Il protocollo IP (RFC 791,
791 919,
919 922
922, 950
950, 1349)
Internet
te et Protocol
otoco ((IP))
¾ è un protocollo di strato di rete (secondo il modello OSI)
¾ opera con modalità di trasferimento connectionless (senza
connessione), ovvero a datagramma
• Il termine connectionless significa che il protocollo IP non
pacchetti inoltrati;
mantiene alcuna informazione di stato circa i p
ciascun pacchetto è trattato independentemente da tutti gli altri
• questo significa anche che i datagrammi IP possono essere
g
fuori sequenza
q
consegnati
¾ è di tipo NON affidabile e non fornisce alcuna garanzia sulla
QoS (servizio “best effort”)
• Il termine inaffidabile significa che non ci sono garanzie che un
pacchetto IP giunga a destinazione
44
TCP/IP
TCP/IP
Internet Protocol (IP)
I t
Internet
t Protocol
P t
l (IP)
z Il protocollo IP in trasmissione
z Il protocollo IP esegue le seguenti funzioni:
¾
¾
¾
¾
¾ definisce l’unità base per il trasferimento dei dati (datagramma)
• la lunghezza massima di un datagramma è di 65536 ottetti
¾ definisce lo schema di indirizzamento
¾ definisce le modalità di instradamento dei datagrammi
¾ esegue, se necessario, la frammentazione e il ri-assemblaggio
delle unità dati
incapsula in datagrammi i dati provenienti dallo strato di trasporto
predispone ll'opportuna
opportuna intestazione (indirizzi src e dst,…)
dst )
applica algoritmo di routing
invia i dati verso l'opportuna interfaccia di rete
z in ricezione
¾
¾
¾
¾
verifica la validità dei datagrammi in arrivo
esamina l'intestazione
g
da rilanciare
verifica se sono datagrammi
se sono dati locali, consegna il contenuto del datagramma
all’opportuno protocollo di livello superiore
45
46
TCP/IP
TCP/IP
Header IP
F
Frammentazione
t i
Bytes
0
4
Vers
8
HLEN
12
Max
65536
bytes
Time To Live
20
Service Type
Identification
20
y
bytes
16
24
31
Total Length
Flags
Protocol
28
Fragment Offset
Header Checksum
Source IP Address
Destination IP Address
Max
Options
Padding
40 bytes
Il campo identificatore
serve all’host ricevente
per designare in modo univoco
ciascun frammento di un datagramma provenienteData
dall’indirizzo di origine.
campo
lunghezza
lat contiene
lunghezza
totale
IP.
campo
i bit
che
se
ilper
datagramma
IlIlIlcampo
protocollo
t versione
ti
tipo
lllflag
lunghezza
IPidi
hcontiene
utilizza
tili
servizio
idtotale
identifica
dell’intestazione
di ttre
itifi
ll’i
(TOS)
campi
tspecifica
lla tversione
i determinano
può
nell’intestazione
i òll’i
i essere
dit IP
ti utilizzato
i iin
tili uso:
4
bit
t quasi
controllare
iimpostati
perdel
t identificare
id
i ttutti
tlldatagramma
tti
titifi
a
ipuò
protocolli
lla
unframmentazione
ftessere
valore
le
l l varie
lli IP
contengono
iche
htSi
sezioni
t iindica
i idi i
misura
in bytedell’intestazione
euna
comprende
la
lunghezza
dell’intestazione
e dei
dati.inrisorsa
IP
. . .essere
. il. campo
. disporre
. essere
. impostato
frammentato:
inperché
caso
affermativo,
uno
dei
bit può
modo
taleeildi
da
QoS
questo
e
la
illunghezza
riassemblaggio
previste
campo
in
internet.
dei
alcuni
datagrammi.
nodi
Indei
questo
di
datagrammi.
rete
Questi
campo
possono
sono
possono
La
non
lunghezza
identificatore,
è misurata
della
richiesti
ilsottrae
inritardo
parole
flag
più
di
campo
lunghezza
dell’intestazione
campo
lunghezza
totale,
per calcolare
determinare
se
frammento
è l’ultimo
del
datagramma.
transito,
recente
scostamento
32
bit; solitamente,
del
la portata,
protocollo.
delil frammento.
la
un’intestazione
precedenza
edal
senza
l’affidabilità.
opzioni
di qualità
del servizio
(QoS)le
è
Data
dati
dati.
lunghezza
massima
perspecifica
è di
Ildimensioni
campo scostamento
del La
frammento
unpossibile
valore
che
la 5
posizione
costituita
dadel
20campo
byte,
byte quindi
il valore
del contiene
campo
della
lunghezza
èun
di datagramma
norma
5.
65.535
byte
relativa del frammento nel datagramma originale; il valore si misura in unità di otto
byte
47
z Ogni rete fisica ha un valore massimo di lunghezza della propria
unità informativa
¾ Maximum Transmission Unit - MTU
z La frammentazione di un datagramma IP è necessaria se il
valore della MTU nella sottorete fisica è inferiore alla lunghezza
d ld
del
datagramma
t
z La frammentazione è effettuata dal router/host prima del rilancio
nella sottorete
z La ricomposizione del datagramma originale è effettuata
dall’host
dall
host di destinazione
48
TCP/IP
TCP/IP
Frammentazione
Frammentazione
Esempio: lunghezza del datagramma originale = 1200
m1
MTU=1500
Data IP
Header IP
1
MTU=1500
m2
Identification = xxx, DF = 0, MF=0, Fragment Offset =0
1
MTU=1500
MTU=500
Header IP
Data IP
1
2
3
Identification = xxx, DF = 0, MF=1, Fragment Offset =0
Header IP
2
3
2
3
MTU=9000
Data IP
Identification = xxx,
xxx DF = 0,
0 MF=1,
MF=1 Fragment Offset = m1
Header IP
MTU=1500
MTU=1000
Data IP
questo router frammenta il datagramma
Identification = xxx, DF = 0, MF=0, Fragment Offset =m2
I frammenti
f
ti vengono ricomposti
i
ti
a destinazione finale
49
50
TCP/IP
Schema di indirizzamento
z Internet consente ad ogni nodo connesso alla rete di comunicare
con ogni altro nodo di Internet
z Al tal fine è necessario un metodo globale di identificazione e
i di i
indirizzamento
t di ttutti
tti i nodi
di (h
(hostt e router)
t )
Indirizzamento
d
a e to IP
¾ lo schema di indirizzamento è indipendente da quello utilizzato dalle
singole sottoreti sottostanti, che in genere possono essere diverse
tra loro (Ethernet, X.25, rete telefonica etc.)
52
TCP/IP
Schema di indirizzamento
Schema di indirizzamento
z Un indirizzo IP (IP Address) ha una lunghezza di 32 bits
z Un indirizzo IP identifica p
prima la rete a cui un host è connesso e
poi l’host all’interno di quella rete
z Identifica un nodo e non uno specifico utente; l’identificazione di un
utente all’interno di un host è affidata ai protocolli di strato superiore
(TCP o UDP)
z L’indirizzo di un host deve essere coerente con quello della rete
in cui si trova
z l’identificativo del IP-SAP è dato alla coppia indirizzo_IP + protocol_id
¾ Se un host si muove da una rete, il suo indirizzo deve essere
cambiato
z se un nodo è connesso a più di una rete avrà un indirizzo IP per ogni
rete (interfaccia di rete); ciò si verifica nei:
z In origine (1981, RFC 1166) era formato da due parti
¾ routers
¾ multi-homed
lti h
d hosts
h t
• Net_Id: identificativo di sotto-rete
• Host_Id: identificativo di host all’interno della sotto-rete
z Gli indirizzi devono essere unici in tutta la rete (è possibili attribuire
indirizzi arbitrari ad una sub-rete TCP/IP solo se q
questa non è
connessa con altre reti)
IP_Address = Net_Id + Host_Id
z La divisione tra Net_Id e Host_Id non è fissa
z Lo schema di indirizzamento IP è stato progettato per consentire un
efficiente
ffi i t instradamento
i t d
t
¾ era però stato pensato per una rete con dimensioni decisamente inferiori
alle attuali
gruppi
pp
z Gli indirizzi IP erano stati suddivisi in g
¾ classi di indirizzi
53
54
TCP/IP
TCP/IP
Indirizzi IP: esempi
z Esempio di indirizzo di classe A:
7 bit
0
S h
Schema
di iindirizzamento
di i
t
15.10.10.90
24 bit
netid
z Notazione numerica, “dotted” e “mnemonica”:
hostid
Net ID
z Esempio di indirizzo di classe B:
14 bit
1 0
TCP/IP
netid
Host ID
Notazione Numerica
130.20.18.62
16 bit
hostid
Notazione Dotted
Net ID
21 bit
1 1 0
netid
www.unipr.it
195.31.235.10
8 bit
hostid
160. 78. 48. 141
Host ID
Notazione Mnemonica
z Esempio
p di indirizzo di classe C:
10100000 01001110 00110000 10001101
Net ID
z Un opportuno protocollo applicativo (DNS) provvede a tradurre
un indirizzo numerico in mnemonico e viceversa
Host ID
55
56
TCP/IP
Esaurimento degli indirizzi IP
z Il p
progressivo
g
esaurimento degli
g indirizzi IP unitamente alla rapida
p
crescita delle dimensioni delle tabelle di routing ha spinto l’IETF
(Internet Engineering Task Force) ad intraprendere delle azioni
preventive
z Tali misure preventive possono essere raggruppate nelle seguenti
categorie:
¾
¾
¾
¾
Indirizzi
d
p
privati
at
Assegnazione razionale degli indirizzi IP
Classless InterDomain Routing (CIDR)
I di i i privati
Indirizzi
i ti e Network
N t
k Add
Address T
Translation
l ti (NAT)
IP versione 6 (IPv6)
57
TCP/IP
Indirizzi privati
TCP/IP
Indirizzi privati
z The Internet Assigned
g
Numbers Authority
y ((IANA)) has reserved
the following three blocks of the IP address space for private
internets [RFC 1918]:
z Ogni
g rete p
può utilizzare al suo interni q
qualsiasi indirizzo
appartenente a questi insiemi
z I router della rete che usa indirizzi privati non propagheranno
all’esterno informazioni di instradamento relativi agli host interni
10.0.0.0 - 10.255.255.255 (10/8 prefix)
z Un host con un indirizzo privato non ha la possibilità di
connettersi
tt i ad
d Internet
I t
t direttamente,
di tt
t ma ha
h bisogno
bi
di un
“Application Level Gateway (Proxy)”
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
z In p
pre-CIDR notation:
¾ The first block is a single class A network number,
¾ the second block is a set of 16 contiguous class B network
numbers,
numbers
¾ the third block is a set of 256 contiguous class C network
numbers.
59
60
TCP/IP
I t d
Instradamento
t IP
Routing
out g IP
Host A
Host B
application
application
transport
Router
IP
network
interface
Router
transport
IP
IP
IP
net net
int. int.
net net
int. int.
network
interface
rete 1
rete 2
rete 3
62
TCP/IP
Router
TCP/IP
Architettura di un Router
z I router hanno il compito
p di instradare i p
pacchetti IP attraverso la
rete
A l goritmo di
calcolo del la
tabella di
st ada e to
instradamento
¾ permettono di far comunicare host che non sono connessi
direttamente alla stessa sottorete
sottorete, facendo transitare i datagrammi
IP da una sottorete ad un’altra
• ricevono i datagrammi IP da un’interfaccia di ingresso e li inoltrano
su una opportuna interfaccia di uscita
Tabella di
instradamento
Processo di
forw arding
z Si distinguono
di ti
d
daglili H
Hostt perchè:
hè
¾ Inoltrano i datagrammi IP diretti ad altri nodi
Interfaccia 1
z In genere:
¾ hanno più di un
un’interfaccia
interfaccia (e in genere un indirizzo IP per ogni
interfaccia)
¾ utilizzano “protocolli di routing”
Sottorete 1
63
Interfaccia 2
Sottorete 2
64
TCP/IP
TCP/IP
Instradamento (1/3)
z dato un datagramma
g
IP in uscita da un nodo ((host o router),
) si
possono distinguere due casi di instradamento:
z Le interfacce sono legate
g
al tipo
p e q
quindi alla tecnologia
g delle
sottoreti alle quali il ruoter è interconnesso; da un punto di vista
protocollare, ciò significa che per ogni interfaccia il router deve
implementare i primi due livelli,
livelli quello fisico e quello data-link del
modello OSI, relativi alla particolare sottorete. A livello 3,
l’operazione svolta dal router è quella di instradamento, cioè
d id
decidere
su quale
l interfaccia
i t f
i inoltrare
i lt
un pacchetto.
h tt Questa
Q
t
decisione viene presa in base all’indirizzo IP di destinazione
consultando la tabella di instradamento ((tabella di routing).
g)
¾ instradamento diretto:
• ll’host
host destinazione è nella stessa sottorete dove si trova il nodo che
sta instradando il datagramma IP
¾ instradamento indiretto:
• l’host destinazione non si trova in nessuna delle sottoreti a cui è
connesso il nodo che sta instradando il pacchetto
• il datagramma viene consegnato ad un next hop router che avrà il
compito di far proseguire il datagramma verso l’host destinazione
• il datagramma passa da un nodo ad un altro finché raggiunge un
nodo (router) connesso alla stessa sotterete in cui si trova l’host di
destinazione
• a questo punto il datagramma viene instradato direttamente al
((host)) destinatario (instradamento
(
diretto))
z La tabella di instradamento può essere scritta manualmente dal
gestore del router oppure è il router stesso che la calcola
dinamicamente attraverso un algoritmo, detto di routing, che,
scambiando messaggi con altri router attraverso le proprie
interfacce,
te acce, app
apprende
e de la
a topo
topologia
og a de
della
a rete
ete e dec
decide
de co
come
e
effettuare l’instradamento.
65
66
TCP/IP
TCP/IP
Instradamento (2/3)
Instradamento (3/3)
z La decisione riguardo quale “next-hop node” utilizzare per instradare il
datagramma viene presa in base ad una tabella di instradamento
(routing table)
z La routing table di un nodo (host o router) specifica solo un passo lungo
il cammino verso l’host di destinazione
H t A (192.1.3.4
Host
192 1 3 4)
application
transport
¾ Un host/router non conosce il cammino completo, ma solo il passo
successivo verso la destinazione
H t B (192.2.14.6
Host
192 2 14 6)
dest addr = 192.2.14.6
z La RT contiene le coppie (dest , next-hop)
application
Router
Router
(inoltro indiretto) (inoltro diretto)
IP
IP
network
interface
N.i. 1
IP
IP
N.i. 2
N.i. 2
¾ dest : indirizzo della rete di destinazione
¾ next-hop : indirizzo del prossimo router verso la rete di destinazione
transport
z I nodi devono conoscere l’indirizzo del next-hop router
network
interface 3
N.i.3
rete 1
rete 2
rete 3
192.1.3.0
192.23.11.0
192.2.14.0
67
z Nota: nel caso di instradamento diretto l’indirizzo di destinazione
apparterrà ad una delle sottoreti a cui il nodo è direttamente connesso
68
TCP/IP
Tabelle di instradamento (2/4)
Tabelle di instradamento
z L’informazione comunemente contenuta in ogni
g riga
g di una
tabella di instradamento è:
¾
¾
¾
¾
¾
TCP/IP
z In base alle modalità con cui vengono create/aggiornate le tabelle di
instradamento nei router si distinguono due tipi di instradamento
(routing):
Dest net address: rete di destinazione
Subnet Mask: porzione dell’indirizzo
dell indirizzo IP indicante il prefisso di rete
Next Hop: IP address del router successivo verso la destinazione
Interface: identificatore della porta fisica dove trovare il next hop
Metric: peso assegnato al cammino
z routing statico
¾ le tabelle vengono create/aggiornate staticamente e non sono funzione
dello stato della rete
¾ le tabelle vengono create/aggiornate dal gestore
• il gestore ha un totale controllo dei flussi di traffico
• deve intervenire manualmente per riconfigurare la rete
¾ utilizzato ad es
es.
• nella parte non magliata di reti IP
• negli host, che in genere vengono configurati in base alle seguenti
informazioni: indirizzo IP
IP, net mask
mask, default “gateway”
gateway
z La coppia dest_net_addr + subnet_mask
¾ serve per identificare la possibile sottorete/host di destinazione
z La coppia next_hop + interface
¾ serve per determinare
d t
i
univocamente
i
t dove
d
instradare
i t d
il
datagramma
z routing dinamico
¾ Le tabelle vengono calcolate con appositi algoritmi (di routing) e
aggiornate periodicamente al variare dello stato della rete attraverso
opportuni protocolli di routing
69
70
TCP/IP
Le ultime parole famose
32 bits should be enough
g address
Cenni a IPv6
Ce
6
space for Internet
(Vinton Cerf, 1977)
72
TCP/IP
TCP/IP
Perchè IPv6
Indirizzi IP: quanti?
z Esaurimento dello spazio
p
di indirizzamento IPv4
z Solo Calcolatori
¾ la crescita e’ probabilmente quella degli ultimi anni
z Esplosione delle tabelle di instradamento sui router
z Altri apparati pero’ potranno avere un indirizzo Internet:
z Servizi NUOVI e/o piu
piu` EFFICIENTI
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
Soluzione di networking “plug&play”
Qualità del Servizio
Sicurezza
Mobilità
Multicast
telefoni cellulari
agende elettroniche
carte di credito
elettrodomestici casalinghi
apparati elettromedicali
dispositivi elettrici in genere
73
74
TCP/IP
TCP/IP
Header di IPv6
bit 0
4
8
Version Class (8 bit)
Payload Length
Header IPv6/IPv4
16
z Semplificazioni:
31
¾ l’header IPv6 ha lunghezza fissa (40 byte)
• le opzioni non sono più trasportate all’interno dell’header IP
– questa funzione viene svolta dagli extension header di
IPv6
¾ è stato rimosso il campo IP Header Length (IHL)
• non più necessario in quanto l’header IPv6 ha lunghezza fissa
¾ è stato rimosso il campo Header Checksum
• quasi tutti i protocolli di livello data link comprendono già il
calcolo e la verifica di un checksum
¾ non esiste più la procedura di segmentazione hop-by-hop
• di conseguenza sono stati
t ti rimossi
i
i i campii Identification,
Id tifi ti
Fl
Flags
e Fragment Offset
¾ è stato rimosso il campo Type Of Service (TOS)
Flow Label
Next Header
Hop Limit
Source Address
Destination Address
z Nuovi campi:
75
• Flow Label e Class
i
76
i i
li à diff
i
TCP/IP
TCP/IP
Indirizzamento IPv6
Sintassi degli indirizzi IPv6
z La novità p
principale
p
degli
g indirizzi IPv6 è costituita dalla loro
dimensione: 128 bit
z Per rappresentare
pp
formalmente g
gli indirizzi IPv6 si è scelto di
suddividerli in 8 blocchi di 16 bit ciascuno
z Con 128 bit si hanno a disposizione:
z I blocchi sono separati mediante il carattere “:” e vengono
rappresentati in notazione esadecimale
z Un esempio di indirizzo IPv6 è:
¾ 3FFE:1001:7654:3220:FEDC:BA98:789A:32AC
z Esistono delle semplificazioni:
655 570 973 348 866 943 898 599
655.570.973.348.866.943.898.599
¾ sii possono omettere
tt
gli
li zerii iniziali
i i i li
• 3ffe:1001:1:100:a00:20ff:fe83:5531
¾ si possono sostituire gruppi di zeri con “::”
• 3ffe:1001:1::1
indirizzi/m2
Superificie della terra: 511.263.971.197.990 mq
77
78