Misplaced Pages

Domain Name System

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

In computing , a directory service or name service maps the names of network resources to their respective network addresses . It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects. A directory service is a critical component of a network operating system . A directory server or name server is a server which provides such a service. Each resource on the network is considered an object by the directory server. Information about a particular resource is stored as a collection of attributes associated with that resource or object.

#802197

62-732: Early research and development: Merging the networks and creating the Internet: Commercialization, privatization, broader access leads to the modern Internet: Examples of Internet services: The Domain Name System ( DNS ) is a hierarchical and distributed name service that provides a naming system for computers , services, and other resources on the Internet or other Internet Protocol (IP) networks. It associates various information with domain names ( identification strings ) assigned to each of

124-445: A label and zero or more resource records (RR), which hold information associated with the domain name. The domain name itself consists of the label, concatenated with the name of its parent node on the right, separated by a dot. The tree sub-divides into zones beginning at the root zone . A DNS zone may consist of as many domains and subdomains as the zone manager chooses. DNS can also be partitioned according to class where

186-473: A secure connection to the website . Internet users are distributed throughout the world using a wide variety of languages and alphabets, and expect to be able to create URLs in their own local alphabets. An Internationalized Resource Identifier (IRI) is a form of URL that includes Unicode characters. All modern browsers support IRIs. The parts of the URL requiring special treatment for different alphabets are

248-483: A "com" server, and finally an "example.com" server. Name servers in delegations are identified by name, rather than by IP address. This means that a resolving name server must issue another DNS request to find out the IP address of the server to which it has been referred. If the name given in the delegation is a subdomain of the domain for which the delegation is being provided, there is a circular dependency . In this case,

310-407: A cache of data. An authoritative name server can either be a primary server or a secondary server. Historically the terms master/slave and primary/secondary were sometimes used interchangeably but the current practice is to use the latter form. A primary server is a server that stores the original copies of all zone records. A secondary server uses a special automatic updating mechanism in

372-415: A combination of these methods. In a non-recursive query , a DNS resolver queries a DNS server that provides a record either for which the server is authoritative, or it provides a partial result without querying other servers. In case of a caching DNS resolver , the non-recursive query of its local DNS cache delivers a result and reduces the load on upstream DNS servers by caching DNS resource records for

434-751: A compromise between five competing proposals of solutions to Paul Mockapetris . Mockapetris instead created the Domain Name System in 1983 while at the University of Southern California . The Internet Engineering Task Force published the original specifications in RFC 882 and RFC 883 in November 1983. These were updated in RFC 973 in January 1986. In 1984, four UC Berkeley students, Douglas Terry, Mark Painter, David Riggle, and Songnian Zhou, wrote

496-399: A dataset from a reliable source. Assuming the resolver has no cached records to accelerate the process, the resolution process starts with a query to one of the root servers. In typical operation, the root servers do not answer directly, but respond with a referral to more authoritative servers, e.g., a query for "www.wikipedia.org" is referred to the org servers. The resolver now queries

