Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Mar 1998 23:04:10 -0500 (EST)
From:      Robert Watson <robert@cyrus.watson.org>
To:        Leif Neland <leifn@image.dk>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Cluster?
Message-ID:  <Pine.BSF.3.96.980305224859.241B-100000@cyrus.watson.org>
In-Reply-To: <520_9803060120@swimsuit.swimsuit.roskildebc.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5 Mar 1998, Leif Neland wrote:

> At 05 Mar 98 17:54:20 Tom  (2:234/49.99) wrote to All  regarding Re: Cluster?
> in area "freebsd-hacker"
> 
>  >> address spaces of all the others.   I agree that DNS has fault tolerant
>  >> capabilities but I wouldn't call them excellent, its annoying to have to
>  >> wait for requests to the primary to time out before the resolver
>  >> library  starts hitting on the secondaries.
> 
>  T>   Speak for your own resolver.  I can't even tell if a primary
>  T> fails.
> 
> In one case I know, the first timeout is 5 seconds, before trying the
> secondary.
> The next timeout is 10, then 20 and finally 40 seconds. Your mileage may vary.

However, I believe that the standard resolver library will store which
servers respond and which don't, and favor servers that have responded in
the past.  This is certainly true if it receives a connection refused icmp
packet, but I'm not sure about lack of response:

(res_send.c):

                        /*
                         * On a 4.3BSD+ machine (client and server,
                         * actually), sending to a nameserver datagram
                         * port with no nameserver will cause an
                         * ICMP port unreachable message to be returned.
                         * If our datagram socket is "connected" to the
                         * server, we get an ECONNREFUSED error on the
next
                         * socket operation, and select returns if the
                         * error message is received.  We can thus detect
                         * the absence of a nameserver without timing out.
                         * If we have sent queries to at least two
servers,
                         * however, we don't want to remain connected,
                         * as we wish to receive answers from the first
                         * server to respond.
                         */

The badns flag for that particular name server is set so that we avoid it
in the future.  A quick scan of the code did not turn up a badns bit
toggle on timeout, as I think it is assumed that server disappearance may
be transient, or the result of high load?  I don't believe code to shift
down precedence of a server exists in the v4.9.x BIND code, but it would
certainly be a useful addition.

I have not checked the Bind 8 code, however.

  Robert N Watson 

Carnegie Mellon University http://www.cmu.edu/
SafePort Network Services  http://www.safeport.com/
robert@fledge.watson.org   http://www.watson.org/~robert/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980305224859.241B-100000>