# NAME

      DDWellknown.seq - Three well known IPv6 site local addresses is used for recursive DNS server

# TARGET

      Host

# SYNOPSIS

      DDWellknown.seq [-tooloption ...] -pkt DDWellknown.def

# 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 DNS Server` | Link0 | `Link-local` | `fe80::200:ff:fe00:a0a0`
> `Global address` | `3ffe:501:ffff:100:200:ff:fe00:a0a0`
> `Site-local address` | fec0:000:0000:ffff::1
> | fec0:000:0000:ffff::2
> | fec0:000:0000:ffff::3
> `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

    Tester as Server        Target as Client
        |                           |
        |<--------------------------|
        |   Router Solicitation     |
        |                           |
        |-------------------------->|
        |   Router Advertisement    |
        |                           |
        |<--------------------------|
        |  DNS Cofiguration request |
        |         or                |
        |  No DNS Config request    |
        |                           |
        |(------------------------>)|
        |  No Response message      |
        |                           |

      1. Wait Router Solicitation
      2. Send Router Advertisement
      3. Wait DNS Cofiguration request message
      4. No Response message

# TEST PROCEDURE

    Tester as Server        Target as Client
        |                           |
        |           <---------------|
        |          ICMP Echo request|
        |          to test.tahi.org |
        |                           |
        |<--------------------------|
        |   Judgment #1             |
        | NUT send standard query   |
        | to the well known address |
        | for AAAA record of        |
        |  "test.tahi.org"          |
        |                           |
        |-------------------------->|
        |   DNS response            |
        |  for AAAA record of       |
        |  "test.tahi.org           |
        |                           |
        |<--------------------------|
        |   Judgment #2             |
        |   ICMP Echo request       |
        |   to test.tahi.org        |
        |                           |
        |-------------------------->|
        |   ICMP Echo reply         |
        |   from test.tahi.org      |
        |                           |
        v                           v

      1. Wait DNS query to the well known address for AAAA record of "test.tahi.org"
      2. Send DNS response for AAAA record of "test.tahi.org"
      3. Wait Echo request to test.tahi.org
      4. Send Echo reply from test.tahi.org

> DNS query message
> Destination address is one of fec0:000:0000:ffff::1, fec0:000:0000:ffff::2, fec0:000:0000:ffff::3

> 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

# JUDGMENT

      1. DNS query messages is recieved to the site local address of either fec0:0000:0000:fff::1,
     fec0:0000:0000:fff::2 or fec0:0000:0000:fff::3.

      2. ICMP Echo Request is recieved

# TERMINATION

      N/A

# REFERENCE

    draft-ietf-ipv6-dns-discovery-07.txt
    6.1 Simple case, general purpose recursive DNS server

       This example shows the case of a network that manages one recursive
       DNS server and a large number of nodes running DNS stub resolvers.
       The recursive DNS server is performing (and caching) all the
       recursive queries on behalf of the stub resolvers.  The recursive DNS
       server is configured with an IPv6 address taken from the prefix
       delegated to the site and with the 3 well known addresses defined in
       this memo.  The stub resolvers are either configured with the "real"
       IPv6 address of the recursive DNS server or with the well known site
       local unicast addresses defined in this memo.

                --------------------------------------------
                |                                          |
                |                  ---------------------   |
                |                  |DNS stub resolver  |   |
                |                  |configured with the|   |
                |                  |"real" address of  |   |
                |                  |the recursive DNS  |   |
                |                  |server             |   |
                |                  ---------------------   |
                |  -----------          |                  |
                |  |recursive|          |                  |
                |  |DNS      |<----------                  |
                |  |server   |<----------------            |
                |  -----------                |            |
                |                  ----------------------  |
                |                  |DNS stub resolver   |  |
                |                  |configured with 3   |  |
                |                  |well known addresses|  |
                |                  ----------------------  |
                |                                          |
                --------------------------------------------

                (The recursive DNS server is configured to listen both on
                its IPv6 address and on the well known address)

    6.4 DNS forwarder with DHCPv6 interactions

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

# SEE ALSO

      perldoc V6evalTool
      perldoc V6evalRemote