ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo...

57
Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti di calcolatori (M - Z) A.A. 2015/2016 Docente: Luigi Sportelli ARP ( Address Resolution Protocol ) RARP ( Reverse - ARP )

Transcript of ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo...

Page 1: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Università degli Studi di Bari “Aldo Moro”Laurea in Informatica e Tecnologie per la Produzione

del SoftwareCorso di Reti di calcolatori (M-Z)

A.A. 2015/2016Docente: Luigi Sportelli

ARP (Address Resolution Protocol)RARP (Reverse-ARP)

Page 2: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzamento (1/3)

La consegna di un datagramma a un host o a un router

richiede due tipi di indirizzo: logico e fisico• l’indirizzo logico (indirizzo IP per lo strato di rete) è un indirizzo

di internetwork a giurisdizione universale, ovvero individua un

dispositivo in modo univoco su tutta la rete Internet. È detto

logico perché assegnato a livello software

• l’indirizzo fisico (chiamato anche MAC address - Media Access

Control address) è un indirizzo locale la cui validità è limitata

alla rete locale ed è detto fisico perché implementato

direttamente in hardware (assegnato fisicamente all’interfaccia di

rete)

Page 3: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzamento (2/3)

Gli indirizzi IP non possono essere utilizzati per

spedire pacchetti, in quanto l’hardware del livello di

collegamento dati non è in grado di comprenderli

Gran parte degli host è collegata ad una LAN

attraverso una scheda di interfaccia che capisce

unicamente gli indirizzi MAC

Page 4: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzamento (3/3) Ci sono diverse ragioni per l’esistenza degli indirizzi

MAC Le LAN sono progettate per protocolli arbitrari e non

solo per IP e Internet

Se gli adattatori usassero indirizzi IP, questi

dovrebbero essere registrati nella loro RAM e

riconfigurati ogni volta che l’adattatore venisse

spostato (o riacceso)

Per assicurare la massima indipendenza dei livelli,

sono necessari indirizzi propri (es. nomi di dominio,

numeri di porta, indirizzi IP e indirizzi MAC)

Page 5: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Relazioni tra strati e indirizzi in TCP/IP

Page 6: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzi MAC (1/2)

Non è un nodo ad avere un indirizzo MAC, ma

l’adattatore al nodo• Un indirizzo MAC è anche chiamato: indirizzo fisico,

indirizzo Ethernet o indirizzo LAN

• Per molte LAN (Ethernet e LAN a token-passig), l’indirizzo

MAC ha lunghezza di sei byte (48 bit) espresso tipicamente in

notazione esadecimale, con ciascun byte dell’indirizzo espresso

come una coppia di numeri esadecimali.

• L’indirizzo MAC di un adattatore è permanente ed è

memorizzato, al momento della costruzione, nella sua ROM.

Page 7: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzi MAC (2/2)

Non esistono due adattatori con lo stesso indirizzo

MAC

La gestione dello spazio fisico degli indirizzi MAC

è affidata all’IEEE• L’IEEE fissa, per ciascuna società costruttrice che presenta una

richiesta, i primi 24 bit di un indirizzo MAC, lasciando alla

società il compito di creare combinazioni uniche per ciascun

adattatore con i restanti 24 bit.

Page 8: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzi MAC vs Indirizzi IP

Ricorrendo ad esempi della vita quotidiana

L’indirizzo MAC è analogo al numero di codice

fiscale di una persona: ha una struttura orizzontale

in cui nulla cambia in qualunque posto una persona

si trasferisca

L’indirizzo IP è analogo all’indirizzo postale di una

persona: ha una struttura gerarchica e richiede di

essere sostituito quando la persona cambia

residenza

Page 9: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Esempi di indirizzi MAC

1A-23-F9-CD-06-9B

5C-66-AB-90-75-B1

49-BD-D2-C7-56-2A

88-B2-2F-54-1A-0F

Page 10: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Scenari possibili

Ci sono due situazioni in cui è necessario convertire

un indirizzo IP in un indirizzo MAC• Un host deve spedire un datagramma ad un altro host della

sua rete fisica

• Un router deve spedire un datagramma ad un altro router

sulla stessa rete (next hop)

Page 11: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Serve un meccanismo di corrispondenza tra

gli indirizzi logici e gli indirizzi fisici

Nota:

