LA RISOLUZIONE DEGLI INDIRIZZI
NELL’ARCHITETTURA TCP/IP
Prof. Alfio Lombardo
Indirizzi nell’ architettura TCP/IP
Indirizzo logico (livello applicativo)
Indirizzo di porta locale (livello di trasporto)
Indirizzo di host (livello di rete)
Indirizzo hardware (livello di linea)
LA RISOLUZIONE DEGLI
INDIRIZZI
NELL’ARCHITETTURA TCP/IP
Risoluzione degli indirizzi
del sistema chiamato
Risoluzione dell’indirizzo di host
del sistema chiamante
Risoluzione degli indirizzi del
sistema chiamato
Indirizzo logico (livello applicativo)
Indirizzo di host (livello di rete)
Indirizzo hardware (livello di linea)
Indirizzo di porta locale (livello di trasporto)
Esempio di indirizzo logico: ftp.sun90.cdc.unict.it
Esempio di indirizzo di host (IP): 192.5.48.7
Esempio di indirizzo hardware (Ethernet):
00 9A 87 44 B8 C2
Esempio di indirizzo di porta locale (TCP/UDP): 21
Indirizzamento IP
A
B
C
D
E
Internet: quanti indirizzi?
Indirizzi di tipo A: (0.0.0.0
- 127.255.255.255)
126 reti con 16 milioni di host ciascuna
Indirizzi di tipo B: (128.0.0.0 - 191.255.255.255)
16382 reti con oltre 64000 hosts
ciascuna.
Indirizzi di tipo C: (192.0.0.0 - 223.255.255.255)
2 milioni di reti con più di 256 hosts
Esempio
L’indirizzo IP:
10000000 00000011 00000010 00000011
Classe B rappresentato come 128.3.2.3
I network numbers vengono assegnati dal Network
Information Center (NIC) per evitare conflitti.
Esempio
Ethernet 128.10.0.0
128.10.2.8
128.10.2.3
Multi homed
128.10.2.26
host
host
host
192.5.48.3
192.5.48.7
TokenRing
R
192.5.48.0
128.10.2.70
host
192.5.48.1
192.5.48.6
R
Indirizzo logico
Domain
Name
System
(DNS)
Indirizzo di host
Funzioni del DNS
Il DNS espleta due funzioni concettualmente indipendenti:
specifica della sintassi dei nomi logici e delle regole
per delegare l'autorità sui nomi stessi (funzione
astratta);
implementazione di un sistema distribuito
di database che mappa in modo efficiente i nomi logici
negli indirizzi di rete (funzione concreta).
Esercizio consigliato:
DNS
int
com
edu
gov
jp
org
mil
net
us
nl
it
151.97.6.5
yale
cs
eng
pcsmith
mit
unict
dieei
pclombardo
Procedura per la risoluzione dei nomi
Pclombardo.iit.unict.it ??
Applicazione
Resolver
TCP/UDP
IP
Network interface
Richiesta
Al DNS Server
Locale
Risoluzione dei nomi con modalità
non ricorsiva
Caching
Memoria
cache
Risposta
authoritative
Risposta
authoritative
Memoria cache
Risposta
unauthoritative
Indirizzo di host
Address
Resolution
Protocol
(ARP)
Indirizzo hardware
Address Resolution Protocol
A
151.97.6.1
E1
E1 E_broadcast
B
151.97.6.2
E2
E3
151.97.6.1E1151.97.6.3
C
151.97.6.3
E3
D
151.97.6.4
E4
E1151.97.6.1 151.97.6.3 E1 E3
Forwarding diretto: esempio
192.168.10.35
192.168.10.10
Subnet 192.168.10.0
MAC 00082C785852
MAC 000060AD8744
MAC-D 000060AD8744
MAC-S 00082C785852
IP-D 192.168.10.35
IP-S 192.168.10.10
ARP procedure
Forwarding indiretto: esempio
Proxi ARP
Default Gateway
192.168.11.1
Default Gateway
192.168.10.1
.10
Subnet 192.168.10.0
MAC 00082C785852
.1
MAC 00000C87654A
ARP
procedure
MAC-D
00000C87654A
MAC-S 00082C785852
IP-D 192.168.11.90
IP-S 192.168.10.10
.1
Subnet 192.168.11.0
MAC 00000CAB22A7
.90
MAC 009A8744B8C2
ARP procedure
MAC-D 009A8744B8C2
MAC-S 00000CAB22A7
IP-D 192.168.11.90
IP-S 192.168.10.10
Forwarding indiretto: esempio
Default Gateway
192.168.11.1
Default Gateway
192.168.10.1
.10
Subnet 192.168.10.0
MAC 00082C785852
.1
MAC 00000C87654A
MAC-D 00000C87654A
MAC-S 00082C785852
IP-D 192.168.11.90
IP-S 192.168.10.10
.1
Subnet 192.168.11.0
MAC 00000CAB22A7
.90
MAC 009A8744B8C2
ARP procedure
MAC-D 009A8744B8C2
MAC-S 00000CAB22A7
IP-D 192.168.11.90
IP-S 192.168.10.10
Address Resolution Protocol
(Reverse Address Resolution Protocol)
ARP e trama data linK
ARP: formato della trama
2
2
1
1
2
6
4
hard
type
prot
type
hard
size
prot
size
operation
sender
Ethernet Address
sender
IP Address
target
Ethernet Address
target
IP Address
HEADER
MR
INFO
FCS
125
Entita’ IP
Entita’ ARP
Interfaccia
(demux)
Esercizio consigliato:
ARP
Trame in arrivo
Entita’ RARP
Indirizzamento TCP
Appl. 1
Appl. 2
•••
TCP
IP
Network Interface
Appl. n
Port number
– identificativo di un
utente TCP (programmi
applicativi e/o utenti che
fanno uso di uno stesso
host)
– è rappresentato da un
intero
Indirizzamento TCP
• L’assegnazione del numero di porta può essere
– statico
• sono identificativi staticamente associati ad applicazioni
largamente utilizzate
• sono utilizzati identificativi inferiori a 256
Numero
Applicazione
Numero
Applicazione
7
Echo
37
Time
21
FTP (File Transfer Protocol)
53
Domain Name Server
23
TELNET
103
X400 Mail Service
25 SMTP (Simple Mail Transport Protocol 119 NNTP (USENET New Transfer Prot.)
– dinamico
• sono identificativi assegnati direttamente dal sistema operativo
al momento dell’apertura della connessione
Well Known Port
Servizio
Porta
TCP
FTP
Telnet
SMTP
TFTP
DNS
HTTP
POP
SNMP
21
23
25
69
53
80
109
161
4
4
4
UDP
4
4
4
4
4
Host 1
Host 2
Host 1
Host 2
Time
Server
Process
Server
User
Process
Server
User
TSAP
(a)
(b)
Host 1
Host 2
Host 1
Host 2
Name
Server
Name
Server
Time
Server
User
Time
Server
User
TSAP
(a)
(b)
Risoluzione dell’indirizzo di host
del sistema chiamante
Necessaria per tutti quei sistemi che non
conoscono il proprio IP address
Diskless
systems
Assegnazione dinamica
dell’indirizzo IP
Problems a diskless computer
faces during system startup:
The startup program (in ROM) does not contain
•IP address
Indirizzo
•Bootstap
program
di host
•The file server
address
RARP,
BOOTP,
DHCP
•The nearest IP router
address
Indirizzo
hardware
Reverse Address Resolution Protocol
(Address Resolution Protocol)
RARP related problems
•RARP operates at a low level
•The RARP replay contains the IP address only
•RARP cannot be used when address
is dynamically assigned
BOOTP
DHCP
RFC 951 : Bootstrap Protocol
(BOOTP)
A client/server based protocol allowing for
bootstrapping
BOOTP
client
BOOTP
server
68
UDP
67
UDP
BOOTP uses UDP
BOOTP Server is implemented as
an Application program
A single BOOTP message specifies
many items
BUT…...
UDP uses IP!!
Using IP to determine IP
address
•BOOTP Client uses Limited broadcast
(destinazione=255.255.255.255)
(sorgente= 0.0.0.0)
•BOOTP Server uses Limited broadcast too
for its replay
BOOTP client has to use a well known port number (68)
to avoid different clients using the same OS assigned port number
receive the server response
BOOTP Protocol
•Require UDP checksum
•Require Dont Fragment bit setting
•Uses timeout and retransmission
Random delay
Random timeout
Double timeout after retrasmission
Bootstrap Procedure
BOOTP Server provides client with information
needed to obtain the memory image
TFTP is used to obtain the memory image from the
server
BOOTP Message
OP=request, replay
Htype=Hardware t.
Hlen=HardAddr len.
Hops= 0
Trans.Id=Integer
Sec=sec. since boot
Why Dynamic Configuration
BOOTP Server
IP router
Why Dynamic Configuration
BOOTP Server
IP router
LAN 1
LAN 2
Dynamic Host Configuration
Protocol
•Allows a computer to acquire all the configuration
information it needs in a single message
•Allows a computer to obtain an IP address dynamically
•DHCP Server has to be configured with a number
of IP addresses
Address Assignement Types
•Manual Configuration
•Automatic Configuration
•Dynamic Configuration
Static assignment db
Dynamic assignment db
Manager chooses how DHCP will response for each net
and for each host (like BOOTP, DHCP uses the hardware
address as client identifier)
DHCP Protocol
client
Passive
open
67 UDP
server
client
68 UDP
client
68 UDP
DHCP Offer
67 UDP
server
server
client
68 UDP
DHCP Request
67 UDP
server
client
68 UDP
DHCP Ack
67 UDP
server
T=50% client
68 UDP
DHCP Request
67 UDP
server
T=85% client
68 UDP
DHCP Request
67 UDP
server
client
68 UDP
DHCP Ack/Nack
67 UDP
server
67 UDP
server
DHCP Discover
67 UDP
…………
client
68 UDP
DHCP Release
DHCP Message
flag
unused
Scarica

Lezione 2