Nameserver IDs

Gisle Vanem giva at
Sun Jan 4 14:20:41 UTC 2004

I have some question regarding a ill-behaving DNS-server. It is
part of a cheap little router. I don't even know the manufacturer of it.
It seems to only handle 1 request at a time because the ID of the 
last reply isn't the ID of the associated query sent.

My DNS-client compares the ID in the responses with what it sent. 
When no match, it returns empty.

What happens between DNS Client <-> Server:
C -> S, Query, ident _26241_
C -> S  host1, Query, ident 31436  (retry)
  client gives up and does a new lookup

C -> S, Query, ident 58361
S -> C, Reply, ident _26241_

Although the 2nd lookup seems okay, it's ID is not what I'd expect.
(the ID is from the 1st lookup). And since it's not received on the same
socket, it's thrown away and the ID-cache is cleared.

I didn't find a definitive answer in the RFCs to support such behaviour.
Reading RFC-1035, sec 7.3 I give the idea that comparing ID is 
recommended, but how does other stack and DNS-clients handle this? 
I assume they use some heuristics to sort out the correct response.

More information about the bind-users mailing list