Un router dovrebbe utilizzare SLAAC per l'assegnazione dell'indirizzo IPv6?


11

Sono un po 'confuso dai seguenti 2 RFC relativi a IPv6:

  • RFC 4862 (autoconfigurazione dell'indirizzo stateless IPv6)
  • RFC 7084 (Requisiti router IPv6 CE)

RFC 4862 afferma:

Il processo di autoconfigurazione specificato in questo documento si applica solo agli host e non ai router. Poiché l'autoconfigurazione dell'host utilizza le informazioni pubblicizzate dai router, i router dovranno essere configurati con altri mezzi.

RFC 7084 elenca uno dei requisiti di configurazione lato WAN per l'assegnazione dell'indirizzo come:

WAA-1: il router IPv6 CE DEVE supportare la configurazione automatica dell'indirizzo stateless (SLAAC) [RFC4862].

C'è una contraddizione qui?

Un router dovrebbe essere in grado di configurare automaticamente un indirizzo IPv6 per la sua interfaccia WAN?


Perché dice RFC 4862

Poiché l'autoconfigurazione dell'host utilizza le informazioni pubblicizzate dai router, i router dovranno essere configurati con altri mezzi.

Se ad esempio sto usando un router per connettere la mia LAN a un ISP, non c'è un router nella rete dell'ISP che sta parlando al mio router?

Avrei pensato che fosse perfettamente ragionevole avere 2 (o più) router incatenati insieme. In tal caso, perché non utilizzare SLAAC sull'interfaccia WAN del secondo router?


Forse il problema si riduce alla distinzione artificiale tra host e router? Da RFC 4862:

nodo - un dispositivo che implementa l'IP.

router - un nodo che inoltra pacchetti IP non indirizzati esplicitamente a se stesso.

host - qualsiasi nodo che non sia un router.

Ma un host (ovvero una macchina che ospita server o applicazioni) non può anche avere una tabella di routing e funzionare come router? E stiamo effettivamente concatenando nuovamente 2 router.


Modifica : alcune informazioni extra che ho scoperto in seguito ...

Il kernel Linux gestisce SLAAC e segue da vicino RFC 4862. Fino alla distinzione tra host e router. Vedi la documentazione del kernel su ip-sysctl :

  • Si presume il comportamento HOST. Ciò significa che verranno inviate le sollecitazioni del router e gli annunci del router verranno utilizzati per la configurazione automatica dell'indirizzo.
  • Solo se è abilitato l' inoltro ( /proc/sys/net/ipv6/conf/all/forwarding), il dispositivo è considerato un ROUTER . Ciò significa che non verranno inviate richieste di router e gli annunci di router verranno ignorati.

Risulta che questa distinzione risale a molto tempo fa, prima di IPv6. Vedi il parametro /proc/sys/net/ipv4/ip_forward:

Questa variabile è speciale, la sua modifica riporta tutti i parametri di configurazione al loro stato predefinito ( RFC1122 per host, RFC1812 per router)

Risposte:


7

In RFC 7084, afferma anche:

W-1: quando il router è collegato al collegamento dell'interfaccia WAN, DEVE fungere da host IPv6 ai fini dell'assegnazione dell'indirizzo dell'interfaccia stateless [RFC4862] o state [RFC3315].

In breve, sì: un router dovrebbe essere in grado di configurare automaticamente un indirizzo IPv6 per la sua interfaccia WAN.

In realtà, tuttavia, la maggior parte degli ISP implementa DHCPv6 e DHCPv6-PD ( RFC3633 ) per l'allocazione degli indirizzi a valle, insieme alla delega dei prefissi.

Ciò garantisce che il router non solo riceva un indirizzo sulla sua interfaccia WAN, ma che riceva anche un prefisso che può utilizzare anche sulla sua interfaccia LAN interna.


6

RFC 4862 descrive davvero i router all'interno di un singolo controllo amministrativo. RFC 7084 chiarisce come dovrebbero comportarsi i router dei clienti. Ciò offre all'ISP una certa libertà nel modo in cui supporta IPv6 ai propri clienti.

Per il router PE, il router CE è un host. Dal punto di vista di una LAN (dominio di livello 2, incluso il collegamento da PE a CE), un router è in realtà solo un altro host sulla rete. Nella maggior parte dei casi, gli indirizzi dei collegamenti WAN saranno definiti staticamente, tramite DHCP o PPP, non utilizzando effettivamente SLAAC.

Penso che ti sia sfuggita la parte in RFC 7084 che precede ciò che hai citato:

Requisiti lato WAN:

W-1: quando il router è collegato al collegamento dell'interfaccia WAN, DEVE fungere da host IPv6 ai fini dell'assegnazione dell'indirizzo dell'interfaccia stateless [ RFC4862 ] o state [ RFC3315 ].


1
Molti ISP eseguono anche l'interconnessione WAN senza numero (solo link-local). Tutto ciò che accade sul collegamento WAN è il router ISP che invia i pacchetti al CPE e il CPE che invia i pacchetti al gateway predefinito. Entrambi di solito usano comunque indirizzi link-local.
Sander Steffann,

5

Perché RFC 4862 dice "Poiché l'autoconfigurazione dell'host utilizza le informazioni pubblicizzate dai router, i router dovranno essere configurati con altri mezzi".

Le persone che hanno scritto quel documento (ed è il suo predecessore RFC 2462) hanno quasi sicuramente avuto una visione del mondo secondo cui esistevano due tipi di dispositivi. "host" che erano numerosi e un onere da gestire e "router" che erano gestiti da amministratori di rete competenti.

All'inizio degli anni 2000 abbiamo avuto l'ascesa di connessioni DSL / via cavo sempre attive e anche un aumento del numero di persone che avevano a casa più di un computer in grado di utilizzare una connessione Internet. Poiché molti ISP avrebbero fornito un solo indirizzo IP a un cliente (almeno senza addebito di costi aggiuntivi), abbiamo visto un massiccio aumento dell'uso di "router domestici" con NAT per nascondere più computer dietro tale connessione. Il NAT ha permesso al "router di casa" di nascondere la sua vera natura all'ISP, per quanto riguarda l'ISP, il "router di casa" era proprio come un host.

All'inizio, tale utilizzo è stato "tollerato" solo dagli ISP, ma alla fine hanno deciso che non era poi così male e hanno iniziato a offrire / vendere i "router domestici" ai propri clienti. Di conseguenza abbiamo finito con un numero enorme di questi dispositivi seduti in case e piccole imprese.

È solo relativamente di recente che l'IETF ha iniziato a esplorare in modo adeguato il comportamento dei "router domestici" e degli ISP che li servono nel contesto di IPv6. La risposta è che l'interfaccia "lato WAN" dovrebbe funzionare come un host mentre le interfacce "lato LAN" dovrebbero comportarsi come un normale router. Poiché non esiste un NAT, sono necessari alcuni dettagli aggiuntivi per gestire gli indirizzi di fornitura per il lato LAN.


Per quanto riguarda il kernel Linux, infatti, di default ignora le RA quando il routing è abilitato, ma questo comportamento può essere ignorato se necessario.


Non hai menzionato come eseguire l'override. Ho il seguente post nel mio file / etc / network / interfaces sysctl -w net.ipv6.conf.eth0.accept_ra = 2 che credo sia l'impostazione per abilitare RA.
tgunr,

Sì, 0 è disabilitato, 1 è la modalità normale (abilitata per gli host ma non i router) e 2 è abilitata forzatamente.
Peter Green,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.