[dns-operations] Why non-repeating transaction IDs?

Paul Vixie paul at vix.com
Sun Aug 5 16:12:21 UTC 2007

> > "in use" means there is an outward bound query still in flight,
> > which hasn't timed out or been answered yet.  although the full
> > uniqueness tuple includes the remote server and i could reuse a
> > <SADDR,SPORT,QID> when talking to a different remote server, i
> > don't.  but in practice i've hardly ever measured a QID collision
> > even under high stress benchmarks.
> What badness happens when there is a collision?
> Why do you need to avoid it?

i'm using a per-socket array to demux responses.

> >> It tends to make a difference if you need 3 instead of 30,000.
> "3 attempts instead of 30,000 for poisoning the cache", sorry.  But
> perhaps I should run a few experiments first, to see if this really
> makes a difference.

i agree that any design requiring only 3 is flawed.

More information about the dns-operations mailing list