Release 85 bulk changes
title "Pliant DNS client and server"
header "The Pliant DNS server design"
[The Pliant implementation is based on ] ; link "RFC 1035" "http://www.ietf.org/rfc/rfc1035.txt " ; [ specifications.] ; eol
[What's special about Pliant DNS server is that it does not contain a resolver.] ; eol
[It may look strange at first, but it's a win in all areas:]
item [Behaving as a simple cache of the ISP DNS server brings lower latency since it will benefit from the ISP DNS large cache wich is only a few nodes far on the Internet.]
item [It enables to answer queries the Pliant DNS server does not understand.]
item [It prevents most bugs in the resolver since we rely on the ISP DNS server which will always be an up to date 'bind' server, whereas resolving would lead to query various different servers, some of them beeing buggy.]
[On the other hand, there is no need to implement a real resolver, except to avoid recursive queries between servers, but this is provided in Pliant DNS server with the much simpler notion of local/external queries beeing answered differently.]
header "Implementation details"
header "Pliant DNS client and server modules"
table columns 2
link "common.pli" "common.pli"
[Defines the various data types used in DNS protocol, and the names encoding and decoding (in the DNS protocol, names are 'compressed').] ; eol
[It also contains the caching code.]
link "client.pli" "client.pli"
[The Pliant DNS client.] ; eol
[Contains the code that builds a request, then submit it to the caching system, then parses the answer.]
link "server.pli" "server.pli"
[The Pliant DNS server.] ; eol
[It's main task is parsing and forwarding or building answers received on TCP or UDP port 53.] ; eol
[It relies on common.pli for caching forwarded queries.]
link "name.pli" "name.pli"
[Defines the various tables involved in the DNS database.]
link "name.page" "name.page"
[The dynamic page that will allow you to configure the DNS database using your browser.]
header "The Pliant DNS implementation status"
[The current status of the DNS client and server is described in the ]
link "DNS section" "/pliant/welcome/project/dns"
[ of the ]
link "Pliant overall project" "/pliant/welcome/project/"