Passa al contenuto principale

7. Deployment Scenarios and Examples (Scenari ed Esempi di Distribuzione)

7. Deployment Scenarios and Examples (Scenari ed Esempi di Distribuzione)

In questa sezione, illustriamo come il DNS64 si comporta in scenari diversi che ci si aspetta siano comuni. In particolare, considereremo i seguenti scenari definiti in [RFC6144]: lo scenario "una rete IPv6 verso l'Internet IPv4" (sia con DNS64 in modalità DNS server che in modalità stub-resolver) e lo scenario "Internet IPv6 verso una rete IPv4" (con DNS64 in modalità DNS server solo).

In tutti gli esempi seguenti, c'è un traduttore IPv6/IPv4 che connette il dominio IPv6 a quello IPv4. Inoltre, c'è un name server che è un nodo dual-stack, quindi può comunicare con host IPv6 utilizzando IPv6 e con nodi IPv4 utilizzando IPv4. Inoltre, assumiamo che negli esempi, la funzione DNS64 apprende quale prefisso IPv6 deve utilizzare per mappare lo spazio degli indirizzi IPv4 attraverso configurazione manuale.

7.1. Example of "an IPv6 Network to the IPv4 Internet" Setup with DNS64 in DNS Server Mode

In questo esempio, consideriamo un nodo IPv6 localizzato in un sito solo IPv6 che inizia una comunicazione verso un nodo IPv4 localizzato nell'Internet IPv4.

Lo scenario per questo caso è raffigurato nella figura seguente:

           +---------------------+         +---------------+
|IPv6 network | | IPv4 |
| | +-------------+ | Internet |
| |--| Name server |--| |
| | | with DNS64 | | +----+ |
| +----+ | +-------------+ | | H2 | |
| | H1 |---| | | +----+ |
| +----+ | +------------+ | 192.0.2.1 |
| |---| IPv6/IPv4 |--| |
| | | Translator | | |
| | +------------+ | |
| | | | |
+---------------------+ +---------------+

Figure 4: "An IPv6 Network to the IPv4 Internet" Setup
with DNS64 in DNS Server Mode

La figura mostra un nodo IPv6 H1 e un nodo IPv4 H2 con l'indirizzo IPv4 192.0.2.1 e FQDN h2.example.com.

Il traduttore IPv6/IPv4 ha un indirizzo IPv4 203.0.113.1 assegnato alla sua interfaccia IPv4, e sta utilizzando il Well-Known Prefix 64:ff9b::/96 per creare rappresentazioni IPv6 di indirizzi IPv4. Lo stesso prefisso è configurato nella funzione DNS64 nel name server locale.

Per questo esempio, assumiamo la situazione DNS tipica in cui gli host IPv6 hanno solo stub resolver, e sono configurati con l'indirizzo IP di un name server che devono sempre interrogare e che esegue lookup ricorsivi (d'ora in poi chiamato "il name server ricorsivo").

I passi attraverso cui H1 stabilisce comunicazione con H2 sono:

  1. H1 effettua una ricerca DNS per h2.example.com. H1 fa questo inviando una query DNS per un record AAAA per H2 al name server ricorsivo. Il name server ricorsivo implementa la funzionalità DNS64.

  2. Il name server ricorsivo risolve la query, e scopre che non ci sono record AAAA per H2.

  3. Il name server ricorsivo esegue una query per un record A per H2 e riceve un RRSet contenente un singolo record A con l'indirizzo IPv4 192.0.2.1. Il name server quindi sintetizza un record AAAA. L'indirizzo IPv6 nel record AAAA contiene il prefisso assegnato al traduttore IPv6/IPv4 nei 96 bit superiori e l'indirizzo IPv4 ricevuto nei 32 bit inferiori; cioè, l'indirizzo IPv6 risultante è 64:ff9b::192.0.2.1.

  4. H1 riceve il record AAAA sintetico e invia un pacchetto verso H2. Il pacchetto è inviato all'indirizzo di destinazione 64:ff9b::192.0.2.1.

  5. Il pacchetto è instradato all'interfaccia IPv6 del traduttore IPv6/IPv4, e la comunicazione successiva fluisce per mezzo dei meccanismi del traduttore IPv6/IPv4.

