internet protocol (ip) icmp arp e rarp dhcp natreti.dist.unige.it/reti/reti1/parteiv/reti_32.pdf ·...

24
Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli 32.2 Internet Protocol (IP) L’indirizzamento IP ICMP ARP e RARP DHCP NAT

Upload: donguyet

Post on 18-Feb-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli

32.2

  Internet Protocol (IP)

  L’indirizzamento IP

  ICMP

 ARP e RARP

 DHCP

 NAT

32.3

  Il livello di rete preleva i segmenti dal livello di trasporto nell’host mittente

  Sul lato mittente, incapsula i segmenti in datagrammi

  Sul lato destinatario, consegna i segmenti al livello di trasporto

  Protocolli del livello di rete in ogni host, router

  Il router esamina i campi intestazione in tutti i datagrammi IP che lo attraversano

Rete Link

Fisico

Rete Link

Fisico

Rete Link

Fisico

Rete Link

Fisico

Rete Link

Fisico

Rete Link

Fisico

Rete Link

Fisico

Rete Link

Fisico

Applicazione Trasporto

Rete Link

Fisico

Applicazione

Trasporto Rete Link

Fisico

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.4

1 2 3

0111

Valore nell’intestazione del pacchetto in arrivo

Algoritmo d’instradamento

Tabella di inoltro locale Valore

d’intestazione Collegamento

d’uscita 0100 0101 0111 1001

3 2 2 1

Instradamento e inoltro

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.5

Physical

Data Link

Transport Session

Presentation Application

Non Specificati

TCP e UDP

FTP, Telnet, SMTP, SNMP, ...

OSI DoD

Network IP ICMP

ARP e RARP Protocolli di

Routing

32.6

  IP è il protocollo principale del livello di rete della architettura DoD o Internet Protocol Suite (TCP/IP).

  Attualmente è in uso la versione 4 (IPv4).  È da tempo definita ed in fase di sperimentazione una

nuova versione di IP, denominata IPv6   la versione 5 è stata “sprecata” per un protocollo per il real-

