Efficiency, Reliability and Other Name Resolution Issues and Features
(Page 1 of 2)
In the preceding topic I described the primary function of name resolution: allowing humans to identify devices using names, then converting these names into numbers so that computers can use the numbers instead. This basic task is conceptually quite simple, but it can become quite complex in implementation. The reason for this is the key characteristic that makes name resolution so different from the other tasks performed by a name system: the frequency with which it is done.
Name registration is seldom done, but name resolution is done very often. If you consider a large internetwork with thousands of users running various applications, millions of names must be resolved every day. Now, consider something like the Internet, which must process billions of client/server requests and replies daily! Ensuring that such systems work requires that we do more than just implement a resolution process; we must add facilities to ensure that resolution is done as effectively as possible.
The first major concern with name resolution is efficiency. Name resolution uses up system resources, especially with resolution techniques that require requests and replies to be sent. This means we want to minimize the number of times resolution is performed, if at all possible. Now, consider that many people will frequently access the same machines over and over again. For example, if you go to a Web site called www.thisisasite.com for the first time, your system will need to resolve that name. After the home page for that site loads, if you click a link to another page on that site, the page will also be found at that same name: www.thisisasite.com. It would be wasteful to then have to resolve the name a second time.
To avoid this, name systems almost always include some sort of caching capability, which allows devices to remember recent name resolutions and retain the mapping from name to address for a period of time. Whenever a name needs to be resolved, the cache is first checked before going through the formal process of resolution. The use of caching eliminates the vast majority of actual name resolution requests that would otherwise be required.
The drawback of caching is that it requires some system resources of its own, and that it adds complexity to the system. One issue is deciding how long to retain data in the cache; if we keep it too short a time, we generate extra unnecessary resolution requests; keep it too long, and we risk having the mapping become stale if the name assignment for the machine changes. These are issues that a sophisticated name system must deal with. A typical solution is to allow each name registration to specify how long information about that name-to-address link may be cached.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
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.