7.2. Example of "an IPv6 Network to the IPv4 Internet" Setup with DNS64 in Stub-Resolver Mode

Questo caso è raffigurato nella figura seguente:

           +---------------------+         +---------------+
|IPv6 network | | IPv4 |
| | +--------+ | Internet |
| |-----| Name |----| |
| +-----+ | | server | | +----+ |
| | H1 | | +--------+ | | H2 | |
| |with |---| | | +----+ |
| |DNS64| | +------------+ | 192.0.2.1 |
| +----+ |---| IPv6/IPv4 |--| |
| | | Translator | | |
| | +------------+ | |
| | | | |
+---------------------+ +---------------+

Figure 5: "An IPv6 Network to the IPv4 Internet" Setup
with DNS64 in Stub-Resolver Mode

La figura mostra un nodo IPv6 H1 che implementa la funzione DNS64 e un nodo IPv4 H2 con l'indirizzo IPv4 192.0.2.1 e FQDN h2.example.com.

Il traduttore IPv6/IPv4 ha un indirizzo IPv4 203.0.113.1 assegnato alla sua interfaccia IPv4, e sta utilizzando il Well-Known Prefix 64:ff9b::/96 per creare rappresentazioni IPv6 di indirizzi IPv4. Lo stesso prefisso è configurato nella funzione DNS64 in H1.

Per questo esempio, assumiamo la situazione DNS tipica in cui gli host IPv6 hanno solo stub resolver, e sono configurati con l'indirizzo IP di un name server che devono sempre interrogare e che esegue lookup ricorsivi (d'ora in poi chiamato "il name server ricorsivo"). Il name server ricorsivo non esegue la funzione DNS64.

I passi attraverso cui H1 stabilisce comunicazione con H2 sono:

  1. H1 effettua una ricerca DNS per h2.example.com. H1 fa questo inviando una query DNS per un record AAAA per H2 al name server ricorsivo.

  2. Il server DNS ricorsivo risolve la query, e restituisce la risposta a H1. Poiché non ci sono record AAAA nel DNS globale per H2, la risposta è vuota.

  3. Lo stub resolver in H1 quindi interroga per un record A per H2 e riceve un record A contenente l'indirizzo IPv4 192.0.2.1. La funzione DNS64 all'interno di H1 quindi sintetizza un record AAAA. L'indirizzo IPv6 nel record AAAA contiene il prefisso assegnato al traduttore IPv6/IPv4 nei 96 bit superiori, quindi l'indirizzo IPv4 ricevuto nei 32 bit inferiori; l'indirizzo IPv6 risultante è 64:ff9b::192.0.2.1.

  4. H1 invia un pacchetto verso H2. Il pacchetto è inviato all'indirizzo di destinazione 64:ff9b::192.0.2.1.

  5. Il pacchetto è instradato all'interfaccia IPv6 del traduttore IPv6/IPv4 e la comunicazione successiva fluisce utilizzando i meccanismi del traduttore IPv6/IPv4.

7.3. Example of "the IPv6 Internet to an IPv4 Network" Setup with DNS64 in DNS Server Mode

In questo esempio, consideriamo un nodo IPv6 localizzato nell'Internet IPv6 che inizia una comunicazione verso un nodo IPv4 localizzato nel sito IPv4.

