The Domain Name System (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. A Domain Name Service resolves queries for these names into IP addresses for the purpose of locating computer services and devices worldwide. By providing a worldwide, distributed keyword-based redirection service, the Domain Name System is an essential component of the functionality of the Internet.
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 192.0.43.10 (IPv4) and 2620:0:2d0:200::10 (IPv6).
Unlike a phone book, however, DNS can be quickly updated and these
updates distributed, allowing 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 recite meaningful
Uniform Resource Locators (URLs) and e-mail addresses without having to know how the computer actually locates the services.
The Domain Name System distributes the responsibility of assigning
domain names and mapping those names to IP addresses by designating
authoritative name servers
for each domain. Authoritative name servers are assigned to be
responsible for their particular domains, and in turn can assign other
authoritative name servers for their sub-domains. This mechanism has
made the DNS distributed and fault tolerant and has helped avoid the
need for a single central register to be continually consulted and
updated. Additionally, the responsibility for maintaining and updating
the master record for the domains is spread among many
domain name registrars, who compete for the end-user's, domain-owner's, business. Domains can be moved from registrar to registrar at any time.
The Domain Name System also specifies the technical functionality of
this database service. It defines the DNS protocol, a detailed
specification of the data structures and communication exchanges used in
DNS, as part of the
Internet Protocol Suite.
Domain name syntax
The definitive descriptions of the rules for forming domain names appear in
RFC 1035, RFC 1123, and RFC 2181. 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 subdomain of the domain to the right. For example: the label example specifies a subdomain 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.[citation needed]
- 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.
- A hostname is a domain name that has at least one IP address associated. For example, the domain names www.example.com and example.com are also hostnames, whereas the com domain is not.