Page 12: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Tecniche di risoluzione degli

indirizzi

Ricerca vettoriale: necessita di tabelle in cui siano elencate le

corrispondenze fra indirizzi logici ed indirizzi MAC• le tabelle vengono immagazzinate nei dispositivi connessi alla rete locale

• la gestione di tali liste richiede un grande lavoro da parte degli

amministratori di rete

Computazione in forma chiusa: gli indirizzi IP hanno un

formato che permette il calcolo dell’indirizzo fisico

Computazione distribuita: è realizzata mediante protocolli

che permettono a un dispositivo di rete di determinare uno dei

due indirizzi, noto l’altro: il mittente chiede al destinatario di

svelare il suo indirizzo (ARP e RARP)

Page 13: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Architettura a strati e protocolli

TCP/IP Protocol Suite e modello OSI

Page 14: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP E RARP (1/3)

ARP per Ethernet è definito nella RFC 826 • Un’elegante introduzione ad ARP è fornita nella RFC 1180, il

tutorial su TCP/IP

RARP per Ethernet è definito nella RFC 903

Page 15: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP E RARP (2/3)

ARP RARP

Indirizzo logico Indirizzo logico

Indirizzo MAC Indirizzo MAC

Page 16: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP E RARP (3/3)

ARP viene usato tutte le volte che un host vuole

inviare un pacchetto ad un altro host 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)

Page 17: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP

Scenario di ARP:• A deve spedire un datagramma a B, host appartenente alla

medesima rete logica (cioè alla medesima rete IP)

• A conosce l’indirizzo IP di B, ma non il suo indirizzo MAC

Idea • A manda un pacchetto contenente l’indirizzo logico di B in

broadcast a tutti gli host della rete per conoscere

l’indirizzo MAC di B (ARP request)

• B riconosce il suo indirizzo logico e risponde ad A (ARP

reply) in modalità unicast

• A usa l’indirizzo ricevuto per spedire il datagramma a B

Page 18: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Indirizzo broadcast

Per LAN che usano indirizzi a sei byte, l’indirizzo

broadcast è una stringa costituita da soli 1

(FF-FF-FF-FF-FF-FF)16

Page 19: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Funzionamento del protocollo ARP

Sistema BSistema A

Richiesta

Sono alla ricerca dell’indirizzoMAC del nodo che ha indirizzo

IP: 141.23.56.23

A deve inviare un

pacchetto a B che

ha indirizzo IP: 141.23.56.23

Risposta ARP

in modalità

unicast

Richiesta ARP

in modalità

broadcast

Sistema A Sistema B

Risposta

Sono il nodo che cerchi e il mioIndirizzo MAC è

A4-6E-F4-59-83-AB

Page 20: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP: scenari tipici

Primo caso: l’host destinazione è sulla stessa LAN

(stessa subnet IP)

Secondo caso: l’host destinazione non è sulla stessa

rete LAN

Page 21: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Host sulla stessa LAN (1/3)

A B R1

Rete IP di classe C

rete: 192.168.1.0

netmask: 255.255.255.0

Default router

IP: 192.168.1.254

netmask: 255.255.255.0

IP: 192.168.1.3

netmask: 255.255.255.0

IP: 192.168.1.1

netmask: 255.255.255.0 • A ha intenzione di inviare un pacchetto a B.

• Domanda: come fa A a sapere se B è sulla

propria sottorete?

Risposta: attraverso la netmask!

Page 22: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Host sulla stessa LAN (2/3)

Ogni computer ha un indirizzo IP ed una netmask.

La netmask serve ad individuare la propria sottorete

IP:Digitare dal prompt di DOS il comando

• ipconfig /all

Il computer A esegue una AND tra l’indirizzo IP

destinazione e la propria netmaskNell’esempio:

È proprio l’indirizzo della

sottorete IP cui appartiene A

IP B: 192.168.1.3

AND

netmask A: 255.255.255.0

=

192.168.1.0

Page 23: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Host sulla stessa LAN (3/3)

Se il computer B è sulla stessa sottorete IP

allora è inviato un pacchetto ARP request in

broadcast

• tale pacchetto contiene nel campo INDIRIZZO

PROTOCOLLO OBIETTIVO, l’indirizzo IP di B

Page 24: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

LAN interconnesse attraverso un

router (1/4)

