In a previous article of the series „What is a DNS?“ we defined what a DNS is and why it is used for resolving domain names into IP addresses. We learned that the web browser cannot perform a DNS lookup in the DNS Index on its own. Instead, the DNS resolver performs the lookup as it can find the important DNS record “domain.name=IP address” in the Index. But to reach it the DNS resolver first has to look up all authoritative name servers, responsible for all levels in the domain name.
For example, the domain superhosting.bg is actually comprised of two levels – superhosting and bg. The superhosting domain is actually a subdomain of the .bg domain.
When a domain is fully specified with all its levels, such as blog.superhosting.bg (or blog.superhosting.bg.) it is called fully qualified domain name (FQDN). Relative domain name means every other domain which does not include all levels, e.g. blog or blog.superhosting.
Although the fully qualified domain name is specified as one whole name, e.g. „superhosting.bg“, the DNS data for each level is located on different authoritative name servers on the web. From a technical point of view, the domain level is actually a DNS zone (the list of DNS records) when it comes to configuration. From the point of view of a regular user the domain level is called simply a domain (or an extension). You will see an example below.
The domain levels are defined backwards and the (.) symbol plays a role of delimiter for the different levels.
For example, the domain superhosting.bg. consists of few levels (domains), so if we look at it backwards:
Each level knows which the authoritative name servers for the next level are. We remind you that DNS records (the DNS zone) for the respective level are located on the authoritative name servers. The root level knows which the name servers for the bg level are and it, on its turn, knows which the name servers of the superhosting level are.
The DNS resolver does not know (when they are missing in the DNS cache) which are the responsible name servers for superhosting.bg and in order to find them it will need to start looking from the root level of the DNS Index.
However, the DNS resolver knows in advance the IPs of the root DNS servers and will select one of them to send its first query.
( root ) DNS Root (the DNS root level).
If we imagine all domain names as a tree structure, the root level is the “root” itself where everything starts from.
Normally every level has a domain name, only the root level of the DNS Index has a white space character “ „. When printing, e.g. displaying the full domain name on screen, this character is not displayed „superhosting.bg. “. For that reason the white space character is left out when typed and the final dot is accepted to be the end of the domain name.
This final dot which separates the space root character from the next top domain level (TLD) is also left out when the domain name is typed by users in the browser or other applications such as email and ftp clients, etc.
However, computer systems working with the domain itself might need the final dot character.
For example if DNS records are edited in the zone’s text file and the fully qualified domain name does not end with a dot „ivan.com“ the system will treat it as a relative name and will add the domain of the zone at its end „ivan.com.ivan.com“. That’s why subdomains can be typed only with a relative name such as www, which will turn into www.ivan.com. when the editor zone is edited through WHM.
Normally, each registered domain can be loaded in the browser followed by the dot and white space character, e.g. superhosting.bg.[space] or „superhosting.bg.“.
The Root DNS zone in the root level contains records of all authoritative name servers (as NS records), which are responsible for domains from the next top-level (TLD) .com, .net, .org, .info, .bg, .uk and others. As for November 2017 the root DNS zone contains 1541 top-level domains.
Top-level domains are unique and never repeated as the existence of two identical names such as .bg and .bg is not allowed. Specific organizations are responsible for every top domain, and entering them into the root zone is administered by IANA (Internet Assigned Numbers Authority). IANA is a unit of ICANN.
Here are few sample DNS records for the .bg top domain in the DNS root zone:
bg. 172800 IN NS ns2.register.bg.
bg. 172800 IN NS ns3.register.bg.
DNS record of the NS type is used to point to a name server, responsible for the domain’s DNS zone. You can find out which one of the numerous pointed servers is the master authoritative name server, by sending a query for the SOA (Start of Authority) record.
The root zone is located on root DNS servers with the following 13 domain names: a.root-servers.net, b.root-servers.net, c.root-servers.net, d.root-servers.net, e.root-servers.net, f.root-servers.net, g.root-servers.net, h.root-servers.net, i.root-servers.net, j.root-servers.net, k.root-servers.net, l.root-servers.net, m.root-servers.net.
There are hundreds of root DNS servers behind the IPs of those 13 domains. Here comes the Anycast to use so that the load can be regionally distributed. Anycast is a networking technique where the same IP prefix is advertised from multiple locations. There can be numerous physical servers or clusters from multiple locations around the world behind each IP (DNS root server). A full map of all physical servers around the world is available at root-servers.org.
The DNS resolver knows beforehand which the IPs of the 13 DNS root servers are, so it does not perform a DNS lookup of their domains (a-m.root-servers.net). When a DNS lookup is initiated, the resolver will choose one of the servers and send a query.
( 1 ) “.bg” Top-level domain (TLD). These are all domain names, placed before the root domain, in this case before the root dot.
There is a certain Register, responsible for each top-level domain. The Register performs registration of subdomains to the top-level domain and is responsible for the support of the authoritative name servers to the top-level domain.
Register.bg is responsible for the „.bg“ top-level domain. Register.bg offers registration of subdomains to the .bg TLD, for example superhosting.bg, mysupersite.bg and others. When a domain is registered, for example superhosting.bg, the registrar enters to the .bg level the name servers, responsible for the superhosting.bg subdomain (this is also known as delegating a DNS zone).
Here are a few sample DNS records for the second-level domain superhosting.bg in the DNS .bg zone:
superhosting.bg. 345600 IN NS sns2.superhosting.bg.
The DNS zone for the .bg level is located on the authoritative name servers of Register.bg: ns.register.bg, ns2.register.bg, ns2.register.bg, etc.
( 2 ) “.superhosting.bg” second-level domain (2LD), subdomain of the .bg TLD.
Second-level domains must be registered through a registrar responsible for subdomain registration to the respective top-level domain.
The DNS zone for the superhosting.bg domain is located on the authoritative name servers, specified in the .bg zone (sns1.superhosting.bg, sns2.superhosting.bg).
The DNS record containing the IP address is located in the DNS zone (of superhosting.bg). The record looks like that:
The “A” DNS record is primary in the DNS Index. By using an “A” record you can point a domain to an IP.
The DNS resolver performing a lookup for the superhosting.bg domain’s IP will find it in this DNS zone. Afterwards, it will send back the IP to the DNS client. The web browser will connect to the server responsible for this IP.
The DNS lookup usually takes up to few milliseconds. To compare, until you manage to pronounce “What is this domain’s IP?” two seconds will already have passed.
( 3 ) “.blog.superhosting.bg” Third-level domain, superhosting.bg’s subdomain.
Normally third-level domains are not registered by an authorized registrar, but there are some exceptions, such as: mysite.a.bg, somesite.co.uk.
The superhosting.bg’s DNS zone contains records for all its subdomains as this is not the case only if superhosting.bg decides do delegate the DNS zone for a certain subdomain with NS records to another name server. Then the top (.bg) and second-level domains (superhosting.bg) – root delegates management of the subdomain zone .bg to the ns1.register.bg, ns2.register.bg name servers and .bg delegates the subdomain zone superhosting.bg to the name servers sns1.superhosting.bg, sns2
Similarly superhosting.bg can delegate the subdomain zone blog.superhosting.bg to other name servers.
The DNS А record of the blog.superhosting.bg subdomain looks like that:
When you purchase a domain by SuperHosting.BG during its registration two authoritative name servers of the type nsxy.superhosting.bg and nsxz.superhosting.bg. are submitted. SuperHosting.BG submits a registration request for the domain name such as mysupersite.bg to the respective Registrar/Register as it also submits the two name servers. The Registrar holds responsibility to register the domain together with the two name servers in the respective authoritative name servers for the .bg level.