initial words on resolver

This commit is contained in:
bert hubert 2018-03-29 22:36:26 +02:00
parent c0ab1867a0
commit 09d20192c5

View File

@ -2,6 +2,22 @@
**A warm welcome to DNS**
# Resolver
...
Writing a modern resolver is the hardest part of DNS. A fully standards
compliant DNS resolver is not a resolver that can be used in practice.
In reality, resolvers are expected to process malformed queries coming from
clients (stub-resolvers). Furthermore, many authoritative servers respond
incorrectly to modern DNS queries. Zones are frequently misconfigured on
authoritative servers but still expected to work correctly.
Meanwhile, operators desire top performance, with individual CPU cores
expected to satisfy the DNS needs of hundreds of thousands of users.
To top this off, a modern DNS resolver will have to validate DNSSEC
correctly. This may be among the hardest challenges of any widely used
Internet protocol.
So in short, before attempting to write a DNS resolver, ponder if you really
need to.
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>