IP:111.111.111.111

IP:111.111.111.112

IP:222.222.222.221

IP:222.222.222.222

1A-23-F9-CD-06-9B

IP:222.222.222.220

IP:111.111.111.110

E6-E9-00-17-BB-AB

74-29-9C-E8-FF-55 88-B2-2F-54-1A-0F

49-BD-D2-C7-56-2ACC-49-DE-D0-AB-7D

Page 25: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

LAN interconnesse attraverso un

router (2/4)

Problema: un nodo su una LAN vuole spedire un datagramma

dello strato di rete ad un nodo esterno alla LAN (cioè su

un’altra rete IP) • Ci sono gli host e il router: quest’ultimo ha un indirizzo IP per ciascuna

delle sue interfacce

L’host 111.111.111.111 (sulla LAN 1) vuole spedire un

datagramma IP all’host 222.222.222.222 (sulla LAN 2)• Utilizzare ARP non funziona, in quanto l’host sulla LAN 2 non riceverà

il broadcast (i router non inoltrano broadcast a livello di Ethernet)

Page 26: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

LAN interconnesse attraverso un

router (3/4)

Soluzioni possibili

Si fa in modo che l’host sulla LAN 1 capisca immediatamente che la destinazione appartiene a una rete remota (questa informazione è indicata nella sua tabella d’inoltro) e spedisca tutto il traffico remoto all’indirizzo Ethernet che lo gestisce, in questo caso il router

Il router potrebbe essere configurato per rispondere alle richieste ARP per conto della LAN 2 (idea di proxy ARP)

Page 27: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

LAN interconnesse attraverso un

router (4/4)

Il datagramma deve essere spedito prima all’interfaccia

del router• L’appropriato indirizzo LAN per il frame è quello dell’adattatore del

router, cioè E6-E9-00-17-BB-4B. Questa operazione è svolta da

ARP

• Il router, attraverso la tabella di instradamento sa che deve inviare il datagramma attraverso l’interfaccia 222.222.222.220.

Quest’ultima passa il datagramma al suo adattatore e lo invia nella

LAN 2. Il router acquisisce l’indirizzo di destinazione finale attraverso

ARP

In conclusione più LAN possono essere collegate insieme

per formare LAN più grandi• Tutto senza l’intervento dell’instradamento dello strato di rete per

l’interconnessione di questi nodi locali

Page 28: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Considerazioni

Dall’esempio precedente si evince che ciascun calcolatore

risolve soltanto l’indirizzo relativo al salto successivo

Un calcolatore può risolvere un indirizzo soltanto se il

destinatario appartiene alla stessa rete fisica

Page 29: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Proxy ARP (ARP promiscuo)

Un proxy ARP è un router che risponde a richieste

ARP per conto di un insieme di host della sua rete• Serve per nascondere le differenze tra due reti fisiche e per

creare effetti di sottorete, cioè permette di usare la stessa subnet

su due o più reti fisiche diverse

• Solo su reti che utilizzano ARP

Funzionamento• Quando il router con il proxy riceve una richiesta di indirizzo

MAC per un host da lui controllato, risponde inviando il proprio

indirizzo MAC

• Successivamente provvede ad instradare i messaggi che gli

arrivano agli host verso i quali funge da proxy

Page 30: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Esempio di Proxy ARP

141.23.56.23141.23.56.21 141.23.56.22

Proxy ARP

router

Router o host

Richiesta

Sottorete aggiunta

Il router del proxy ARP

risponde a una richiesta

ARP per i nodi 141.23.56.21

141.23.56.22

141.23.56.23

Page 31: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Svantaggi del Proxy ARP

I proxy ARP creano problemi di sicurezza

• Nella cache ARP più indirizzi logici corrispondono ad un

solo indirizzo MAC

• È possibile che un host si stia spacciando per qualcun altro

per carpire informazioni (spoofing)

Page 32: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP: sommario (1/2)

Operazione di AND logico tra l’indirizzo IP della

destinazione e la propria netmaskse il risultato fornisce l’indirizzo della propria subnet IP

• è inviata una richiesta ARP per risolvere l’indirizzo della

destinazione

Altrimentiil pacchetto è inviato al router di default

• nel caso in cui l’indirizzo MAC del router non sia noto

è inviata una richiesta ARP per risolvere l’indirizzo IP

