1. Introduce
This article mainly introduces the domain name (DNS) Some of the mechanisms and implementation methods, the following we have a specific look at its situation.
1.1. History of domain names
The fundamental motivation for creating a domain name is management convenience, The original host name and IP address mapping is saved in the NIC's Hosts.txt file, because the number of hosts is small, this file also does not change frequently, so the other hosts a few days from the NIC's host download this file for host name and IP address mapping can be. But with the development of the network, this method becomes unusable, because the host requires downloading, the host of the NIC is under great pressure, and the quality of the service is not guaranteed. Many local area network users want to manage their own hostname instead of waiting for NICs to add their hostname to the Hosts.txt file for many days, and some organizations want to have their own namespace configuration. is a simple way to manage. Finally decided to use the hierarchical name space to organize the program to. To separate the different levels of the standard. The entire namespace is managed in a distributed database. Please read before reading do not put the usual domain name and the domain Name System here mixed together. The best way is to forget the original idea and look at the new things now.
1.2. DNS Design Objectives
The setting goal of DNS affects its structure, with the primary goal of having a consistent namespace for resources, and to avoid problems with different encodings, including network tags, addresses, routes, or other information as part of the name. For the analysis of the experimental data, it appears that the distributed storage conditions are necessary. There is a trade-off between the cost of getting the data and the accuracy of the data. You need to have a tag for the type of resource that the name represents. To support multiple protocol access. The name server operation is independent of the communication system. The system should be able to use different machines, and the methods may be different, but they should all be used.
1.3. Some assumptions based on the use
The system is designed based on the following assumptions: The initial size of the database is proportional to the host using the system, but the final database size is proportional to the number of users, and this process occurs when some resources (such as mailboxes and other information to be added to the domain Name System) enter the system; Most of the data changes slowly, But the system can have some quick adaptations to change. The appropriate organization is responsible for the maintenance of the distributed database. Domain Name System users can choose their favorite host. Because the data is very sensitive and important, so be sure to ensure correctness, if the host or network failure to create a service for users, users should be based on the original data, do not think of themselves as a random data to use. To avoid looping queries when querying, one way is to not find this information back to the user, let the user find a new host to find the appropriate address, one is the host to find other host to find the appropriate address, found by the corresponding host return address to the user, the two methods are beneficial. The domain Name System assumes that all data is saved in a primary file, and that the content distribution of the primary file is stored on each host in the system. The user resolover the query through the standard query procedure. The standard form of the main file allows it to be transmitted between different hosts (using FTP, email, etc.). Local can be managed using a text editor, then transfer the file to the name server and notify the administrator of the name server to load the file. For resolver, a well configured name server is the primary source of address information. The domain Name System defines the procedures for accessing data and accessing other name servers, and it also defines configuration information such as the size of the buffer and the timing of the update buffer.