Domain Name System (DNS) Berkley Internet Name Domain (BIND)
A Default Google India Search Page With Its IP Address On The Bottom IP Address
Internet Protocol Address An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication. OR In other words we can say that it is a number by which a device is referred in a network. IP address is always characterized by its class. It has following classes. Class Range of first octet Network ID format Host ID format No.of networks No. of addr./network A 0 – 127 a b.c.d 128 16777216 B 128 – 191 a.bc.d 16384 65536 C 192 – 223 a.b.c d 2097152 256 Example of certain class type IP’s. Class A 10.0.0.1/255.0.0.0 Class B 172.24.0.1/255.255.0.0 Class C 192.168.0.1/255.255.255.0
Server In computing, the term server is used to refer to one of the following: a computer program running to serve the needs or requests of other programs (referred to in this context as "clients") which may or may not be running on the same computer. a physical computer dedicated to running one or more such services, to serve the needs of programs running on other computers on the same network. a software/hardware system (i.e. a software service running on a dedicated computer) such as a database server, file server, mail server, or print server. Domain Name System (DNS) The DNS is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most importantly, it translates domain names meaningful to humans into the numerical identifiers associated with networking equipment for the purpose of locating and addressing these devices worldwide. An often-used analogy to explain the Domain Name System is that it serves as the phone book for the Internet by translating human-friendly computer hostnames into IP addresses. For example, the domain name www.example.com translates to the addresses 220.127.116.11 (IPv4) and 2620:0:2d0:200::10 (IPv6).
History The practice of using a name as a simpler, more memorable abstraction of a host's numerical address on a network dates back to the ARPANET era. Before the DNS was invented in 1983, each computer on the network retrieved a file called HOSTS.TXT from a computer at SRI (now SRI International). The HOSTS.TXT file mapped names to numerical addresses. At the request of Jon Postel, Paul Mockapetrisinvented the Domain Name System in 1983 and wrote the first implementation. The original specifications were published by the Internet Engineering Task Force which were superseded in November 1987. In 1984, four Berkeley students—Douglas Terry, Mark Painter, David Riggle, and Songnian Zhou—wrote the first Unix implementation, called The Berkeley Internet Name Domain (BIND) Server. In 1985, Kevin Dunlap of DEC significantly re-wrote the DNS implementation. Mike Karels, Phil Almquist, and Paul Vixie have maintained BIND since then. BIND was ported to the Windows NT platform in the early 1990s.
Overview The Internet maintains two principal namespaces, the domain name hierarchy and the Internet Protocol (IP) address spaces. The Domain Name System maintains the domain name hierarchy and provides translation services between it and the address spaces. Internet name servers and a communication protocol implement the Domain Name System. A DNS name server is a server that stores the DNS records for a domain name, such as address (A) records, name server (NS) records, and mail exchanger (MX) records; a DNS name server responds with answers to queries against its database. Domain Name Space DNS is the name service provided by the server for TCP/IP networks. DNS is broken up into domains, a logical organization of computers that exist in a larger network. The domains exist at different levels and connect in a hierarchy that resembles the root structure of a tree. Each domain extends from the node above it, beginning at the top with the root-level domain. Under the root-level domain are the top-level domains, under those are the second-level domains, and on down into sub domains. DNS namespace identifies the structure of the domains that combine to form a complete domain name. For example, in the domain name sub.secondary.com, "com" is the top-level domain, "secondary" identifies the secondary domain name, and "sub" identifies a subdomain within the larger network. This entire DNS domain structure is called the DNS namespace.
Domain Name Syntax A domain name consists of one or more parts, technically called labels, that are conventionally concatenated, and delimited by dots, such as example.com.
The right-most label conveys the top-level domain; for example, the domain name www.example.com belongs to the top-level domain com.
The hierarchy of domains descends from right to left; each label to the left specifies a subdivision, or sub domain of the domain to the right. For example: the label example specifies a sub domain of the com domain, and www is a sub domain of example.com. This tree of subdivisions may have up to 127 levels.
Each label may contain up to 63 characters. The full domain name may not exceed a total length of 253 characters in its external dotted-label specification. In the internal binary representation of the DNS the maximum length requires 255 octets of storage. In practice, some domain registries may have shorter limits.
DNS names may technically consist of any character representable in an octet. However, the allowed formulation of domain names in the DNS root zone, and most other sub domains, uses a preferred format and character set. The characters allowed in a label are a subset of the ASCII character set, and includes the characters a through z, A through Z, digits 0 through 9, and the hyphen. This rule is known as the LDH rule (letters, digits, hyphen). Domain names are interpreted in case-independent manner. Labels may not start or end with a hyphen.
Name Server The Domain Name System is maintained by a distributed database system, which uses the client-server model. The nodes of this database are the name servers. Each domain has at least one authoritative DNS server that publishes information about that domain and the name servers of any domains subordinate to it. The top of the hierarchy is served by the root nameservers, the servers to query when looking up (resolving) a TLD. Authoritative name server An authoritative name server is a name server that gives answers that have been configured by an original source, for example, the domain administrator or by dynamic DNS methods, in contrast to answers that were obtained via a regular DNS query to another name server. An authoritative-only name server only returns answers to queries about domain names that have been specifically configured by the administrator. An authoritative name server can either be a master server or a slave server. A master server is a server that stores the original (master) copies of all zone records. A slave server uses an automatic updating mechanism of the DNS protocol in communication with its master to maintain an identical copy of the master records. Every DNS zone must be assigned a set of authoritative name servers that are installed in NS records in the parent zone.
When domain names are registered with a domain name registrar their installation at the domain registry of a top level domain requires the assignment of a primary name server and at least one secondary name server. The requirement of multiple name servers aims to make the domain still functional even if one name server becomes inaccessible or inoperable. The designation of a primary name server is solely determined by the priority given to the domain name registrar. For this purpose generally only the fully qualified domain name of the name server is required, unless the servers are contained in the registered domain, in which case the corresponding IP address is needed as well. Primary name servers are often master name servers, while secondary name server may be implemented as slave servers. An authoritative server indicates its status of supplying definitive answers, deemed authoritative, by setting a software flag (a protocol structure bit), called the Authoritative Answer (AA) bit in its responses. This flag is usually reproduced prominently in the output of DNS administration query tools (such as dig) to indicate that the responding name server is an authority for the domain name in question.
DNS Resolvers The client-side of the DNS is called a DNS resolver. It is responsible for initiating and sequencing the queries that ultimately lead to a full resolution (translation) of the resource sought, e.g., translation of a domain name into an IP address. A DNS query may be either a non-recursive query or a recursive query: A non-recursive query is one in which the DNS server provides a record for a domain for which it is authoritative itself, or it provides a partial result without querying other servers. A recursive query is one for which the DNS server will fully answer the query (or give an error) by querying other name servers as needed. DNS servers are not required to support recursive queries. The resolver, or another DNS server acting recursively on behalf of the resolver, negotiates use of recursive service using bits in the query headers. Resolving usually entails iterating through several name servers to find the needed information. However, some resolvers function more simply by communicating only with a single name server. These simple resolvers (called "stub resolvers") rely on a recursive name server to perform the work of finding information for them.
Basic entry of a DNS Server via DHCP (Dynamic Host Control Protocol) or Manual on DNS Resolver.
Berkley Internet Name Domain (BIND) BIND is the most widely used DNS software on the Internet. On Unix-like operating systems it is the de facto standard. Originally written by four graduate students at the Computer Systems Research Group at the University of California, Berkeley (UCB), the name originates as an acronym from Berkeley Internet Name Domain, reflecting the application's use within UCB. BIND was first released with Berkeley Software Distribution 4.3BSD, and as such, it is a free and open source software. Paul Vixie started maintaining it in 1988 while working for Digital Equipment Corporation. As of 2010, the Internet Systems Consortium maintains BIND.
Sample DNS Master Named Configuration File Caching Server
Explanation DNS Master Named Configuration File aclor access control list specifies the name for the network 192.168.0.0/24 Listen on port specifies the system that it should listen on port number 53 of the I.P loopback and 192.168.0.100 Quercy source the query should be given to port 53 Directory gives the location of file inside the chrootenviroment Dump-file keeps the cache of hitted I.P and host or domain names Static file contains the statistics of the hits MemStatskeeps the stats of memory given to bind Zone specified the rule for the domain name like which file contains the information for the I.P to name and name to I.P resolution factors as well as which zone contains which domain’s information Type specifies which type of server is it master or slave File gives the location of the files which contains name to I.P and I.P to name resolution factor.
Sample Host Name To I.P Conversion File SOA Start Of Authority TTL Time To Live 42 Increased While Adding A New Entry And Replicating With Slave Server NSName Server A Address Record Refresh is the number of seconds between update requests from slave servers. Retry number of seconds the slave will wait before retrying the last attempt has failed Expire is the number of seconds a slave will wait before considering the data stale if it cannot reach the primary name server. Minimum used to determine the minimum TTL, this is used for negative caching. This is the default TTL if the domain does not specify a TTL.
Sample I.P To Host Coversion File SOA Start Of Authority TTL Time To Live 42 Increased While Adding A New Entry And Replicating With Slave Server NSName Server A Address Record Refresh is the number of seconds between update requests from slave servers. Retry number of seconds the slave will wait before retrying the last attempt has failed Expire is the number of seconds a slave will wait before considering the data stale if it cannot reach the primary name server. Minimum used to determine the minimum TTL, this is used for negative caching. This is the default TTL if the domain does not specify a TTL.
Explanation DNS Master Named Configuration File aclor access control list specifies the name for the network 192.168.0.0/24 Listen on port specifies the system that it should listen on port number 53 of the I.P loopback and 192.168.0.100 Quercy source the query should be given to port 53 Directory gives the location of file inside the chrootenviroment Dump-file keeps the cache of hitted I.P and host or domain names Static file contains the statistics of the hits MemStatskeeps the stats of memory given to bind Zone specified the rule for the domain name like which file contains the information for the I.P to name and name to I.P resolution factors as well as which zone contains which domain’s information Type specifies which type of server is it master or slave File gives the location of the files which contains name to I.P and I.P to name resolution factor. Masters gives the information of the master server’s I.P address
External Links The Berkeley Internet Name Domain Server http://www.eecs.berkeley.edu/Pubs/TechRpts/1984/5957.html Domain Names - Concepts AND Facilities http://tools.ietf.org/html/rfc1034 Letting DNS Loose http://www.circleid.com/posts/letting_dns_loose/ 4. Domain Name System http://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers 5. Ubuntu DNS BIND Configuration https://help.ubuntu.com/community/BIND9ServerHowto 6. Fedora Linux Operating System http://www.fedoraforum.org/