[successivo] [precedente] [indice]

Risoluzione Indirizzi

Il protocollo ARP (Address Resolution Protocol) per la risoluzione di indirizzi fisici a livello del link locale e' stato completamente sostituito da una procedura detta di Neighbour Discovery (ND).

La procedura ND e' basata su ICMP ed usa indirizzamento multicasting. Il formato dell'indirizzo multicast differisce a seconda del livello fisico. Per un indirizzo fisico tipo IEEE 802 (p.es. Ethernet) questo e' formato, come 48 bit finali, dal prefisso 3333 (esadecimale) concatenato agli ultimi 32 bit dell'indirizzo di multicast IPv6.

La procedura ND assume che uno host mantenga quattro aree di cache:

Algoritmo di Base

Per trasmettere un pacchetto una stazione deve scoprire la sua destinazione successiva, che deve essere un vicino direttamente connesso, di cui si deve conoscere l'indirizzo fisico.

Si controlla dapprima se esista gia' una entry nella cache delle destinazioni. Altrimenti si controlla se il prefisso IP del pacchetto corrisponda ad una entry della cache dei prefissi: in tal caso il recapito e' locale. Se non e' determinato come locale, il pacchetto viene inviato ad uno dei router.

Determinata la destinazione successiva, viene aggiornata la tabella delle destinazioni, quindi viene ispezionata la cache dei vicini alla ricerca dell'indirizzo fisico del vicino che e' la destinazione successiva. Sono possibili quattro casi:

Neighbour Solicitation

Nel messaggio Neighbour Solicitation il campo Codice e' zero. L'Indirizzo Target e' quello del vicino inquisito. Il campoopzioni contiene l'indirizzo fisico del chiamante, come nel caso di un messaggio Router Solicitation.

L'indirizzo sorgente del pacchetto IP che contiene il messaggio ICMP Neighbour Ssolicitation e' l'inirizzo Link Local, il Numero di Salti e' posto a 1, e l'indirizzo destinazione viene chiamat indirizzo Solicited Node Multicast.

Questo indirizzo e' formato concatenando il prefisso a 96 bit FF02:0:0:0:0:1 con gli ultimi 32 bit dell'indirizzo IP del nodo target. Tutte la stazioni di rete hanno l'obbligo di calcolare l'indirizzo Solicited Node Multicast per tutti i propri indirizzi, e di aggregarsi ai rispettivi gruppi di multicast.

La stazione che si riconosce come destinazione di un messaggio Neighbour Solicitation risponde con un messaggio Neighbour Advertisement.

Neighbour Advertisement

Il campo Indirizzo Target contiene l'indirizzo IP della stazione rispondente. L'indirizzo fisico del rispondente e' contenuto nel campo opzioni. Il campo Tipo e' settato a 2. Il campo R e' settato quando il rispondente e' un router. Il campo S e' settato a 1 se il messaggio e' inviato a seguito di un Neighbour Solicitation.

Qando la stazione richiedente riceve il messaggio Neighbour Advertisement aggiorna la cache delle destinazioni e pone lo stato complete alla entry.

Il messaggio Neighbour Advertisement viene anche usato per la detezione di indirizzi duplicati durante la fase di autoconfigurazione, ma con le seguenti differenze:

Ridirezioni

Una stazione puo' scegliere il router sbagliato come destinazione successiva. Tale router invia i pacchetti al router corretto ed anche un messaggio di Ridirezione alla stazione inviante.

Messaggio di Ridirezione

L'Indirizzo di Destinazione e' quello originale ed errato, l'Indirizzo Target e' quello nuovo e corretto. Puo' esservi come opzione l'indirizzo fisico della destinazione corretta. Puo' esservi anche una opzione Redirected Header contenente i primi byte del pacchetto errato.

Opzione Redirected Header

L'opzione Redirected Header ha il campo Tipo di valore 4. La lunghezza esprime il numero di parole a 64 bit copiate dal pacchetto ridiretto.

Le stazioni che ricevono un messaggio di Redirect aggiornano la propria cache delle destinazioni e se possibile, anche la cache dei vicini. Una stazione puo' anche ignorare i messaggi di Redirect, come regola di sicurezza.

