NAME

  DDDHCPv6.seq - Host requests DNS configuration using DHCPv6


TARGET

  Host


SYNOPSIS

  DDDHCPv6.seq [-tooloption ...] -pkt DDDHCPv6.def -tooloption : v6eval tool option


TOPOLOGY

   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


INITIALIZATION

  1. 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


TEST PROCEDURE

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


JUDGEMENT


  1. DHCP Information-request is recieved

  2. DNS query message is recieved

  3. ICMP Echo Request is recieved


TERMINATION

  N/A


REFERENCE

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.


SEE ALSO

  perldoc V6evalTool