From owner-freebsd-hackers Thu Mar 5 20:04:25 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA17351 for freebsd-hackers-outgoing; Thu, 5 Mar 1998 20:04:25 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from fledge.watson.org (root@FLEDGE.RES.CMU.EDU [128.2.91.116]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA17316 for ; Thu, 5 Mar 1998 20:04:15 -0800 (PST) (envelope-from robert@cyrus.watson.org) Received: from cyrus.watson.org (cyrus.pr.watson.org [192.0.2.4]) by fledge.watson.org (8.8.8/8.6.10) with SMTP id XAA29173; Thu, 5 Mar 1998 23:04:10 -0500 (EST) Date: Thu, 5 Mar 1998 23:04:10 -0500 (EST) From: Robert Watson Reply-To: Robert Watson To: Leif Neland cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Cluster? In-Reply-To: <520_9803060120@swimsuit.swimsuit.roskildebc.dk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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