Caso di Reti Sconnesse

In assenza di routers una stazione non ricevera' mai messaggi Router Advertisement, e le liste dei router e dei prefissi rimarranno vuote.

Le stazioni devono usare come indirizzi sorgente solo i loro indirizzi Link Local. Tutti gli indirizzi di destinazione devono essere considerati locali. Gli indirizzi dei salti successivi e delle destinazioni finali coincidono.

Altre Informazioni dai Router

Il messaggio Router Advertisement contiene molti parametri per il controllo trasmissione o per la gestione delle cache.

Router Advertisement

Il Tempo di Vita dei Router indica il numero di secondi in cui il router puo' essere mantenuto nella lista dei router.

Il Tempo di Raggiungibilita' indica il tempo in millisecondi in cui ci si attende che i vicini rimangano raggiungibili. se e' zero non e' specificato.

Il Tempo di Ritrasmissione e' in millisecondi ed indica l'intervallo da adottare tra ritrasmissioni verso una stazione che non risponde a messaggi Neighbour Solicitation con un Neighbour Advertisement. Il valore zero indica non specificato. Ogni Neighbour Advertisement ha una validita' di defaukt di 10 minuti,

Il Limite Salti e' un suggerimento da parte del router, configurabile amministrativamente, di un buon valore che le stazioni dovrebbero adottare di default per i loro pacchetti.

Sono possibili tre opzioni.

L'opzione Source Link Layer permette ai router di comunicare il proprio indirizzo fisico.

L'opzione MTU e' trasmessa da router connessi a link che non hanno una MTU specificata, come Token Ring.

Opzione MTU

Il campo Tipo vale 5, la Lunghezza vale 1, e la lunghezza del campo MTU e' 64 bit.

Il terzo tipo di opzione e' costituito dai prefissi disponibili per l'autoconfigurazione.

Casi Speciali

Detezione Buchi Neri

Se un router o un indirizzo fisico vengono a mancare puo' avvenire che i pacchetti vengano inviati ad una destinazione inesistente e persi in un "buco nero".

Esistono quindi procedure dette Neighbour Unreachability Detection .

Quando e' in corso una trasmissione pacchetti unidirezionale senza conferme di ricezione viene usato un temporizzatore extra di 30 secondi. Allo scadere del temporizzatore la stazione trasmittente invia un messaggio Neighbour Solicitation alla stazione ricevente, prima di continuare la trasmissione. Questo messaggio puo' essere ripetuto alcune volte.

Se il messaggio non ha conferma individuale dalla stazione ricevente, la trasmissione e troncata, ed eventualmente viene inviato un messaggio Destination Unreachable alla stazione a monte. La entry del ricevente viene rimossa dalla cache dei vicini e viene iniziata una nuova procedura di Neighbour Discovery.

Puo' darsi altresi' che un router termini le sue funzioni di routing e divenga una stazione normale. In tal caso inviera' messaggi Neighbour Advertisement con il flag R settato a zero, e questo deve essere sempre ispezionato dalle stazioni trasmittenti.

Ritardi Casuali

Per evitare picchi di traffico in rete, la ripetizione dei messaggi di Solicitation avviene dopo un ritardo casuale.

Questo ritardo e' applicato anche all'atto della prima inizializzazione ed autoconfigurazione delle stazioni, per evitare congestioni dopo una caduta e ripristino di tensione.

Il ritardo usa un generatore di numeri pseudocasuali basato su una proprieta' univoca di ciascuna stazione, quale l'indirizzo fisico IEEE 802 o il numero di serie.

Protezione da Messaggi Off-Link

Un problema di sicurezza e' l'arrivo di messaggi ICMP da potenziali hacker al di fuori del link locale.

Questo viene risolto settando il massimo numero di salti dei messaggi Solicitation e Advertisement a 255 e accettando come validi solo pacchetti con tale valore.

Dato che ogni router decrementa di uno il numero di salti, viene scoperto e ignorato um messaggio proveniente da oltre un router.