558-517: A double slash ( // ). Berners-Lee later expressed regret at the use of dots to separate the parts of the domain name within URIs , wishing he had used slashes throughout, and also said that, given the colon following the first component of a URI, the two slashes before the domain name were unnecessary. Early WorldWideWeb collaborators including Berners-Lee originally proposed the use of UDIs: Universal Document Identifiers. An early (1993) draft of

620-539: A general purpose database, the DNS has also been used in combating unsolicited email (spam) by storing a real-time blackhole list (RBL). The DNS database is traditionally stored in a structured text file, the zone file , but other database systems are common. The Domain Name System originally used the User Datagram Protocol (UDP) as transport over IP. Reliability, security, and privacy concerns spawned

682-407: A period of time after an initial response from upstream DNS servers. In a recursive query , a DNS resolver queries a single DNS server, which may in turn query other DNS servers on behalf of the requester. For example, a simple stub resolver running on a home router typically makes a recursive query to the DNS server run by the user's ISP . A recursive query is one for which the DNS server answers

SECTION 10

#1732765353803

744-468: A service's location on the network to change without affecting the end users, who continue to use the same hostname. Users take advantage of this when they use meaningful Uniform Resource Locators ( URLs ) and e-mail addresses without having to know how the computer actually locates the services. An important and ubiquitous function of the DNS is its central role in distributed Internet services such as cloud services and content delivery networks . When

806-418: A time to live (TTL), which indicates how long the information remains valid before it needs to be discarded or refreshed. This TTL is determined by the administrator of the authoritative DNS server and can range from a few seconds to several days or even weeks. Name service A directory service defines a namespace for the network. The namespace is used to assign a name (unique identifier) to each of

868-475: A type of error called a "lame delegation" or "lame response". Domain name resolvers determine the domain name servers responsible for the domain name in question by a sequence of queries starting with the right-most (top-level) domain label. For proper operation of its domain name resolver, a network host is configured with an initial cache ( hints ) of the known addresses of the root name servers. The hints are updated periodically by an administrator by retrieving

930-458: A user accesses a distributed Internet service using a URL, the domain name of the URL is translated to the IP address of a server that is proximal to the user. The key functionality of the DNS exploited here is that different users can simultaneously receive different translations for the same domain name, a key point of divergence from a traditional phone-book view of the DNS. This process of using

992-437: Is empty if it has no characters; the scheme component is always non-empty. The authority component consists of subcomponents : This is represented in a syntax diagram as: [REDACTED] The URI comprises: A web browser will usually dereference a URL by performing an HTTP request to the specified host, by default on port number 80. URLs using the https scheme require that requests and responses be made over

1054-489: Is known as the LDH rule (letters, digits, hyphen). Domain names are interpreted in a case-independent manner. Labels may not start or end with a hyphen. An additional rule requires that top-level domain names should not be all-numeric. The limited set of ASCII characters permitted in the DNS prevented the representation of names and words of many languages in their native alphabets or scripts. To make this possible, ICANN approved

1116-487: Is only achieved with at least 6 labels (counting the last null label). Although no technical limitation exists to prevent domain name labels from using any character that is representable by an octet, hostnames use a preferred format and character set. The characters allowed in labels are a subset of the ASCII character set, consisting of characters a through z , A through Z , digits 0 through 9 , and hyphen. This rule

1178-399: Is served by the root name servers , the servers to query when looking up ( resolving ) a TLD . An authoritative name server is a name server that only gives answers to DNS queries from data that have been configured by an original source, for example, the domain administrator or by dynamic DNS methods, in contrast to answers obtained via a query to another name server that only maintains

1240-551: The Internationalizing Domain Names in Applications (IDNA) system, by which user applications, such as web browsers, map Unicode strings into the valid DNS character set using Punycode . In 2009, ICANN approved the installation of internationalized domain name country code top-level domains ( ccTLD s) . In addition, many registries of the existing top-level domain names ( TLD s ) have adopted

1302-587: The Internet Engineering Task Force (IETF), as an outcome of collaboration started at the IETF Living Documents birds of a feather session in 1992. The format combines the pre-existing system of domain names (created in 1985) with file path syntax, where slashes are used to separate directory and filenames . Conventions already existed where server names could be prefixed to complete file paths, preceded by

SECTION 20

#1732765353803

1364-517: The Web , is a reference to a resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifier (URI), although many people use the two terms interchangeably. URLs occur most commonly to reference web pages ( HTTP / HTTPS ) but are also used for file transfer ( FTP ), email ( mailto ), database access ( JDBC ), and many other applications. Most web browsers display

1426-470: The hierarchy ), adding attributes to the must-may list. Directory services are often central to the security design of an IT system and have a correspondingly-fine granularity of access control. Replication and distribution have distinct meanings in the design and management of a directory service. Replication is used to indicate that the same directory namespace (the same objects) are copied to another directory server for redundancy and throughput reasons;

1488-477: 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 subdomain of the domain to the right. For example, the label example specifies a subdomain of the com domain, and www is a subdomain of example.com. This tree of subdivisions may have up to 127 levels. A label may contain zero to 63 characters, because

1550-402: 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. When a name server is designated as the authoritative server for a domain name for which it does not have authoritative data, it presents

