You see, while you, as a human being, prefer to remember the names of computers, computers like to address each other by number. On an internet, that number is 32 bits long, or between zero and four billion or so. That’s easy for a computer to remember because computers have lots of memory ideal for storing numbers, but it isn’t nearly as easy for us humans. Pick 10 phone numbers out of the phone book at random, and then try to recall them. Not easy? Now flip to the front of the book and attach random area codes to the phone numbers. That’s about how difficult it would be to remember 10 arbitrary internet addresses.
This is part of the reason we need the Domain Name System. DNS handles mapping between hostnames, which we humans find convenient, and internet addresses, which computers deal with. In fact, DNS is the standard mechanism on the Internet for advertising and accessing all kinds of information about hosts, not just addresses. And DNS is used by virtually all internetworking software, including electronic mail, remote terminal programs such as telnet, file transfer programs such as ftp, and web browsers such as Netscape Navigator and Microsoft Internet Explorer.
Another important feature of DNS is that it makes host information available all over the Internet. Keeping information about hosts in a formatted file on a single computer helps only users on that computer. DNS provides a means of retrieving information remotely from anywhere on the network.
More than that, DNS lets you distribute the management of host information among many sites and organizations. You don’t need to submit your data to some central site or periodically retrieve copies of the “master” database. You simply make sure your section, called a zone, is up to date on your name servers. Your name servers make your zone’s data available to all the other name servers on the network.
Because the database is distributed, the system also needs to be able to locate the data you’re looking for by searching a number of possible locations. The Domain Name System gives name servers the intelligence to navigate through the database and find data in any zone.
Of course, DNS does have a few problems. For example, the system allows more than one name server to store data about a zone for redundancy’s sake, but inconsistencies can crop up between copies of the zone data.
The worst problem with DNS is that despite its widespread use on the Internet, there’s really very little documentation about managing and maintaining it. Most administrators on the Internet make do with the documentation their vendors see fit to provide and with whatever they can glean from following the Internet mailing lists and Usenet newsgroups on the subject.
This lack of documentation means that the understanding of an enormously important internet service—one of the linchpins of today’s Internet—is either handed down from administrator to administrator like a closely guarded family recipe or relearned repeatedly by isolated programmers and engineers. New zone administrators suffer through the same mistakes made by countless others.
Our aim with this book is to help remedy this situation. We realize that not all of you have the time or the desire to become DNS experts. Most of you, after all, have plenty to do besides managing your zones and name servers: system administration, network engineering, or software development. It takes an awfully big institution to devote a whole person to DNS. We’ll try to give you enough information to allow you to do what you need to do, whether that’s running a small zone or managing a multinational monstrosity, tending a single name server or shepherding a hundred of them. Read as much as you need to know now, and come back later if you need to know more.
DNS is a big topic—big enough to require two authors, anyway—but we’ve tried to present it as sensibly and understandably as possible. The first two chapters give you a good theoretical overview and enough practical information to get by, and later chapters fill in the nitty-gritty details. We provide a roadmap up front to suggest a path through the book appropriate for your job or interest.
When we talk about actual DNS software, we’ll concentrate on the Microsoft DNS Server, which is a popular implementation of the DNS specs included in Windows 2000 Server (and Windows NT Server 4.0 before it). We’ve tried to distill our experience in managing and maintaining zones into this book (One of our zones, incidentally, was once one of the largest on the Internet, but that was a long time ago.)
We hope that this book will help you get acquainted with DNS on Windows 2000 if you’re just starting out, refine your understanding if you’re already familiar with it, and provide valuable insight and experience even if you know it like the back of your hand.
This book deals with name servers that run on Windows 2000 Server, particularly the Microsoft DNS Server. We will also occasionally mention other name servers that run on Windows 2000, especially ports of BIND, a popular implementation of the DNS specifications. However, if you need a book on BIND, we suggest this book’s sister edition, DNS and BIND by Paul Albitz and Cricket Liu (O’Reilly). This book is essentially a Windows 2000 edition of DNS and BIND.
We use nslookup, a name server utility program, a great deal in our examples. The version of nslookup we use is the one shipped with Windows 2000 Server. Other versions of nslookup provide similar functionality to that in the Windows nslookup. We have tried to use commands common to most nslookups in our examples; when this was not possible, we tried to note it.
 And, with IP Version 6, it’s soon to be a whopping 128 bits long, or between zero and a 39-digit decimal number.