[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: axfr-clarify on the move again



[ post by non-subscriber.  with the massive amount of spam, it is easy to
  miss and therefore delete mis-posts.  your subscription address is
  54830374684695-namedroppers@sublist.cr.yp.to, please post from it or
  fix subscription your subscription address! ]

Andreas Gustafsson writes:
> I agree that this should be the goal, but the DNS protocol does not
> itself enforce consistency of glue data between parent and child

RFC 1034 and RFC 1035 make crystal clear that record sets in the Domain
Name System at any moment are indexed by class+name+type. Nothing else.

Does this semantic rule mean that copies of data around the Internet are
magically equalized if they have the same class+name+type?

Of course not. Most of the copying protocols have reliability problems,
producing accidental (though usually harmless) inconsistencies. Often
people deliberately introduce inconsistencies---for example, giving
different answers to different clients.

What, then, does the semantic rule mean?

The answer is simple: Implementations are free to store record sets by
class+name+type. If they're faced with two record sets of the same
class+name+type, they can throw one away. Three examples:

   1. Consider, once again, client differentiation, or ``views'' in BIND
      9: some servers store data by class+name+type+clientIP. Everybody
      else is free to assume that this doesn't happen. For example, a
      cache that uses two IP addresses for its outgoing requests, and
      receives different data under the same class+name+type on the two
      IP addresses, is under absolutely no obligation to keep track of
      both record sets.

   2. Consider, as a simpler example, the fact that different servers
      for a zone can have different data. Everybody else is free to
      assume that this doesn't happen. If I receive different record
      sets from the two servers, under the same class+name+type, I can
      use either one. I'm under no obligation to keep track of both
      record sets.

   3. Finally, getting back to the situation under discussion: It's
      certainly possible for a parent and a child to have different data
      for the same class+name+type. But everybody else is free to assume
      that this doesn't happen. If I receive different record sets from
      the two servers, under the same class+name+type, I can use either
      one. I'm under no obligation to keep track of both record sets.

In short, the fact that _you_ index your database by something more than
class+name+type does not oblige _me_ to do the same thing.

Andersson argues that the possibility of differing data means that
everyone else has to keep track of the differences. That argument is
clearly fallacious. I'm sure Andersson doesn't believe it himself: the
absurdity of the argument is obvious in situation #2, for example.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago



--
to unsubscribe send a message to namedroppers-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>