del router

Page 33: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP: sommario (2/2)

Un modulo ARP traduce un indirizzo IP in un indirizzo

MAC

Per molti aspetti è analogo al DNS che traduce i nomi di

dominio in indirizzi IP

Differenza

Il DNS esegue l’operazione per host situati in qualunque

punto di Internet, mentre l’ARP risolve solo gli indirizzi

IP per i nodi della stessa LAN o di LAN interconnesse

Page 34: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Precisazione su ARP (1/2)

Il protocollo ARP è progettato per funzionare su reti

fisiche di tipo diverso (non solo su Ethernet)• non può fare esplicito riferimento ad un formato degli

indirizzi MAC

Il formato e la dimensione del pacchetto ARP varia

in funzione della rete fisica su cui deve operare

Page 35: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Precisazione su ARP (2/2)

Il protocollo ARP è progettato per la risoluzione di

indirizzi arbitrari (IP, IPX, DECNet)• nella pratica, però, è quasi sempre usato per la traduzione

di indirizzi IP di 32 bit in indirizzi MAC di 48 bit

Due campi del messaggio ARP identificano il tipo

di rete ed il tipo di indirizzi da utilizzare

Page 36: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Formato di un messaggio ARP (1/3)

Tipo dell’indirizzo fisico

Lungh. ind.fis. Lungh. ind. prot. Operazione

Indirizzo fisico mittente (primi 4 byte)

Ind. prot. mittente (primi 2 byte)

Ind. prot. mittente (ultimi 2 byte)

Indirizzo protocollo obiettivo (tutti i 4 byte)

Indirizzo fisico obiettivo (ultimi 4 byte)

Ind. fisico obiettivo (primi 2 byte)

Ind. fisico mittente (ultimi 2 byte)

Tipo dell’indirizzo di protocollo

Lungh. ind. fis Lungh. ind. prot.

0 16 31248

Page 37: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Formato di un messaggio ARP (2/3)

Ciascuna riga della figura corrisponde a 32 bit del messaggio

ARP

I primi due campi da 16 bit specificano il tipo degli indirizzi

coinvolti nella risoluzione

• Per esempio, il campo tipo dell’indirizzo fisico contiene il valore 1 se la

rete sottostante è Ethernet, e il campo tipo dell’indirizzo di protocollo

contiene il valore (0800)16 se il protocollo dell’inter-rete è IP

La seconda coppia di campi specifica il numero di byte

dell’indirizzo fisico e di protocollo, mentre il campo operazione

indica se il messaggio è una richiesta (valore 1) o una risposta

(valore 2)

Page 38: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Formato di un messaggio ARP (3/3)

Ogni messaggio ARP ha spazio sufficiente per due coppie di

indirizzi, ciascuna costituita da un indirizzo fisico e uno di

protocollo• Una coppia corrisponde agli indirizzi del mittente, l’altra a quelli del

destinatario che è detto obiettivo (target)

• Chi emette la richiesta non conosce l’indirizzo fisico dell’obiettivo e

quindi può impostare a zero i valori del campo.

• D’altro canto chi risponde riempie il campo indirizzo fisico obiettivo

con l’indirizzo del richiedente originario.

È evidente, quindi, che il campo indirizzo fisico obiettivo non

ha alcuna funzione e potrebbe essere eliminato. Si tratta di un

residuo delle prime versioni del protocollo.

Page 39: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Trasmissione dei messaggi ARP

Al pari di ogni altro dato, anche i messaggi ARP sono

trasportati all’interno dei frame della rete fisica• Questa non è al corrente del fatto che il messaggio è una richiesta di

risoluzione o una risposta a tale richiesta, e non esamina i contenuti dei

campi del messaggio

L’azione di porre un messaggio all’interno di un frame per

poterlo trasportare è detta incapsulamento

Intestazione

del frameCarico del frame CRC

Messaggio ARP

Page 40: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Operazioni del protocollo ARP (1/2)

Tutti gli host e i router ricevono la trama e la passano

al protocollo ARP

Tutte le stazioni distruggono la trama ad eccezione di

quella che riconosce nell’indirizzo IP del destinatario

il proprio indirizzo IP

Page 41: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Operazioni del protocollo ARP (2/2)

Il destinatario risponde con un messaggio ARP

contenente il proprio indirizzo MAC

