DDDHCPv6.seq - Host requests DNS configuration using DHCPv6
Host
DDDHCPv6.seq [-tooloption ...] -pkt DDDHCPv6.def -tooloption : v6eval tool option
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 Server |
Link0 |
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 |
- NUT sets up as DHCPv6 client Host
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