1612-593: The 1980s, the ITU and ISO created the X.500 set of standards for directory services, initially to support the requirements of inter-carrier electronic messaging and network-name lookup. The Lightweight Directory Access Protocol (LDAP) is based on the X.500 directory-information services, using the TCP/IP stack and an X.500 Directory Access Protocol (DAP) string-encoding scheme on the Internet . Systems developed before

1674-535: The ARPANET. Elizabeth Feinler developed and maintained the first ARPANET directory. Maintenance of numerical addresses, called the Assigned Numbers List, was handled by Jon Postel at the University of Southern California 's Information Sciences Institute (ISI), whose team worked closely with SRI. Addresses were assigned manually. Computers, including their hostnames and addresses, were added to

1736-462: The DNS database are for start of authority ( SOA ), IP addresses ( A and AAAA ), SMTP mail exchangers (MX), name servers (NS), pointers for reverse DNS lookups (PTR), and domain name aliases (CNAME). Although not intended to be a general purpose database, DNS has been expanded over time to store records for other types of data for either automatic lookups, such as DNSSEC records, or for human queries such as responsible person (RP) records. As

1798-401: The DNS protocol in communication with its primary to maintain an identical copy of the primary records. Every DNS zone must be assigned a set of authoritative name servers. This set of servers is stored in the parent domain zone with name server (NS) records. An authoritative server indicates its status of supplying definitive answers, deemed authoritative , by setting a protocol flag, called

1860-415: The DNS to assign proximal servers to users is key to providing faster and more reliable responses on the Internet and is widely used by most major Internet services. The DNS reflects the structure of administrative responsibility on the Internet. Each subdomain is a zone of administrative autonomy delegated to a manager. For zones operated by a registry , administrative information is often complemented by

1922-523: The HTML Specification referred to "Universal" Resource Locators. This was dropped some time between June 1994 ( RFC  1630 ) and October 1994 (draft-ietf-uri-url-08.txt). In his book Weaving the Web , Berners-Lee emphasizes his preference for the original inclusion of "universal" in the expansion rather than the word "uniform", to which it was later changed, and he gives a brief account of

Domain Name System - Misplaced Pages Continue

1984-460: The IDNA system, guided by RFC 5890, RFC 5891, RFC 5892, RFC 5893. 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

2046-429: The 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; a DNS name server responds with answers to queries against its database. The most common types of records stored in

2108-402: The Internet, and increase performance in end-user applications, the Domain Name System supports DNS cache servers which store DNS query results for a period of time determined in the configuration ( time-to-live ) of the domain name record in question. Typically, such caching DNS servers also implement the recursive algorithm necessary to resolve a given name starting with the DNS root through to

2170-558: The URL of a web page above the page in an address bar . A typical URL could have the form http://www.example.com/index.html , which indicates a protocol ( http ), a hostname ( www.example.com ), and a file name ( index.html ). Uniform Resource Locators were defined in RFC   1738 in 1994 by Tim Berners-Lee , the inventor of the World Wide Web , and the URI working group of

2232-602: The X.500 include: LDAP/X.500-based implementations include: Open-source tools to create directory services include OpenLDAP, the Kerberos protocol and Samba software , which can function as a Windows domain controller with Kerberos and LDAP back ends . Administration is by GOsa or Samba SWAT. Name services on Unix systems are typically configured through nsswitch.conf . Information from name services can be retrieved with getent . URL A uniform resource locator ( URL ), colloquially known as an address on

2294-703: The associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols . The Domain Name System has been an essential component of the functionality of the Internet since 1985. The Domain Name System delegates the responsibility of assigning domain names and mapping those names to Internet resources by designating authoritative name servers for each domain. Network administrators may delegate authority over subdomains of their allocated name space to other name servers. This mechanism provides distributed and fault-tolerant service and

2356-543: The authoritative name servers of the queried domain. With this function implemented in the name server, user applications gain efficiency in design and operation. The combination of DNS caching and recursive functions in a name server is not mandatory; the functions can be implemented independently in servers for special purposes. Internet service providers typically provide recursive and caching name servers for their customers. In addition, many home networking routers implement DNS caches and recursion to improve efficiency in