• la risposta, depositata in un frame, è trasmessa in modalità

unicast

Il mittente riceve il messaggio di risposta ed acquisisce

l’indirizzo MAC del destinatario

Il datagrama IP viene quindi incapsulato in una trama

che è spedita al destinatario

Page 42: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Identificazione dei frame ARP

Un calcolatore che riceve un frame si accorge che questo

contiene un messaggio ARP esaminando il campo tipo

frame• Su Ethernet i frame che trasportano i messaggi ARP hanno un

campo dei tipi pari a (0806)16

• Ethernet prevede un unico valore del campo tipo per tutti i

messaggi ARP, quindi per distinguere una richiesta da una risposta

oltre al campo tipo bisogna analizzare il contenuto del campo

operazione

Page 43: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP è un protocollo del livello di rete o

del livello di collegamento?

• Un pacchetto ARP è incapsulato in un frame a

livello di collegamento

• Un pacchetto ARP ha campi che contengono sia

gli indirizzi del livello di collegamento sia gli

indirizzi del livello di rete

Alla fine è probabilmente meglio considerare ARP come un protocollo che sta al confine tra i livelli di collegamento e di rete

Page 44: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Raffinamenti del protocollo

Per ridurre il traffico sulla rete A mantiene una cache

con le corrispondenze tra indirizzi logici e fisici• Prima di spedire una richiesta ARP controlla nella cache

Il pacchetto ARP contiene indirizzo fisico e logico del

mittente• Gli host che leggono il pacchetto possono aggiornare le

loro ARP cache

Un host che ha cambiato indirizzo fisico manda una

richiesta ARP per il suo indirizzo logico• Tutti gli altri nodi vedono la richiesta ed aggiornano le loro

tabelle

Page 45: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Aggiornamento dati della cache

PROBLEMA• L’host B potrebbe cambiare il suo indirizzo fisico o non

essere disponibile

• L’informazione nella cache di A diventa obsoleta senza

preavviso (stato transitorio)

SOLUZIONE• Ad ogni corrispondenza nella cache è assegnato un timer

o TTL (Time-To-Live) che in genere è 20 minuti

• Quando il timer scade la corrispondenza viene rimossa

• Per ogni datagramma ricevuto da B viene resettato il

timer corrispondente

Page 46: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Esempio n.1 di tabella ARP

Una possibile tabella ARP per il nodo 222.222.222.220 è

Indirizzo IP Indirizzo LAN TTL222.222.222.221 88-B2-2F-54-1A-0F 13:45:00

222.222.222.223 5C-66-AB-90-75-B1 13:52:00

IP: 222.222.222.221

1A-23-F9-CD-06-9B

5C-66-AB-90-75-B1

49-BD-D2-C7-56-2A

88-B2-2F-54-1A-0F

IP:222.222.222.220

IP:222.222.222.223

IP:222.222.222.222

Page 47: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Esempio n. 2 di tabella ARP

223.1.2.1 08-00-39-00-2F-C3

223.1.2.3 08-00-5B-21-A7-22

223.1.2.4 08-00-10-99-A3-54

223.1.2.1 08-00-39-00-2F-C3

223.1.2.3 08-00-5B-21-A7-22

223.1.2.4 08-00-10-99-A3-54

223.1.2.2 08-00-28-00-38-A9

Ind. IP Mittente 223.1.2.1

Ind. LAN Mitt. 08-00-39-00-2F-C3

Ind. IP Destinatario. 223.1.2.2

Ind. LAN Dest. < vuoto >

Ind. IP Mittente 223.1.2.2

Ind. LAN Mitt. 08-00-28-00-38-A9

Ind. IP Destinatario. 223.1.2.1

Ind. LAN Dest. 08-00-39-00-2F-C3

Esempio di tabella ARP all’inizio

Esempio di richiesta ARP

Esempio di risposta ARP

Tabella ARP dopo la risposta

Page 48: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Code di pacchetti

Mentre il protocollo ARP è in attesa di scoprire

l’indirizzo MAC dell’host B i protocolli di livello

superiore possono richiedere di inviare altri pacchetti• La chiamata ad ARP non è bloccante e questi pacchetti

possono essere spediti ad altri indirizzi

Se arrivano altri pacchetti indirizzati a B il

protocollo li mantiene in una coda e li spedisce solo

