Slashdot Mirror


DNS Complexity

ChelleChelle writes "Paul Vixie of Internet Systems Consortium guides us on a journey into the sublime details of the domain name system. Although it contains just a few simple rules, DNS has grown into a system of enormous complexity. This article explores the supposed and true definitions of DNS, and shows some of the tension between the two definitions through the lens of the philosophy of Internet development protocol."

33 of 93 comments (clear)

  1. Taking a risk by Anonymous Coward · · Score: 5, Insightful

    I'm going to risk sounding like an idiot and say that I think it's inhuman that somebody could write an article explaining how DNS works without having at least one diagram in it. I mean, c'mon, I can wade through piles of opaque text with the best of them, but just throw me a bone here, alright?

  2. Wow. A real slashdot story by m0nkyman · · Score: 5, Funny

    Been a while since I've seen one of these.

    --
    ~ a low user id is no indication I have a clue what I'm talking about.
  3. DNS DNS DNS DNS by mcrbids · · Score: 3, Insightful

    While technically well written and clear, this is one of the most uninspiring pieces of work imaginable describing the values of DNS. It's so bad that I'd rather gouge my eyes out with a spoon. Highly technical and detailed while still being abstract, it's 100% accurate while still managing to be utterly devoid of any usefulness whatsoever.

    Oh yeah, this is DNS we're talking about. Implementing it IS uninspiring and so abstract, it does make you rather gouge your eyes out with a rusty spoon.

    But what DNS does is extremely exciting, and forms the foundation of what makes the Internet actually WORK for people. Think about it - when's the last time there was any major DNS failure? Never? Me too. Damned reliable, damned powerful, and damned easy to get you hooked up to the geek blogs, tunes, IRC, and whatever else we all crave.

    Read this if:

    A) You work with DNS regularly and want to know if you know enough for it to make some sense to you. (That's me)

    B) You are thinking about implementing a DNS server.

    Otherwise, move along, find something that might interest you, but take just a moment to reflect how difficult Internet life would be if DNS wasn't so well designed and crafted.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
    1. Re:DNS DNS DNS DNS by isaac · · Score: 4, Insightful

      Read this if:

      A) You work with DNS regularly and want to know if you know enough for it to make some sense to you. (That's me)

      B) You are thinking about implementing a DNS server.

      Otherwise, move along, find something that might interest you, but take just a moment to reflect how difficult Internet life would be if DNS wasn't so well designed and crafted.


      I admire Paul Vixie a real whole lot (from afar; when the day comes that I have something interesting to say to him directly I'll be sure to mention it but until then, I'm sure he gets enough email.) That said, this article isn't really interesting to someone who really does work intensively with DNS implementations, and for whom intermediate caching nameserver and client resolver behaviour on the wild-and-wooly internet is a matter of near-daily concern.

      It's actually rather depressing insofar as it only confirms what those of us in this position have come to discover: that a system loosely defined has become an ecosystem incapable of complete definition. FTA: "Most of it is not written down anywhere, and some of it would still be considered arguable if you got two or three DNS implementers in a room to talk about it." Ain't that the truth.

      No, this article should be read by smart technical users and managers who don't have much experience with DNS and who intuitively believe that the way DNS works in the real world is well-defined and handed down on high on stone tablets from some standards-making body - the sort of well-meaning people who haven't yet realized what "RFC" stands for, if you will. For these people, this article could be a useful eye-opener.

      -Isaac
      --
      I am not a lawyer, and this is not legal advice. For Entertainment Purposes Only.
    2. Re:DNS DNS DNS DNS by isaac · · Score: 2, Insightful
      To reply to myself...

      It's actually rather depressing insofar as it only confirms what those of us in this position have come to discover: that a system loosely defined has become an ecosystem incapable of complete definition.


      "Depressing" is the wrong word here - though it can certainly be frustrating to continually confront problems that wouldn't be problems if DNS weren't such a losely-defined protocol. When the scales truly fall from one's eyes, though, one realizes that it's not coincidental that the widely-adopted protocols of the internet are all simple and, mostly, loosely defined and easy to implement. Natural selection, of a sort, has led to the success of DNS (and TCP/IP, and HTTP, et cetera). Maybe a major change in the ecosystem will cause it to disappear (or be challenged in its niche) because it's simply not flexible enough to respond.

      More probably, DNS is sufficiently simple and ubiquitous that it will continue to evolve as necessary in mostly minor ways while remaining as essentially recognizable to we dinosaurs of the internet era as the cockroach would be to the dinosaurs of the dinosaur era.

      -Isaac
      --
      I am not a lawyer, and this is not legal advice. For Entertainment Purposes Only.
    3. Re:DNS DNS DNS DNS by pairo · · Score: 2, Interesting

      For me, it happens every other month or so, with the .ro registrar screwing things up on a regular basis. Last time, everything newer than 2002ish went AWOL for a almost a full day.

  4. That's the IETF Way by Kadin2048 · · Score: 4, Informative

    Well, it was written by Paul Vixie, better known for writing a whole bunch of RFCs ... they're not known for being exactly graphics-heavy, either.

    (Although some of them do have some neat ASCII art.)

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  5. Public DNS is corrupt, but Private DNS is sublime. by Zombie+Ryushu · · Score: 4, Interesting

    The Public DNS System has become corrupted. It used to be edu, com, org, net, and country codes.

    Then the bribes started, now we have .info, .tv, and god knows what else.

    Internally, I use DNS and I would never replace it. Just secure it. All my Internal Updates for my home DNS System work like this. Using the LDAPDNS system, my reverse lookup zones become distinguished containers, like

    relativeDomainName=1+zoneName=0.168.192.in-addr.ar pa,dc=0,dc=168,dc=192,dc=in-addr,dc=arpa

    (I'm the guy who wrote this.)

    http://slashdot.org/comments.pl?sid=235321&cid=191 90073

    That. My zone updates are then wrapped up in SSL and replicated to my other Domain Controller. I would suggest that DNS return to its roots, restore the old Domain hierarchy and discontinue all these other TLDs, but they won't. There is too much money to be illegitimately made off the corruption of DNS.

  6. Re:Public DNS is corrupt, but Private DNS is subli by Rob_Warwick · · Score: 2, Informative

    tv is the country code for Tuvalu.

  7. Dynamic DNS by iminplaya · · Score: 3, Interesting

    If more ISPs provided this, would it make traffic unbearable? How many dynamic domain name servers could we tolerate? Could we finally make the registrar problem go away?

    --
    What?
    1. Re:Dynamic DNS by NickFitz · · Score: 3, Informative

      Everyone's 'always on' now so dynamic IP is pointless.

      I don't know who this "everyone" is of whom you speak, but I'm with one of the biggest ISPs in the UK and they use DHCP; I have no guarantee of what my IP address will be from one day to the next. I could probably pay extra for a static IP, but it's not worth the money.

      If you mean "everybody leaves their home network running at all times so they never lose the IP address they got via DHCP when they first turned their cable modem on", then you're ignoring the effect of network outages, power failure, and the fact that if I'm going away I turn all electrical kit off, as I don't want an electrical fire destroying my home and endangering the lives and property of the other people who live in this building.

      There aren't enough IPv4 addresses for every Internet user; I reckon that, in term of individual users, it's a small minority worldwide who have a static IP address.

      --
      Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
  8. moving hosts blows by weighn · · Score: 4, Interesting
    my website is in an internet backwater and you wouldn't believe the crap we went through when our hosting provider changed the IP address of the server. We were given a weeks' notice of the new IP and the knobs at ozemail or uunet or iinet or whatever the fsck they are called for the moment still had us hanging for TWO DAYS after the address was changed (it wasn't due to dns caching - that added another 24-48 hours according to some lookups).

    I eventually got onto their 'support' crew in Singapore who assured that their engineers were looking into it. I don't know how much looking you need to do to change a single entry on a DNS table from "nnn.nnn.nnn.42" to "nnn.nnn.nnn.38".

    Oh and here's a single page version of TFA.

    --
    Mongrel News all the news that fits and froths
    1. Re:moving hosts blows by totally+bogus+dude · · Score: 5, Interesting

      Not sure exactly what your rant was about, but it just sounds like you had crappy support from ISP staff. Not really news, that. There's nothing about the DNS down under that makes it inherently slow. We moved our site recently to a different IP (different ISP, in fact), but we host our own DNS so we had control of the process. I reduced the TTL on the record a few days beforehand, and then really reduced it shortly before we launched the new site, and voila -- the updated record was visible to everyone pretty much instantly. (Except for people who configure their DNS proxies to ignore/override TTL values, but that's their problem.)

      Obviously, relying on third parties to do the right thing by you is a crapshoot at the best of times. Not everyone has the luxury of hosting things themselves, though.

  9. Re:Public DNS is corrupt, but Private DNS is subli by Zombie+Ryushu · · Score: 2, Insightful

    Oh... well my point is still valid. DNS Should not be a tool for politicians.

  10. Re:Public DNS is corrupt, but Private DNS is subli by grasshoppa · · Score: 2, Interesting

    I have a better idea: Let's open the process for making up a new TLD to everyone. A minor cost associated with the administrative overhead of setting up a new TLD, and that's it. True, we cheapen existing TLDs considerably, but then they're artificially overpriced anyway.

    It's not like it's a technical issue. The DNS system doesn't care how many TLDs there are, it's irrelevant to the immediate search.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  11. Here's the Cliffs' Notes version by Kadin2048 · · Score: 5, Interesting

    Basically, Vixie's point in the whole article really isn't to rehash how DNS works (although he does basically do that), but to make a rather interesting point about complex systems.

    His point is that large systems can become unimaginably complex, even when they begin with a very simple set of rules. Particularly when those rules are vague.

    Although he doesn't say it explicitly, I think there are probably some similarities between neutral networks and DNS -- both begin with very simple rules, and then the complexity comes out of the sheer number of connections when you scale it up. Likewise, with DNS, you can have a very simple implementation (say, for a home office) that's quite easy to understand and use. Everything makes sense. It's basically understandable. But then, take that same protocol, even some of the same software, and scale it up to a few billion nodes or whatever DNS has these days, and suddenly the whole thing is so complex, nobody can even begin to really understand it in its entirety. You can't even predict, exactly, how it's going to react to any change -- it's very much like a complex organic system at that point. You can perform experiments on it, and make hypotheses, but even though it's an entirely deterministic system (or ought to be), it acts mysteriously.

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
    1. Re:Here's the Cliffs' Notes version by apathy+maybe · · Score: 2, Interesting

      So, sort of like The Game of Life then? I've made the point before (not here though), that The Game of Life is a good example of simple rules creating a (potentially, very) complex situation. I then used it to make the analogy with the universe we live in.

      Take gliders for example, you could observe them, and work out how they work, but each type of glider works differently. As such, you would have a different set of rules for each. Unless you noticed that the same (fourish) rules worked all the time. And if you make the system much, much bigger (really have an "infinite" game board), then your constructs get much bigger, and it becomes much harder to see the simple rules under lying the whole thing.

      --
      I wank in the shower.
  12. Re:Public DNS is corrupt, but Private DNS is subli by bvankuik · · Score: 2, Interesting

    Who cares? Is something technically not right about the new TLDs? Or are you afraid someone else is making money off of it?

  13. Re:Public DNS is corrupt, but Private DNS is subli by bursch-X · · Score: 3, Informative

    Tuvalu's main motivation for selling .tv domains was to get the money together to become a member of the UNO so they can officially get a voice to be heard concerning their country (their islands) basically sinking into the ocean due to global warming and rising sea levels.

    So sometimes politics and DNS might be for a good cause.

    --
    There are two rules for success:
    1. Never tell everything you know.
  14. Article wrong about Unicode? by amorsen · · Score: 2, Insightful

    From the article: "To express multilingual symbol sets usually means Unicode, whose binary representation is not directly compatible with the upper/lowercase "folding" required for DNS labels."

    UTF-8 should be perfectly compatible with the case folding. The character which get folded are in the US-ASCII subset of UTF-8 and therefore have their high bit unset. All multibyte-characters in UTF-8 have the high bit set in each byte, so they aren't subject to that case folding. The DNS standard is, as far as I know, completely UTF-8-compatible except in the places where it explicitly says that "only these particular characters are allowed here".

    --
    Finally! A year of moderation! Ready for 2019?
  15. Weakness of DNS by Anonymous Coward · · Score: 2, Interesting

    I'd rather say that DNS is damned weak. It's probably the weakest point in the Internet infrastructure as a whole, and that's a lot to say. DNS was chosen by SANS Institute as one of the top 20 Internet vulnerabilities in 2006:

    http://www.sans.org/top20/

    Last time there was a major DNS failure? The DNS system relies on 13 servers. In 2002 nine of them went down due to a DDoS attack, the whole Internet was very slow or unreachable for an hour. This year in February almost three of the servers crashed due to another DDoS, which moved the Department of Defense to say that next time they will counterattack and even bomb the source of the DDoS, so guess if it was important.

    By the way, remember that Paul Vixie's BIND is just one implementation and it's considered to be flawed by some wise people:

    http://cr.yp.to/djbdns/blurb/unbind.html

  16. Re:Public DNS is corrupt, but Private DNS is subli by Professor_UNIX · · Score: 3, Interesting

    Eliminate the domain squatters and you'll eliminate the push for alternative TLDs. I'm sure more than half the domain names in existence are typo-squatting domain hoarders. There's no legitimate reason we need to allow them to keep those domains. Get a posse together of people with a clue and start going through domains. When you come across one that is obviously a domain squatter, delete it and then put more emphasis on analyzing that guy's other domains and delete those if necessary too until you've cleaned up the system. It's not property, you're just leasing a label from the collective community and we can choose to take it back if you're being an asshat.

  17. Re:Public DNS is corrupt, but Private DNS is subli by MT628496 · · Score: 3, Insightful

    The problem is that depending on who does these reviews, there will be entirely different results. I don't think that we can legally take the names back, anyway. It sure would be nice though if the /. community got to decide on it. Actually, that would be terrible. We'd spend the whole time fighting amongst ourselves.

  18. Domain Names sdrawkcaB? by mutube · · Score: 3, Interesting

    When written in ltr language most hierarchies follow that direction. Numbers have the most significant bit(s) at the left, taxonomies are written species:subspecies:variety, pages are identified as home > category > page.

    Domain Names are the exception, with the "top level" domain on the right, while the left (most significant bit) can be stuffed with random chaff (a.k.a. subdomains).

    I can't help but imagine that this has some impact on how easily people fall for spoofed websites (yourbank.somesite.com vs. com.somesite.yourbank). Being naturally lazy we only read as far down a list as as needed to confirm we have what we're looking for.

    Does anyone knows of a historical basis for this decision & do you think it makes any difference?

    1. Re:Domain Names sdrawkcaB? by NickFitz · · Score: 2, Informative

      Tim Berners Lee now thinks he got it wrong; he now believes that URIs should have had the form http:com/example/blah/, rather than http://blah.example.com/.

      --
      Using HTML in email is like putting sound effects on your phone calls. Just say <strong>no</strong>.
  19. Evolution by RancidMilk · · Score: 2, Funny

    I hear that the root DNS servers are monkeys. After all, at the root of all tree based architectures is monkeys. (I also hear that if you go to the edge of the internet, you'll fall off the edge of it!)

    1. Re:Evolution by bromoseltzer · · Score: 2, Funny

      Monkeys are the root of all evals?

      --
      Fiat Lux.
  20. BECAUSE of simple rules by CarpetShark · · Score: 4, Insightful

    His point is that large systems can become unimaginably complex, even when they begin with a very simple set of rules. Particularly when those rules are vague.


    It might be more accurate to say that systems can become unimaginably complex BECAUSE they have simple rules. The more rules, the more limitations.
  21. DNS != BIND by RedHat+Rocky · · Score: 2, Informative

    *sigh*

    Once again, BIND is associated with DNS and I'm not even past the third paragraph.

    Zone transfers are not DNS-related, they are BIND-related! For that matter, the term ZONE is mainly a BIND thing!

    Gah!

    --
    Anything is possible given time and money.
  22. Pike's "The Hideous Name" paper from Plan 9 by billstewart · · Score: 2, Insightful
    Rob Pike and Peter Weinberger wrote a paper in 1985 called "The Hideous Name", arguing against DNS's naming order in favor of Plan 9's Unix-like order. Plan 9 very aggressively uses the file system naming structure for everything, and they argue that consistent naming systems are much better than the alternatives, including the relatively new Arpanet naming system that some people were starting to use for email. I haven't read it in a decade or more, but one issue besides the one you mention is that if you do high-level-first names, it gives you a lot more flexibility for localized namespace management, and gets around some of the semantic and political issues with rootedness.

    The original paper is available in Postscript at bell-labs.com or Google has an HTML translation.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  23. Why is DNS so complicated anyway ? by billcopc · · Score: 2, Interesting

    I often find myself wondering why most internet standards are so complex in the first place. Let's face it: DNS looks up a name in a database and spits out a number. It's like a phone book for the internet (white pages, that is). So then, why the hell is it such a pain to configure with its weird-ass zone files that half the world seems to struggle with, and obscure vulnerabilities like cache poisoning. Why can't it be as simple as "domain = IP" or "I don't know, but server X might" because that's basically what's going on, only it's buried under a pile of nerd filth that all but its originators truly grok.

    Here's one big pain in the butt: listing name servers for a domain. Why the hell don't we use IP addresses for those ? Instead you have a chicken and egg situation where you would need to contact ns1.something.tld to ask about its own address, so instead we cheat with "hints" in the parent server's records and end up listing the IP anyway, making the nameserver's name redundant. Things like that make me wonder what the designers were smoking that day. In the end, it's all just a big relational database, only the tables are each stored on different hosts but the links work the same way, so why the big headache ?

    --
    -Billco, Fnarg.com
  24. Re:Public DNS is corrupt, but Private DNS is subli by mcrbids · · Score: 3, Funny


    Internally, I use DNS and I would never replace it. Just secure it. All my Internal Updates for my home DNS System work like this. Using the LDAPDNS system, my reverse lookup zones become distinguished containers, like

    relativeDomainName=1+zoneName=0.168.192.in-addr.ar pa,dc=0,dc=168,dc=192,dc=in-addr,dc=arpa


    You set this up for your freakin' home network!?!?!? Brother, there's this wild and wonderful thing out there called the world and you really, REALLY need to get a taste of it!

    Some of the highlights that you'd do well to consider:

    First, there's the Woman. Life with a good woman is a life with greater extremes. Good moments are way better, bad moments are way worse.

    Another good thing to try while roaming the wild, real world: Beer! This can be a good way to land a woman, if only for a night.

    Put the two together under the right circumstances, and you just might be able to experience perhaps the greatest pleasure of them all: SEX! Many would argue that this is the point of having a woman. I'd argue instead that basic physiology has the point belonging to the man, but I digress...

    Seriously, implementing an LDAP backend to DNS for a home network is about like using a jet engine for a ceiling fan. I'd love to know all the details of your implementation, since it would likely make a good candidate for submission to another good website.

    Lastly, to do "secure" DNS updates is pretty simple. I keep the DNS zone files on my laptop. All my DNS nameservers are configured identically, as master servers. I use a script to SCP the files to the nameservers when I do a DNS update. Stupid simple, excellent security a la SSH.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  25. Re:Public DNS is corrupt, but Private DNS is subli by grasshoppa · · Score: 2, Insightful

    As has already been pointed out, you can have a single TLD spread across several servers. You can also have multiple TLDs on a single server. More likely, you end up with a combination of these things: Multiple TLDs on a geographically disperse cluster of systems.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!