Figure 1.5: Stub resolvers and caching resolvers in .NET Encoder Code-39 in .NET Figure 1.5: Stub resolvers and caching resolvers

Figure 1.5: Stub resolvers and caching resolvers generate, create 3 of 9 none in .net projects Microsoft .NET Micro Framework 1 . Requirements for transl ations occur in a user program. The user program asks a component within the operating system, which is called a resolver, for a translation. The resolver transfers the query for translation to a name server.

In smaller systems, there is usually only a stub resolver. In such cases, the resolver transfers all requirements by DNS protocol to a name server running on another computer (see Figure 1.5).

A resolver without cache memory is called a stub resolver. It is possible to establish cache memory for a resolver even in Windows 2000, Windows XP, etc. This service in Windows is called DNS Client.

(I think this is a little bit misleading as a stub resolver is not a proper DNS client!) Some computers run only a resolver (either stub or caching); others run both a resolver and a name server. Nowadays, a wide range of combinations are possible (see Figure 1.6) but the principle remains the same: 1.

2. 3. 4.

5. 6. The user inserts a command, then the hostname needs to be translated into an IP address (in Figure 1.

6, number 1). If the resolver has its own cache, it will attempt to find the result within it directly (2). If the answer is not found in the resolver cache (or it is a stub), the resolver transfers the request to a name server (3).

The name server will look for the answer in its cache memory. If the name server does not find the answer in its cache memory, it looks for help from other name servers. The name server can contact more name servers by a process referred to as iteration.

By iteration, the name server can access or contact a name server, which is an authority on the answer. The authoritative name server will then give a last resort answer (negatively if there is no information in DNS corresponding with the inserted name). But if the process described above does not return the result fast enough, the resolver repeats its query.

If there are more name servers listed in the resolver configuration, then it will send the next query to the next name server listed in the directory (i.e., another name server).

The directory of name servers is processed cyclically. The cycle starts for the particular query from the name server, which is listed in the first position..

Domain Name System Figure 1.6: Name server and resolver DNS uses both UDP and T Code 3 of 9 for .NET CP protocols for the transport of its queries/answers. It uses port 53 for both protocols (i.

e., ports 53/UDP and 53/TCP). Common queries such as the translation of a name to an IP address and vice versa are performed by UDP protocol.

The length of data transported by UDP protocol is implicitly limited to 512 B (a truncation flag can be used to signal that the answer did not fit into 512 B and it is therefore necessary for the query answer to be repeated by the TCP protocol). The length of UDP packets is limited to 512 B because a fragmentation could occur for larger IP datagrams. DNS does not consider fragmentation of UDP as sensible.

Queries transporting zone transfer data occur between the primary and secondary name servers and are transported by TCP protocol. Common queries (such as the translation of a name to an IP address and vice versa) are performed with the help of datagrams in UDP protocol. The translations are required by a client (resolver) on the name server.

If the name server does not know what to do, it can ask for translation (help) from other name servers. Name servers solve questions among themselves by iteration, which always starts from the root name server. More details are available in Section 1.

Copyright © . All rights reserved.