02-mixed-recursive-authority-setup 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 02-mixed-recursive-authority-setup
  2. Introduction
  3. ------------
  4. Ideally we will run the authoritative server independently of the
  5. recursive resolver.
  6. We need a way to run both an authoritative and a recursive resolver on
  7. a single platform, listening on the same IP/port. But we need a way to
  8. run only one of them as well.
  9. We have 3 basic components involved in this mix:
  10. 1. Authoritative zones
  11. 2. Cached RRSETs
  12. 3. Non-cached information
  13. There are a number of possible approaches to this:
  14. a. Make a module that includes all logic. (The BIND 9 module?)
  15. a'. extract major processing logic of auth into a separate library
  16. (maybe loadable module) and allow the resolver to use it, probably
  17. as a kind of hook.
  18. b. Look at authoritative server first, and pass queries to the
  19. recursive component.
  20. c. Make a module that combines authoritative and cache. Queries not
  21. found get passed to a resolver, which also has to update the cache.
  22. d. Have a simple "receptionist" module which knows which zones we are
  23. authoritative for and sends all queries to another daemon.
  24. Stephen did some modeling work on this already. We need to understand
  25. the latency and throughput implications of any of these approaches.
  26. It would be nice to solve the forwarding of packets to DDNS and XfrIn
  27. with this too, if it worked. Currently, it is not possible to run more
  28. instances of these modules to divide the load and it is not possible
  29. to run them without Auth.