RE: Using DNS examples

Justin R. Erenkrantz (justin nospam at erenkrantz.com)
Wed, 10 Mar 1999 12:35:38 -0800

> To update BIND, you just send it a SIGHUP, and it re-loads the
> zone files - at
> least it did last time I checked. You can HUP it with a cronjob,
> or when ever an
> entry is added.

Argh, SIGHUPs to the DNS servers. If you are adding lots of entries, isn't
that a bit unrealistic - it'd always be down. I guess you could do a SIGHUP
every 5-10 minutes or X number of entries, but yuck...

One other issue and this is related to the TTL - assume that I do a query
for a CD and it comes up blank. I add the record in to the DB (however it
is done) and then I requery for that same cd - somewhere along the line a
DNS server will remember that it saw a failure and say, "Nope, it's not
there." Of course, we could adjust TTL, but that loses some of the power of
DNS - its caching. Unless we make the TTL exactly equivalent to the
server's refresh rate??

> A DNS lookup returns a record. There are alot of these, but most
> people are just
> familiar with what you get back from gethostbyname() - A records.
> There are
> lower level calls (which escape me right now) that can get other
> record types -
> SOA, NS, MX, TXT, etc.. The actually format of the TXT record is still
> undecided. XML is one of the suggestions proposed, but I don't
> think a DTD has been proposed yet.

I took a quick look at Windows Sockets code and I can't find anything
related to obtaining other DNS record types, but I'm sure it is there (so
we'll forgo the discussion of whether Win32 can easily obtain the alternate
DNS records). So, how does the client specify exactly which format they
wish the results in? I realize XML helps here, but lets take a scenario not
easily covered by CDDB which is a priority for a bunch of people in a new
format: A classical CD is sometimes in German and English (I have a few CDs
like this) - hence, the German user will post their info in German and the
English-speaking person will post their info in English. Via DNS, how does
the client tell the server, "I want English," or "I want German" results?
As I see it, there are two possible scenarios: 1) have separate name spaces
based on language (double the namespace for some duplicates - remember these
CDs ARE the same!) or 2) push down ALL possible languages to the client and
have the client toss out the duplicate language, but that seems to me to be
a bit of clunkiness (plus harder to code up on the client side and more
required bandwidth). Maybe we can live with that, but this is my issue with
DNS - a lack of client to server communication - the client can not specify
what they want to the server - the server just spits back info to the
client - hence it is the clients responsibility to parse the data. Argh...

Plus, the additional space required to have all of this XML preformatted and
ready to go - yucky on server space. This textual stuff is not minor.
Imagine 50k CDs (really, really, REALLY low) and each one is at least 1K
(with the XML DTD already present - this is VERY conservative - add
lyrics??) equals 50MB - ouch! Try mirroring this puppy on the side.

I agree that DNS is quite easy to code up on the server side (nothing to
it), but on the client side, I believe there might be some possible
inefficiences with DNS.

I just saw a post regarding LDAP - anyone know anything about it?? I
don't...

Justin