2418-836: The availability of directory information to authorized users . Several things distinguish a directory service from a relational database . Data can be made redundant if it aids performance (e.g. by repeating values through rows in a table instead of relating them to the contents of a different table through a key, which technique is called denormalization ; another technique could be the utilization of replicas for increasing actual throughput). Directory schemas are object classes, attributes, name bindings and knowledge (namespaces) where an object class has: Attributes are sometimes multi-valued, allowing multiple naming attributes at one level (such as machine type and serial number concatenation , or multiple phone numbers for "work phone"). Attributes and object classes are usually standardized throughout

2480-472: The computer. Computers at educational institutions would have the domain edu , for example. She and her team managed the Host Naming Registry from 1972 to 1989. By the early 1980s, maintaining a single, centralized host table had become slow and unwieldy and the emerging network required an automated naming system to address technical and personnel issues. Postel directed the task of forging

2542-406: The contention that led to the change. Every HTTP URL conforms to the syntax of a generic URI. The URI generic syntax consists of five components organized hierarchically in order of decreasing significance from left to right: A component is undefined if it has an associated delimiter and the delimiter does not appear in the URI; the scheme and path components are always defined. A component

Domain Name System - Misplaced Pages Continue

2604-438: The delegation for example.org. The glue records are address records that provide IP addresses for ns1.example.org. The resolver uses one or more of these IP addresses to query one of the domain's authoritative servers, which allows it to complete the DNS query. A common approach to reduce the burden on DNS servers is to cache the results of name resolution locally or on intermediary resolver hosts. Each DNS query result comes with

2666-665: The domain name and path. The domain name in the IRI is known as an Internationalized Domain Name (IDN). Web and Internet software automatically convert the domain name into punycode usable by the Domain Name System ; for example, the Chinese URL http://例子.卷筒纸 becomes http://xn--fsqu00a.xn--3lr804guic/ . The xn-- indicates that the character was not originally ASCII . The URL path name can also be specified by

2728-753: The first Unix name server implementation for the Berkeley Internet Name Domain, commonly referred to as BIND . In 1985, Kevin Dunlap of DEC substantially revised the DNS implementation. Mike Karels , Phil Almquist, and Paul Vixie then took over BIND maintenance. Internet Systems Consortium was founded in 1994 by Rick Adams , Paul Vixie , and Carl Malamud , expressly to provide a home for BIND development and maintenance. BIND versions from 4.9.3 onward were developed and maintained by ISC, with support provided by ISC's sponsors. As co-architects/programmers, Bob Halley and Paul Vixie released

2790-452: The first production-ready version of BIND version 8 in May 1997. Since 2000, over 43 different core developers have worked on BIND. In November 1987, RFC 1034 and RFC 1035 superseded the 1983 DNS specifications. Several additional Request for Comments have proposed extensions to the core DNS protocols. The domain name space consists of a tree data structure . Each node or leaf in the tree has