In alcuni casi, questo scenario può essere affrontato senza utilizzare alcuna forma di funzione DNS64. Questo perché è possibile assegnare un indirizzo IPv6 fisso a ciascuno dei nodi IPv4. Tale indirizzo IPv6 sarebbe costruito utilizzando l'algoritmo di trasformazione degli indirizzi definito in [RFC6052] che prende come input il Pref64::/96 e l'indirizzo IPv4 del nodo IPv4. Si noti che l'indirizzo IPv4 può essere un indirizzo pubblico o privato; quest'ultimo non presenta alcuna difficoltà aggiuntiva, poiché un NSP deve essere utilizzato come Pref64::/96 (in questo scenario, l'uso del Well-Known Prefix non è supportato come discusso in [RFC6052]). Una volta che questi indirizzi IPv6 sono stati assegnati per rappresentare i nodi IPv4 nell'Internet IPv6, RR AAAA reali contenenti questi indirizzi possono essere pubblicati nel DNS sotto il dominio del sito. Questo è l'approccio raccomandato per gestire questo scenario, perché non coinvolge la sintesi di record AAAA al momento della query.

Tuttavia, ci sono alcuni scenari più dinamici, dove la sintesi di RR AAAA in questo setup può essere necessaria. In particolare, quando DNS Update [RFC2136] è utilizzato nel sito IPv4 per aggiornare i RR A per i nodi IPv4, ci sono due opzioni. Un'opzione è modificare il server DNS che riceve gli aggiornamenti DNS dinamici. Quello sarebbe normalmente il server autorevole per la zona. Quindi la zona autorevole avrebbe RR AAAA normali che sono sintetizzati quando si verificano aggiornamenti dinamici. L'altra opzione è modificare tutti i server autorevoli per generare record AAAA sintetici per una zona, possibilmente basati su vincoli aggiuntivi, alla ricezione di una query DNS per il RR AAAA. La prima opzione -- in cui il AAAA è sintetizzato quando viene ricevuto il messaggio di aggiornamento DNS, e i dati pubblicati nella zona rilevante -- è raccomandata rispetto alla seconda opzione (cioè, la sintesi alla ricezione della query DNS AAAA). Questo perché di solito è più facile risolvere problemi di configurazione errata quando le risposte DNS non vengono generate dinamicamente. Tuttavia, può essere il caso in cui il server primario (che riceve tutti gli aggiornamenti) non può essere aggiornato per qualsiasi ragione, ma dove un secondario può essere aggiornato per gestire la (comparativamente piccola quantità di) query AAAA. In tal caso, è possibile utilizzare il DNS64 come descritto successivamente. Il comportamento DNS64 che descriviamo in questa sezione copre il caso della sintesi del RR AAAA quando arriva la query DNS.

Lo scenario per questo caso è raffigurato nella figura seguente:

            +-----------+          +----------------------+
| | | IPv4 site |
| IPv6 | +------------+ | +----+ |
| Internet |----| IPv6/IPv4 |--|---| H2 | |
| | | Translator | | +----+ |
| | +------------+ | |
| | | | 192.0.2.1 |
| | +------------+ | |
| |----| Name server|--| |
| | | with DNS64 | | |
+-----------+ +------------+ | |
| | | |
+----+ | |
| H1 | +----------------------+
+----+

Figure 6: "The IPv6 Internet to an IPv4 Network" Setup
with DNS64 in DNS Server Mode

La figura mostra un nodo IPv6 H1 e un nodo IPv4 H2 con l'indirizzo IPv4 192.0.2.1 e FQDN h2.example.com.

Il traduttore IPv6/IPv4 sta utilizzando un NSP 2001:db8::/96 per creare rappresentazioni IPv6 di indirizzi IPv4. Lo stesso prefisso è configurato nella funzione DNS64 nel name server locale. Il name server che implementa la funzione DNS64 è il name server autorevole per il dominio locale.

I passi attraverso cui H1 stabilisce comunicazione con H2 sono:

  1. H1 effettua una ricerca DNS per h2.example.com. H1 fa questo inviando una query DNS per un record AAAA per H2. La query è eventualmente inoltrata al server nel sito IPv4.

  2. Il server DNS locale risolve la query (localmente), e scopre che non ci sono record AAAA per H2.

  3. Il name server verifica che h2.example.com e il suo RR A siano tra quelli che la policy locale definisce come permessi per generare un RR AAAA. Se questo è il caso, il name server sintetizza un record AAAA dal RR A e dal prefisso 2001:db8::/96. L'indirizzo IPv6 nel record AAAA è 2001:db8::192.0.2.1.

  4. H1 riceve il record AAAA sintetico e invia un pacchetto verso H2. Il pacchetto è inviato all'indirizzo di destinazione 2001:db8::192.0.2.1.

  5. Il pacchetto è instradato attraverso l'Internet IPv6 all'interfaccia IPv6 del traduttore IPv6/IPv4 e la comunicazione fluisce utilizzando i meccanismi del traduttore IPv6/IPv4.