README
1Copyright (C) 1998 WIDE Project. All rights reserved.
2Copyright (C) 1999,2000,2001,2002 University of Tromso. All rights reserved.
3Copyright (C) 2002 Invenia Innovation AS. All rights reserved.
4
5*** Acknowledgements ***
6
7Thanks to 6Net (EU project IST-2001-32603), http://www.6net.org/, for
8partially funding totd development.
9
10Thanks to Telenor FoU, Troms� for funding of and collaboration in
11building our IPv6-only wireless MAN infrastructure.
12
13Thanks to the Kame project (http://www.kame.net), and Itojun Hagino
14in particular, for bugfixes and patches and the support for scoped
15address rewriting.
16
17Thanks to Nathan Lutchansky for adding Linux support.
18Thanks to Simon Leinen for making totd work on Solaris.
19
20And finally, thanks to those that reported bugs or requested features.
21
22*** What does totd do? ***
23
24Totd is a small DNS proxy nameserver that supports IPv6 only hosts/networks
25that communicate with the IPv4 world using some translation mechanism.
26Examples of such translation mechanisms currently in use are:
27
28 * IPv6/IPv4 Network Address and Packet Translation (NAT-PT)
29 implemented.
30 * Transport level translators as the faithd implemented by
31 the KAME project (http://www.kame.net). See faithd(8) on
32 *BSD/Kame.
33
34These translators translate map IPv4 to IPv6 connections and back in some
35way. In order for an application to connect through such a translator to
36the world beyond it needs to use fake or fabricated addresses that are
37routed to this translator. These fake addresses don't exist in the DNS,
38and most likely you would not want them to appear there either. Totd
39fixes this problem for now (until more elegant solutions emerge?) by
40translating DNS queries/responses for the faked addresses. totd constructs
41these fake addresses based on a configured IPv6 translator prefix and
42records it *does* find in DNS. Totd is merely a stateless DNS-proxy, not
43a nameserver itself. Totd needs to be able to forward requests to a real
44nameserver. Recently, a running totd can be (re-)configured remotely
45using http; see the INSTALL document for more information about this.
46
47*** Some other experimental things you could use totd for ***
48
49Totd can do some things that are more experimental. you can select at
50compile time whether you want these or not. Totd supports re-writing of scoped
51addresses in DNS responses and supports reverse namelookup for 6to4 names.
52Scoped address rewriting is explained in the totd manual page.
53
546to4 reverse lookup is based on draft-moore-6to4-dns-00.txt,
55section 3.3:
56
57 When such a resolver received a PTR or NS query for a label that
58had a [x2002].IP6.ARPA suffix, it would first attempt to satisfy that
59query from its cache, or failing that, by forwarding the query to an
60upstream server. If that query failed due to a "no such domain" error,
61the resolver would then attempt to find the server for the
62{something}.[x2002].IP6.ARPA label by issuing an NS query for
63{something}.IN-ADDR.ARPA.
64
65 If the original query was for PTR records, and one or more NS
66records were found for {something}.IN-ADDR.ARPA, the resolver would then
67forward the original query for {something}.[x2002].IP6.ARPA to one or
68more of those servers, and return the results from one of the forwarded
69queries if any were successful.
70
71 If the original query was for NS records, and one or more NS
72records were found for {something}.IN-ADDR.ARPA, the resolver would then
73return the pseudo-records corresponding to the IN-ADDR.ARPA domains.
74Those pseudo-records would NOT be marked as authoritative, and the
75resolver would NOT cache those records.
76
77*** Contacting the Author ***
78
79You can contact me (Feico Dillema) at feico at pasta.cs.uit.no (s/ at /@).
80