time mai adottato

  Si tratta di un protocollo che fornisce un servizio datagram non connesso.

  E` specificato nel RFC (Request For Comments) 791.

32.7

  l’instradamento

  la frammentazione e riassemblaggio

  la rivelazione (ma non la correzione) di errori (sull’intestazione).

I suoi compiti principali sono

32.8

Vers. HLEN Serv. Type Total Length

Identification Flags Fragment Offset

Time to Live Protocol Header Checksum

Source IP Address

Options Padding

Destination IP Address

Data

0 4 8 ...bit... 16 19 24 31

32.9

  Vers.: numero di versione

  HLEN: lunghezza dell’intestazione (necessaria perché potrebbe avere lunghezza variabile – ci può essere il campo opzioni; min. 20 byte)

  Service Type: consente di differenziare il servizio offerto dai router a diverse categorie di traffico. Non usato nell’Internet con servizio best-effort

  Total Length: lunghezza del datagram (0 ÷ 216-1=65535 [byte]) – necessaria perché il campo dati non ha una lunghezza prefissata

32.10

  Identification: identificatore del datagram – insieme al campo Fragment Offset e ai Flags (MF=More Fragments; DF=Don’t Fragment) serve in caso di frammentazione per identificare i frammenti appartenenti allo stesso datagram

  Fragment Offset (13 bit): puntatore al byte dal quale inizia un frammento – in linea di principio, sarebbero possibili fino a 8192 frammenti per datagram

  Time to Live (TTL): un contatore, decrementato di 1 da ogni router attraversato (hop); il datagram viene scartato quando TTL=0

32.11

  Protocol: identifica il protocollo che ha inserito i dati nel campo dati

  Header Checksum: codice a controllo di parità sull’intestazione

  Source (Destination) IP Address (32 bit ciascuno): indirizzo IP di origine (destinazione)

  Options: campi opzionali (ed es., timestamp, registrazione dei percorsi, elenco dei router attraversati,…)

  Padding: eventuali bit di riempimento fino a rendere la lunghezza dell’intestazione un multiplo intero di 32 bit

32.12

 Gli indirizzi IP sono indirizzi univoci, assegnati da una autorità centrale, e hanno una lunghezza di 32 bit.

  Tali indirizzi sono composti da due (o tre) parti:  l’indirizzo della rete (netid)

 l’indirizzo della sottorete (subnet) (opzionale)

 l’indirizzo dell’host (hostid)

32.13

10000000 00001010 00000010 00011110

128.10.2.30

32.14

  Ogni indirizzo è associato, in realtà, ad una interfaccia e non a un nodo o host.

  Questo significa che macchine connesse a più reti hanno un indirizzo diverso per ogni interfaccia.

  Una conseguenza del fatto che l’indirizzo contenga l’identificatore di una rete è che quando una macchina viene fisicamente spostata il suo indirizzo deve essere opportunamente modificato.

32.15

  Indirizzo IP: ogni interfaccia di host e router di Internet ha un indirizzo IP globalmente univoco.

  Interfaccia: è il confine tra host e collegamento fisico.   I router devono

necessariamente essere connessi ad almeno due collegamenti.

  Un host, in genere, ha un’interfaccia

  A ciascuna interfaccia sono associati indirizzi IP

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2 223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.16

  Cos’è una sottorete?  Per IP una rete che

interconnette, ad esempio, tre interfacce di host e l’interfaccia di un router forma una sottorete.

 Nella letteratura Internet le sottoreti sono anche chiamate reti IP.

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2 223.1.3.1

223.1.3.27

rete composta da 3 sottoreti

sottorete

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.17

223.1.1.0/24 223.1.2.0/24

223.1.3.0/24

Definizione

  È detta sottorete una rete isolata i cui punti terminali sono collegati all’interfaccia di un host o di un router.

Maschera di sottorete: /24 J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.18

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2 223.1.3.1

223.1.3.27 J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.19

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2 223.1.3.1

223.1.3.27 J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.20

0 1 2 3 4 8 16 24 31 0

1 0

netid hostid

netid hostid

1 1 0 netid hostid

1 1 1 0 multicast address

1 1 1 1 0 per usi futuri

A

B

C

D

E

0 -127 16 000 000

128 - 191 64 000

192 - 223 256

224 - 239

240 - 255

32.21

Tutti 0 This Host

Host on this net

Limited broadcast

Directed broadcast

Loopback

Tutti 0 host

Tutti 1

net Tutti 1

127 qualunque numero

32.22

 Gli indirizzi IPv4 sono limitati e si stanno lentamente esaurendo.

 Per ovviare a ciò IETF ha proposto due alternative:   IPv6 (con spazio di indirizzamento a 128 bit)

  CIDR (Classless InterDomain Routing)

32.23

  Il CIDR permette di assegnare in modo più flessibile gli indirizzi IP e supera la vecchia divisione in classi

 Di fatto permette di svincolarsi dal meccanismo “rigido” della divisione in classi

 È definito negli RFC 1518 e RFC 1519

32.24

1 0 netid hostid

11111 .... ... 111 00000000

1 0 netid hostid subnet

255.255.255.0 oppure ffffff00

Indirizzo di classe B prima del subnetting

Netmask

Indirizzo di classe B dopo il subnetting

32.25

 Ogni subnet deve corrispondere con una rete fisica

 Per le LAN si ha la possibilità di avere più subnet per ogni rete ma non il viceversa

 Questo fatto implica che l’instradamento diventa di due tipi   interno alle subnet

  tra le subnet

32.26

  L’instradamento all’interno della subnet è gestito dalla rete fisica e l’unico problema diventa il mapping fra indirizzo IP e indirizzo di livello 2 (ARP).

  Il routing tra subnet è gestito dagli IP router (gateway) attraverso tabelle di instradamento e facendo uso delle parti netid e subnet dell’indirizzo.

32.27

R1 H4 R4

R3 H2

H3 H1

R2

190.3.1.1 190.3.1.250

190.3.9.2

R5

190.3.6.8 190.3.6.7

190.3.6.2

190.3.3.1 190.3.3.3

190.3.3.2

190.3.7.2

190.3.7.1

190.3.9.3

Subnet 9

Subnet 3

190.3.1.254

Subnet 7

Subnet 6

190.3.6.3

Subnet 1

netmask 255.255.255.0

32.28

CIDR: Classless InterDomain Routing  È la strategia di assegnazione degli indirizzi.

 Struttura dell’indirizzo: l’indirizzo IP viene diviso in due parti e mantiene la forma decimale puntata a.b.c.d/x, dove x indica il numero di bit nella prima parte dell’indirizzo.

11001000 00010111 00010000 00000000

Parte di sottorete

Parte host

200.23.16.0/23

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.29

D: Cosa bisogna fare per assegnare un indirizzo IP a un host?

  Configurazione manuale:

 Windows: control-panel->network->configuration->tcp/ip->properties

 UNIX: /etc/rc.config

  DHCP: Dynamic Host Configuration Protocol: permette a un host di ottenere un indirizzo IP in modo automatico

  “plug-and-play”

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.30

D: Cosa deve fare un amministratore di rete per ottenere un blocco di indirizzi IP da usare in una sottorete?

R: deve contattare il proprio ISP e ottenere, ad esempio, la divisione in otto blocchi uguali di indirizzi contigui.

Blocco dell’ISP 11001000 00010111 00010000 00000000 200.23.16.0/20

Organizzazione 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organizzazione 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organizzazione 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Organizzazione 7 11001000 00010111 00011110 00000000 200.23.30.0/23

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.31

“Inviami tutto quello il cui indirizzo inizia per 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Scappo-Con-La-Cassa

Organizzazione 0

Organizzazione 7 Internet

Organizzazione 1

Provvedo-Io “Inviami tutto quello il cui indirizzo inizia per 199.31.0.0/16”

200.23.20.0/23 Organizzazione 2

. . .

. . .

Indirizzamento gerarchico e aggregazione di indirizzi:

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.32

Provvedo-Io presenta un percorso più specifico verso Organizzazione 1

“Inviami tutto quello il cui indirizzo inizia per 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Organizzazione 0

Organizzazione 7 Internet

Organizzazione 1 Provvedo-Io

“Inviami tutto quello il cui indirizzo inizia per 199.31.0.0/16 o 200.23.18.0/23”

200.23.20.0/23 Organizzazione 2

. . .

. . . Scappo-Con-La-Cassa

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001 Longest prefix matching

32.33

D: Ma come fa un ISP, a sua volta, a ottenere un blocco di indirizzi?

R: ICANN: Internet Corporation for Assigned

Names and Numbers

 Ha la responsabilità di allocare i blocchi di indirizzi.

 Gestisce i server radice DNS.

 Assegna e risolve dispute sui nomi di dominio.

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.34

  l’Internet Control Message Protocol (ICMP) è usato per comunicare le anomalie che possono accadere nell’instradamento di pacchetti IP ed anche per verificare lo stato della rete.

  ICMP è definito nel RFC 792.

  Il pacchetto ICPM è trasportato all’interno di un datagram IP.

32.35

  0 Echo Reply   3 Destination Unreachable   4 Source Quench   5 Redirect (change a route)   8 Echo request   11 Time exceeded for a datagram   12 Parameter problem on a datagram   13 Timestamp request   14 Timestamp reply   15 Information request (obsoleto)   16 Information reply (obsoleto)   17 Address mask request   18 Address mask reply

32.36

  I protocolli ARP (Address Resolution Protocol) e RARP (Reverse Address Resolution Protocol) servono per definire in modo automatico le corrispondenze fra indirizzi di livello 2 ed indirizzi IP e viceversa.

 Sono specificati nel RFC 826.

 A differenza di ICMP si appoggiano direttamente sui protocolli di livello 2 della sottorete e non su IP.

32.37

 ARP viene usato tutte le volte che un host vuole inviare un pacchetto ad un altro host sulla sottorete, di cui conosce solo l’indirizzo IP.

 RARP viene usato da host non dotati di memoria di massa (diskless) per reperire il proprio indirizzo IP all’avvio (bootstrap).

32.38

0 4 8 16 19 24 31

Hardware type Protocol type

Operation

Sender Hardware Address (bytes 0 - 3)

Target IP Address

HLEN PLEN

Sender Hardware Address (bytes 4 - 5)

Sender IP Address (bytes 0 - 1)

Sender IP Address (bytes 2 - 3)

Target Hardware Address (bytes 0 - 1)

Target Hardware Address (bytes 2 - 5)

32.39

  La stazione A manda in broadcast un pacchetto ARP contenente l’indirizzo IP di cui vuol conoscere il corrispondente indirizzo di livello 2.

  La stazione B che riconosce il proprio indirizzo IP risponde fornendo il suo indirizzo di livello 2.

  Con il primo pacchetto ARP la stazione A fornisce anche il proprio indirizzo di livello 2, così che B può risponderle senza usare un broadcast.

32.40

  DHCP è l’acronimo di Dynamic Host Configuration Protocol

  Principalmente è definito in RFC 2131

  Permette di assegnare in modo automatico i principali parametri di livello 3 per un corretto funzionamento di un host.   Indirizzo IP   Subnet Mask   Indirizzo del Router di default   Indirizzo del Domain Name Server (DNS)   Nome

32.41

  In realtà non è un protocollo scritto ex-novo, ma costituisce un’ estensione del protocollo BOOTP (BOOT IP).

 Come livello di trasporto utilizza UDP (come indirizzamento di livello 4 utilizza la porta 67).

32.42

 Per funzionare il protocollo si basa sui seguenti assunti:  Vi sia un client che chiede di essere configurato  Vi sia un server che risponde alle richieste

  L’host che vuole essere configurato invia in broadcast la sua richiesta

  Il server preposto elabora la richiesta e risponde inviando tutte le informazioni in un unico pacchetto

32.43

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

Rete locale (es., rete domestica)

10.0.0/24

Internet globale

Spazio di indirizzi riservato alle reti private, molte delle quali usano un identico spazio,

10.0.0/24 per scambiare pacchetti tra i loro dispositivi

I router abilitati alla NAT non appaiono al mondo esterno come router ma

come un unico dispositivo con un unico indirizzo IP.

Indirizzo IP origine: 138.76.29.7, e tutto il traffico verso Internet deve

riportare lo stesso indirizzo. J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.44

  Il router abilitato alla NAT nasconde i dettagli della rete domestica al mondo esterno

 Non è necessario allocare un intervallo di indirizzi da un ISP: un unico indirizzo IP è sufficiente per tutte le macchine di una rete locale.

 È possibile cambiare gli indirizzi delle macchine di una rete privata senza doverlo comunicare all’Internet globale.

 È possibile cambiare ISP senza modificare gli indirizzi delle macchine della rete privata

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.45

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345 D: 128.119.40.186, 80

1 10.0.0.4

138.76.29.7

1: l’host 10.0.0.1 invia il datagramma a 128.119.40.186, 80 138.76.29.7, 5001 10.0.0.1, 3345

…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4

S: 138.76.29.7, 5001 D: 128.119.40.186, 80 2

2: il router NAT cambia l’indirizzo d’origine del datagramma da 10.0.0.1, 3345 a 138.76.29.7, 5001, e aggiorna la tabella.

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: la risposta arriva all’indirizzo di destinazione: 138.76.29.7, 5001

4: il router NAT cambia l’indirizzo di destinazione del datagramma da 138.76.29.7, 5001 a 10.0.0.1, 3345

Tabella di traduzione NAT Lato WAN LatoLAN

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.46

  Il campo numero di porta è lungo 16 bit:   Il protocollo NAT può supportare più di 60000 connessioni

simultanee con un solo indirizzo IP sul lato WAN.

  NAT è contestato perché:   i router dovrebbero elaborare i pacchetti solo fino al livello 3.  Per risolvere la scarsità di indirizzi IP si dovrebbe usare IPv6.

J. Kurose, K. Ross, Internet e Reti di Calcolatori, McGraw-Hill, 2001

32.47

 Come sono strutturati gli indirizzi IP?

 Come avviene il subnetting?

 Cosa contiene il pacchetto IP?

 A cosa serve ICMP?

 A cosa serve e come opera ARP?

 Come opera il NAT?