DDDHCPv6.seq - Host requests DNS configuration using DHCPv6
Host
Host1 | ISP site --+----+--------------- Link1 3ffe:501:ffff:101::/64 | TN NUT | | Customer site -------+-------+------- Link0 3ffe:501:ffff:100::/64
Host1 Global address 3ffe:501:ffff:101:200:ff:fe00:a1a1 TN
DHCP and DNS ServerLink0 Link-local fe80::200:ff:fe00:a0a0 Global address 3ffe:501:ffff:100:200:ff:fe00:a0a0 Ether 00:00:00:00:a0:a0 NUT Link-local NUT link-local address Global address NUT 3ffe:501:ffff:100: + NUT's MAC Addr
Tester as Server Target as Client | | |<--------------------------| | Router Solicitation | | | |-------------------------->| | Router Advertisement | | |
1. Wait Router Solicitation 2. Send Router Advertisement
Tester as Server Target as Client | | |<--------------------------| | Judgment #1 | | DHCP Information-request | | | |-------------------------->| | DHCP Reply message | | w/ Domain list option | | | | <---------------| | ICMP Echo request| | to test.tahi.org | | | |<--------------------------| | Judgment #2 | | NUT send standard query | | to distributed address by | |the DHCP for AAAA record of| | "test.tahi.org" | | | |-------------------------->| | DNS response | | for AAAA record of | | "test.tahi.org | | | |<--------------------------| | Judgment #3 | | ICMP Echo request | | to test.tahi.org | | | |-------------------------->| | ICMP Echo reply | | from test.tahi.org | | | v v
1. Wait DHCP Information-request message 2. Send DHCP Reply message 3. Wait DNS query to distributed address by the DHCP server for AAAA record of "test.tahi.org" 4. Send DNS response for AAAA record of "test.tahi.org" 5. Wait Echo request to test.tahi.org 6. Send Echo reply from test.tahi.org
DHCP Information-Request message
msg-type INFORMATION-REQUEST (11) option Client Identifier Option Elapsed Time Option (MUST) elapsed-time ANY Option Request Option option-code OPTION_DNS_SERVERS (tbd)
DHCP Reply message
msg-type REPLY(7) options Client Identifier Option Server Identifier Option Domain Name Server option Code OPTION_DNS_SERVERS (tbd) DNS-server 3ffe:501:ffff:100:200:ff:fe00:a0a0
DNS query message
Destination address is 3ffe:501:ffff:100:200:ff:fe00:a0a0
Header QR 0 (SQUERY) OPCODE 0 (SQUERY) Question section QNAME test.tahi.org QTYPE 28 (IPv6 address) QCLASS 1 (Internet)
DNS standard query response message
Header QR 1 (RESPONSE) OPCODE 0 (SQUERY) AA 1 (Authoritative Answer) Question section QNAME test.tahi.org QTYPE 28 (IPv6 address) QCLASS 1 (Internet) Answer section RRs NAME test.tahi.org TYPE 28 (IPv6 address) CLASS 1 (Internet) TTL 1800 (second) RDLENGTH 16 RDATA 3ffe:501:ffff:101:200:ff:fe00:a2a2
1. DHCP Information-request is recieved 2. DNS query message is recieved 3. ICMP Echo Request is recieved
N/A
draft-ietf-ipv6-dns-discovery-07.txt 6.4 DNS forwarder with DHCPv6 interactions
In this variant scenario, DHCPv6 is be used between the PE and CPE to do prefix delegation [DELEG] and recursive DNS server discovery.
------------- / | -------- -------------- / | |ISP | |customer CPE| / Customer | |DHCPv6|===========| DHCPv6|====< site | |server| <------|------client| \ | -------- -------------- \ | \ | -------------
This example will show how DHCPv6 and well known site local unicast addresses cooperate to enable the internal nodes to access DNS.
The customer router CPE is configured on its internal interface with one of the reserved site local addresses and listen for DNS queries. It would act as a DNS forwarder, as in 5.2, forwarding those queries to the recursive DNS server pointed out by the ISP in the DHCPv6 exchange.
------------- / | ---------- -------------- / | |ISP | |customer CPE| / Customer | |DNS |===========| DNS|====< site | |resolver| <------|---forwarder|-----\---- | ---------- -------------- \ | \ | -------------
The same CPE router could also implement a local DHCPv6 server and advertizes itself as DNS forwarder.
------------- / | -------- -------------- / Customer | |ISP PE| |customer CPE| / site | | |===========|DHCPv6 |====< | | | |server------|-----\---> | -------- -------------- \ | \ | -------------
Within the site:
a) DHCPv6 aware clients use DHCPv6 to obtain the address of the DNS forwarder...
------------- / | ---------- -------------- / Customer | |ISP | |customer CPE| / site | |DNS |===========| DNS|====< | |resolver| <------|---forwarder|-----\----DHCPv6 | ---------- -------------- \ client | \ | ------------- (The address of the DNS forwarder is acquired via DHCPv6.)
b) other nodes simply send their DNS request to the reserved site local addresses.
------------- / | ---------- -------------- / customer | |ISP | |customer CPE| / site | |DNS |===========| DNS|====< | |resolver| <------|---forwarder|-----\----non DHCPv6| ---------- -------------- \ node | \ | ------------- (Internal nodes use the reserved site local unicast address.)
A variant of this scenario is the CPE can decide to pass the global address of the ISP recursive DNS server in the DHCPv6 exchange with the internal nodes.
perldoc V6evalTool