Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Searchable, convenient, complete TCP/IP information.
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  Name Systems and TCP/IP Name Registration and Name Resolution
           9  TCP/IP Name Systems: Host Tables and Domain Name System (DNS)
                9  TCP/IP Domain Name System (DNS)
                     9  DNS Overview, Functions and Characteristics

Previous Topic/Section
DNS Overview, History and Standards
Previous Page
Pages in Current Topic/Section
Next Page
DNS Components and General Functions
Next Topic/Section

DNS Design Goals, Objectives and Assumptions
(Page 2 of 2)

DNS Design Assumptions

The goals above tell us what DNS's creators wanted to make sure the new system addressed. In addition, the engineers that worked on the protocol's implementation details had to make decisions based on certain assumptions of how it would be used. Some of the more significant of these assumptions:

  • Rapidly Growing Database Size: By the mid-1980s it was obvious that the DNS database of names would start out rather small but would grow quickly. The system needed to be capable of handling this rapid growth.

  • Variable Data Modification Rate: Most of the data in the name database would change only infrequently, but some would change more often than that. This meant flexibility would be required in how data changes are handled, and how information about those changes was communicated.

  • Delegatable Organizational Responsibility: Responsibility for portions of the name database would be delegated primarily on the basis of organizational boundaries. Many organizations would also run their own hardware and software to implement portions of the overall system.

  • Relative Importance of Name Information Access: It was assumed that the most important thing about DNS was providing reliable name resolution, so the system was created so that it was always possible for a user to access a name and determine its address. A key decision in creating the system was deciding that even if the information is slightly out-of-date it is better than no information at all. If a name server were unable to provide the latest data to fill a request, it would return the best information it had available.

  • Handling of Requests For Missing Information: Since the name data was to be distributed, a particular name server might not have the information requested by a user. In this case, the name server should not just say “I don't know”. It should provide a referral to a more likely source of the information, or take care of finding the data by issuing its own requests. This led to the creation of the several DNS name resolution techniques: local, iterative and recursive.

  • Use Of Caching For Performance: From the start, it was assumed that DNS would make extensive use of caching to avoid unnecessary queries to servers containing parts of the distributed name database.

Arguably, a lot more assumptions were made in creating this system, like every system. For example, DNS had to make assumptions about how exactly data would be stored, the transport mechanism for sending messages, the role of administrators and so on. We'll learn more about these as we go through our look at the system.

Previous Topic/Section
DNS Overview, History and Standards
Previous Page
Pages in Current Topic/Section
Next Page
DNS Components and General Functions
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.