Subject: Which servers crash on ID reuse?

From: "D. J. Bernstein" <[email-masked]>
Date: 31 Dec 1999 01:07:37 -0000

BIND tries to avoid quickly repeating its outgoing query IDs. I've been
told that one reason for this is to avoid triggering a crash in some old
Apple DNS servers.

Does anyone have more information about the buggy DNS implementations?
What software has the problem? What version fixed the problem? What are
the conditions that produce a crash?

What happens if two independent caches (or two people running dig) use
the same ID? What happens if BIND sends ID 375 to one of these servers,
then sends the next 65000 queries to other servers, then sends ID 375 to
the same server again?

Are these servers deployed on a noticeable number of machines? Do new
server implementors have to worry about this interoperability problem?
Is any of this documented in the IETF DNS specifications?

---Dan

---

From: Andrew Brown <[email-masked]>
Date: Mon, 3 Jan 2000 16:11:51 -0500

>told that one reason for this is to avoid triggering a crash in some old

that very well might be the case, but it sounds hokey.  the real
reason to avoid re-using query ids is so that a given server doesn't
have two queries outstanding to the same "other" server where the
answer might be returned and get confused.

bind currently (i believe) uses both the query id and the remote
server's ip address to verify (or properly route) a received reply.
if a query id was re-used too soon, such that there was already an
outstanding query to the same "other" server, the answers would
probably get mixed up.  i don't think it would crash anything.

>the same ID?

nothing, since the queries will have different questions (supposedly),
source addresses (possibly), and source ports (if the addresses are
the same).

>             What happens if BIND sends ID 375 to one of these servers,

then your bind stands a chance of becoming confused.  your bind is
also very busy.

-- 
|-----< "CODE WARRIOR" >-----|
[email-masked]             * "ah!  i see you have the internet
[email-masked] (Andrew Brown)                that goes *ping*!"
[email-masked]       * "information is power -- share the wealth."