ietf
[Top] [All Lists]

Re: Revisiting DNS Notation

2002-08-08 12:24:06
On Thu, 08 Aug 2002 10:59:16 PDT, Mohsen BANAN said:

But we can't do completion on http://www.vt.edu inside of
emacs. Where you could on edu.vt.www. And the completion
ability becomes a lot more interesting as we have more diversity
on the top level. Or if the name spcae roof is raised.

You can't do completion in COM.anything anyhow, with some 60M entries in it.  A
optimal two-level split would require sqrt(64M) or 8K top level domains with 8K
entries each, and going to 3 levels would cut it to 400 at each level.

Of course, political and operational concerns would probably dictate using
something less optimal than the square or cube root of the total number,
and to not be TOO fussy about keeping it as a valid tree.  (Remember, instead
of making one .COM server grovel through 8,000 entries for each completion,
and then one of 8K servers gets to grovel through its list to find what
you wanted - 2K at the root level and 32K at the next level may make more 
sense).

You're also asking 60 million domain holders and half a billion people to
switch.  And did you know that palindromically legal addresses broke ALL THE
TIME at the Janet gateway?  Happened every time a department of ours used a
2-char domain name that happened to be an ISO country code.  I finally got so
fed up with 'valdis(_at_)cc(_dot_)vt(_dot_)edu' bouncing that I stopped using 
it - I already
*knew* there was no 'vt' subdomain in the Cocos (Keeling) islands. Our CS
department escaped unscathed, but EE users trying to talk to Janet kept getting
bounce messages from Estonia....

And notice that there is *NOTHING* stopping you from entering DNS names in any
order you want to at the user-interface level, using some GUI widget that
prompts for .com/.edu/.org, then once it knows it's a .edu and you've typed a
'v', get all the possible completions, and then repeat to fill out www.

Then your little GUI presents an already validated 'www.vt.edu' (complete with
an already-fetched A record) to the program.

The vast majority of the time, there's no *NEED* to do completion - this note
is a "reply", so it knows all the hostnames.   Anytime you click on a URL, you
have a canonical hostname already.  The chances are that most of the sites you
visit are already in either your bookmarks or recent history. The people you
send mail to often are already in your address book.

And I didn't even need completion in the address book - because that was
populated from info I already had - the From: header from their mail...

You don't need completion for the other hosts at your site -- you probably
already have a "domain" line in resolv.conf or its moral equivalent.

Hell, even network engineers don't enter hostnames that often for traceroutes -
you slice-and-mice those from the trouble ticket into your terminal window ;

Your best bet here is build a little GUI widget/tool that does a "proof of 
concept"
see how it performs, how often you *really* need it, and how loudly the owners
of the name servers yell when you use it (hint - there's currently no good
way to ask the server for the .COM domain "Give me all the entries starting
with F" "Give me all the entries startin with FO.. with FOO, with FOOB, with 
FOOOGR 
and so on yuntil you hopefully find the 'foobar.com' soa, and get to repeat the
process until the server authoritative for that zone.

Worst part is that you can't even effectively cache the info - if the user
decided on 'www.ibm.com', you probably don't have enough information to
know what to do if the NEXT time he goes 'www-'.  Even if you cached the
fact that IBM has a www-1 through www-8 (except for a -2), *and* the fact
that they do some interesting CNAME stunts (especially on -4 and -7), you 
*STILL*
get to re-ask, just in case the user wants a just-deployed 'www-test.ibm.com'.

And no, you can't negative-cache the fact that www-test didn't exist, because
technically, you never actually specifically asked if it did exist....

-- 
                                Valdis Kletnieks
                                Computer Systems Senior Engineer
                                Virginia Tech

Attachment: pgpEhbIljZSXv.pgp
Description: PGP signature