2852-456: The industry; for example, X.500 attributes and classes are often formally registered with the IANA for their object ID. Therefore, directory applications try to reuse standard classes and attributes to maximize the benefit of existing directory-server software. Object instances are slotted into namespaces; each object class inherits from its parent object class (and ultimately from the root of

2914-431: The length is only allowed to take 6 bits. The null label of length zero is reserved for the root zone. The full domain name may not exceed the length of 253 characters in its textual representation (or 254 with the trailing dot). In the internal binary representation of the DNS this maximum length of 253 requires 255 octets of storage, as it also stores the length of the first of many labels and adds last null byte. 255 length

2976-422: The local network. The client side of the DNS is called a DNS resolver. A resolver 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. DNS resolvers are classified by a variety of query methods, such as recursive , non-recursive , and iterative . A resolution process may use

3038-408: The name server and IP address. For example, if the authoritative name server for example.org is ns1.example.org, a computer trying to resolve www.example.org first resolves ns1.example.org. As ns1 is contained in example.org, this requires resolving example.org first, which presents a circular dependency. To break the dependency, the name server for the top level domain org includes glue along with

3100-409: The name server providing the delegation must also provide one or more IP addresses for the authoritative name server mentioned in the delegation. This information is called glue . The delegating name server provides this glue in the form of records in the additional section of the DNS response, and provides the delegation in the authority section of the response. A glue record is a combination of

3162-421: The objects. Directories typically have a set of rules determining how network resources are named and identified, which usually includes a requirement that the identifiers be unique and unambiguous . When using a directory service, a user does not have to remember the physical address of a network resource; providing a name locates the resource. Some directory services include access control provisions, limiting

SECTION 50

#1732765353803

3224-544: The primary file by contacting the SRI Network Information Center (NIC), directed by Feinler, via telephone during business hours. Later, Feinler set up a WHOIS directory on a server in the NIC for retrieval of information about resources, contacts, and entities. She and her team developed the concept of domains. Feinler suggested that domains should be based on the location of the physical address of

3286-402: The query completely by querying other name servers as needed. In typical operation, a client issues a recursive query to a caching recursive DNS server, which subsequently issues non-recursive queries to determine the answer and send a single answer back to the client. The resolver, or another DNS server acting recursively on behalf of the resolver, negotiates use of recursive service using bits in

3348-404: The query headers. DNS servers are not required to support recursive queries. The iterative query procedure is a process in which a DNS resolver queries a chain of one or more DNS servers. Each server refers the client to the next server in the chain, until the current server can fully resolve the request. For example, a possible resolution of www.example.com would query a global root server, then

3410-476: The registry's RDAP and WHOIS services. That data can be used to gain insight on, and track responsibility for, a given host on the Internet. Using a simpler, more memorable name in place of a host's numerical address dates back to the ARPANET era. The Stanford Research Institute (now SRI International ) maintained a text file named HOSTS.TXT that mapped host names to the numerical addresses of computers on

3472-421: The replicated namespace is governed by the same authority. Distribution is used to indicate that multiple directory servers in different namespaces are interconnected to form a distributed directory service; each namespace can be governed by a different authority. Directory services were part of an Open Systems Interconnection (OSI) initiative for common network standards and multi-vendor interoperability. During

3534-515: The root servers, and as a result, root name servers actually are involved in only a relatively small fraction of all requests. In theory, authoritative name servers are sufficient for the operation of the Internet. However, with only authoritative name servers operating, every DNS query must start with recursive queries at the root zone of the Domain Name System and each user system would have to implement resolver software capable of recursive operation. To improve efficiency, reduce DNS traffic across

3596-627: The separate classes can be thought of as an array of parallel namespace trees. Administrative responsibility for any zone may be divided by creating additional zones. Authority over the new zone is said to be delegated to a designated name server. The parent zone ceases to be authoritative for the new zone. The definitive descriptions of the rules for forming domain names appear in RFC 1035, RFC 1123, RFC 2181, and RFC 5892. 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

3658-423: The servers referred to, and iteratively repeats this process until it receives an authoritative answer. The diagram illustrates this process for the host that is named by the fully qualified domain name "www.wikipedia.org". This mechanism would place a large traffic burden on the root servers, if every resolution on the Internet required starting at the root. In practice caching is used in DNS servers to off-load

3720-604: The use of the Transmission Control Protocol (TCP) as well as numerous other protocol developments. An often-used analogy to explain the DNS is that it serves as the phone book for the Internet by translating human-friendly computer hostnames into IP addresses. For example, the hostname www.example.com within the domain name example.com translates to the addresses 93.184.216.34 ( IPv4 ) and 2606:2800:220:1:248:1893:25c8:1946 ( IPv6 ). The DNS can be quickly and transparently updated, allowing

3782-626: The user in the local writing system. If not already encoded, it is converted to UTF-8 , and any characters not part of the basic URL character set are escaped as hexadecimal using percent-encoding ; for example, the Japanese URL http://example.com/引き割り.html becomes http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html . The target computer decodes the address and displays the page. Protocol-relative links (PRL), also known as protocol-relative URLs (PRURL), are URLs that have no protocol specified. For example, //example.com will use

SECTION 60

#1732765353803

3844-412: Was designed to avoid a single large central database. In addition, the DNS specifies the technical functionality of the database service that is at its core. It defines the DNS protocol, a detailed specification of the data structures and data communication exchanges used in the DNS, as part of the Internet protocol suite . The Internet maintains two principal namespaces , the domain name hierarchy and

#802197