]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Update description of forwarding behavior in ARM
authorSuzanne Goldlust <sgoldlust@isc.org>
Thu, 23 Jul 2020 13:05:43 +0000 (13:05 +0000)
committerMichał Kępień <michal@isc.org>
Tue, 4 Aug 2020 19:42:32 +0000 (21:42 +0200)
(cherry picked from commit 30e126ad02c703e51e6df58ec1e84bdb72884426)

doc/arm/introduction.rst

index 8945f686671293a9d490162e8bc46227db79ceec..43e3ebdd05b6d1f36794cf3f06b3097472e7730e 100644 (file)
@@ -291,14 +291,26 @@ recursive lookup itself. Instead, it can *forward* some or all of the
 queries that it cannot satisfy from its cache to another caching name
 server, commonly referred to as a *forwarder*.
 
-There may be one or more forwarders, and they are queried in turn until
-the list is exhausted or an answer is found. Forwarders are typically
-used when you do not wish all the servers at a given site to interact
-directly with the rest of the Internet servers. A typical scenario would
-involve a number of internal DNS servers and an Internet firewall.
-Servers unable to pass packets through the firewall would forward to the
-server that can do it, and that server would query the Internet DNS
-servers on the internal server's behalf.
+Forwarders are typically used when an administrator does not wish for
+all the servers at a given site to interact directly with the rest of
+the Internet. For example, a common scenario is when multiple internal
+DNS servers are behind an Internet firewall. Servers behind the firewall
+forward their requests to the server with external access, which queries
+Internet DNS servers on the internal servers' behalf.
+
+Another scenario (largely now superseded by Response Policy Zones) is to
+send queries first to a custom server for RBL processing before
+forwarding them to the wider Internet.
+
+There may be one or more forwarders in a given setup. The order in which
+the forwarders are listed in ``named.conf`` does not determine the
+sequence in which they are queried; rather, ``named`` uses the response
+times from previous queries to select the server that is likely to
+respond the most quickly. A server that has not yet been queried is
+given an initial small random response time to ensure that it is tried
+at least once. Dynamic adjustment of the recorded response times ensures
+that all forwarders are queried, even those with slower response times.
+This permits changes in behavior based on server responsiveness.
 
 .. _multi_role: