02-mixed-recursive-authority-setup 1.41 KB
Newer Older
1
2
3
4
5
6
7
8
02-mixed-recursive-authority-setup

Introduction
------------
Ideally we will run the authoritative server independently of the
recursive resolver.

We need a way to run both an authoritative and a recursive resolver on
9
10
a single platform, listening on the same IP/port. But we need a way to
run only one of them as well.
11
12
13
14
15
16
17
18
19
20

We have 3 basic components involved in this mix:

1. Authoritative zones
2. Cached RRSETs
3. Non-cached information

There are a number of possible approaches to this:

a. Make a module that includes all logic. (The BIND 9 module?)
21
22
23
a'. extract major processing logic of auth into a separate library
   (maybe loadable module) and allow the resolver to use it, probably
   as a kind of hook.
24
25
26
27
28
29
30
31
32
b. Look at authoritative server first, and pass queries to the
   recursive component.
c. Make a module that combines authoritative and cache. Queries not
   found get passed to a resolver, which also has to update the cache.
d. Have a simple "receptionist" module which knows which zones we are
   authoritative for and sends all queries to another daemon.

Stephen did some modeling work on this already. We need to understand
the latency and throughput implications of any of these approaches.
33
34
35
36
37

It would be nice to solve the forwarding of packets to DDNS and XfrIn
with this too, if it worked. Currently, it is not possible to run more
instances of these modules to divide the load and it is not possible
to run them without Auth.