dopo aver ricevuto il pacchetto ARP reply• C’è una coda diversa per ogni indirizzo di destinazione

Page 49: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Monitoraggio di ARP

Con il comando arp è possibile leggere e

modificare il contenuto della ARP cache• arp –a (legge il contenuto di tutta la cache)

• arp –d (cancella un’entrata dalla cache)

• arp –s (inserisce a mano un’entrata alla cache)

Con il comando tcpdump è possibile monitorare

tutto il traffico che viaggia sulla rete• È possibile filtrare solo i pacchetti spediti da un dato

protocollo su una data interfaccia

• tcpdump arp (legge solo i pacchetti ARP)

Page 50: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Reiterazione di richieste ARP

Se l’host A invia una richiesta ARP per l’indirizzo di

B e non riceve risposta reitera la richiesta dopo un

intervallo di tempo fissato

• Dopo un certo numero di tentativi desiste

La durata dell’intervallo cresce ad ogni

ritrasmissione

• più o meno raddoppia ad ogni tentativo

• serve ad evitare di introdurre troppo traffico sulla rete

Page 51: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

ARP gratuito

Ogni macchina manda la propria coppia di indirizzi

in broadcast all’inizializzazione nella forma di un

pacchetto ARP. Non ci dovrebbe essere risposta ma

solo una nuova registrazione nella cache ARP di

tutti.• Se qualche host sulla rete risponde, lo stesso indirizzo IP

è stato assegnato a due macchine diverse

Utile per risolvere alcuni problemi• Evitare di assegnare a due host lo stesso indirizzo IP

• Aggiornare le cache di tutti gli host della rete con il

nuovo indirizzo MAC

Page 52: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Reverse-ARP (1/2)

Problema:

• A conosce il proprio indirizzo LAN, ma non conosce il

proprio indirizzo IP

Idea:

• A manda in broadcast il proprio indirizzo LAN e dice:

“Il mio indirizzo LAN da 48 bit è A4-6E-A4-57-82-36.

Qualcuno lì fuori conosce il mio indirizzo IP?”

• Il RARP server conosce l’indirizzo IP di A e risponde

con un RARP reply contenente l’indirizzo IP di A

Page 53: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Reverse-ARP (2/2)

Quindi

Il protocollo RARP svolge il ruolo opposto ad

ARP:

• indirizzo fisico indirizzo logico

Usato per sistemi diskless:

• X terminal, diskless workstation che all’avvio non

conoscono il loro indirizzo IP

Page 54: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Funzionamento del protocollo RARP

Viene effettuato il

boot dell’host A che si suppone sia

privo di disco

Risposta RARP

in modalità

unicast

Richiesta RARP

in modalità

broadcast

Server RARPHost A

Richiesta

Il mio indirizzo MAC è:A4-6E-A4-57-82-36

Quale è il mio indirizzo IP?

Host A Server RARP

Risposta

Il tuo indirizzo IP è:141.14.56.21

Page 55: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Formato del pacchetto RARP

Il formato del pacchetto RARP è identico a quello del pacchetto ARP

L’unica differenza sta nel campo operazione che in questo caso vale 3 per la richiesta e 4 per la risposta

Un pacchetto RARP viene inserito in una trama dello strato per il collegamento dati

• Il frame che trasporta il messaggio RARP ha un campo dei

tipi pari a (8035)16

Page 56: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Server Primario e Server di Backup

Per garantire l’affidabilità del sistema è consigliabile

prevedere la presenza di più server RARP nella stessa

rete• almeno uno risponderà alla richiesta

• il client utilizzerà solo la prima risposta ricevuta

Per evitare di introdurre troppo traffico sulla rete, i

server RARP vengono ordinati gerarchicamente• solo il server primario risponde alle richieste

• il server di backup risponde alla seconda iterazione se

quello primario non ha risposto alla prima richiesta

Page 57: ARP (Address Resolution Protocol RARP (Reverse-ARP · Università degli Studi di Bari “Aldo Moro” Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Reti

Altre soluzioni per Boot Remoto

Il protocollo RARP è stato sostituito da altri protocolli

più flessibili e potenti

• Basati su UDP

BOOTP: BOOTstrap Protocol

DHCP: Dynamic Host Configuration Protocol

• Utilizzati per assegnare dinamicamente gli indirizzi IP