В предишна статия от поредицата „Какво е DNS?“ описахме какво е DNS и защо се използва за транслиране на домейните в IP адреси. Разбрахме, че уеб браузърът сам не може да извърши DNS проверка в DNS указателя. Вместо него DNS проверката ще извърши DNS резолверът, който може да намери в DNS указателя важния DNS запис „домейн.име=IP адрес“. За да стигне до него обаче, DNS резолверът ще мине през всички отговорни нейм сървъри, отговарящи за всяко ниво в домейн името.
Например домейнът superhosting.bg всъщност е съвкупност от две нива – superhosting и bg. Домейнът superhosting е поддомейн на bg домейна.
Когато домейнът е изписан с всичките си нива, например blog.superhosting.bg (или blog.superhosting.bg.), тогава той се нарича пълно домейн име (FQDN), а релативно домейн име означава всеки друг домейн, който не съдържа всичките нива, например само blog или blog.superhosting.
Въпреки че пълното домейн име се изписва като едно име например „superhosting.bg“, DNS информацията за всяко ниво от него се намира на различни отговорни нейм сървъри в интернет. От техническа гледна точка, нивото на домейн всъщност е DNS зона (списъкът с DNS записи), когато става въпрос за конфигуриране на DNS. От гледна точна на обикновения потребител, нивото на домейн се нарича само домейн (или област). По надолу ще дадем пример.
Нивата в домейна се определят отзад напред, а символът точка (.) е разграничител на отделните нива.
Например домейнът superhosting.bg. се състои от няколко нива (домейни), погледнато отзад напред:
(root) .[празен символ] – основно ниво;
1) bg.[] – домейн от първо ниво (поддомейн на []);
2) superhosting.bg. – домейн от второ ниво (поддомейн на bg);
Всяко ниво знае кои са отговорните нейм сървъри за следващото ниво. Само ще припомним, че на отговорните нейм сървъри се намират DNS записите (DNS зоната) за даденото ниво (домейн). Root нивото знае кои са нейм сървърите на bg нивото, а то знае кои са нейм сървърите на superhosting нивото.
DNS резолверът не знае (когато ги няма в DNS кеша) кои са отговорните нейм сървъри за superhosting.bg и за да ги намери, ще трябва да започне от началото на DNS указателя, от основното Root ниво.
DNS резолверът обаче предварително знае IP адресите на Root DNS сървърите и ще си избере един от тях, към който да изпрати първото си запитване.
( root ) DNS Root (основно ниво на DNS).
Ако си представим пространството от имена в дървовидна структура, Root нивото е коренът, от който започва всичко.
Стандартно всяко ниво си има домейн име, само основното ниво на DNS указателя си няма име, а празен символ „ “. При принтирането, например извеждането на пълното име на домейна на екрана, този символ не се вижда „superhosting.bg. “. Поради това празният символ се изпуска при изписването и за край на домейн името се приема последната точка.
Тази последна точка, която отделя празния Root символ от следващото ниво домейн (TLD), също се пропуска при изписването на домейна от нас, хората, в уеб браузъра и други клиентски приложения, като имейл клиенти, ftp клиенти и други.
За компютърните системите обаче, които работят с домейн имена, вътрешно може да се нуждаят от последната точка.
Например при директна редакция на DNS записите в текстовия файл на зоната, ако пълното домейн име не бъде завършено с точка „ivan.com“, системата ще го приеме за релативно име и ще добави в края му домейна на зоната „ivan.com.ivan.com“.
Затова и поддомейните може да се изпишат само с релативно име, например „www“, което ще стане „www.ivan.com“. Например при редакция на зоната през редактора във WHM.
Стандартно всеки регистриран домейн може да бъде зареден в браузъра, като след него бъде дописана и точката и празния символ, например superhosting.bg.[интервал] или „superhosting.bg.“.
На основното ниво в DNS, в основната Root DNS зона, са записани всички отговорни нейм сървъри (в „NS“ записи), които отговарят за домейните от следващото ниво – първо ниво (TLD) .com, .net, .org, .info, .bg, .uk и други. Към юни 2022 г. Root DNS зоната съдържа 1487 домейна от първо ниво.
Топ домейните (първо ниво) са уникални и не се повтарят, не се допуска съществуването на две еднакви имена, например .bg и .bg. За всеки топ домейн отговаря определена организация, а вписването на топ домейните в Root зоната се администрира от организацията IANA (Internet Assigned Numbers Authority). IANA е звено на организацията ICANN.
Примерни DNS записи за топ домейна .bg в DNS Root зоната:
bg. 172800 IN NS ns.register.bg.
bg. 172800 IN NS ns2.register.bg.
bg. 172800 IN NS ns3.register.bg.
С DNS запис от тип „NS“ се посочва нейм сървър, който ще отговаря за DNS зоната на този домейн. Кой от всичките посочени нейм сървъри обаче е истинският (master) отговорен нейм сървър, може да се разбере като се попита един от тях за записа „SOA“ (Start of Authority).
Root зоната се намира на Root DNS сървъри, които имат следните 13 домейна: 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.
Зад IP адресите на тези 13 домейна стоят стотици Root DNS сървъри. За да може да се разпредели натоварването в DNS указателя, по региони, се използва технологията Anycast, което представлява начин едно и също IP да се вижда на няколко различни физически места. Използвайки тази технология, зад всяко едно IP (DNS Root сървър) могат да стоят много на брой различни физически сървъри или клъстери, които са разположени на различни места по света. Пълна карта на всички физически сървъри в света можете да видите на root-servers.org.
DNS резолверът предварително „знае“ кои са IP адресите на 13-те DNS Root сървъра, така че няма да прави DNS проверка на техните домейни (a-m.root-servers.net). При стартиране на DNS проверката, DNS резолверът ще избере един от тях и ще му изпрати запитване.
( 1 ) „.bg“ Домейн от първо ниво (TLD). Това са всички домейн имена, който стоят пред Root домейна, в случая пред Root точката.
За всеки топ домейн отговаря определен „оператор“. Този оператор (или Регистър) извършва регистрацията на поддомейни към топ домейна и отговаря за поддръжката на отговорните нейм сървъри за дадения топ домейн.
Например за домейна от първо ниво „.bg“ отговаря организацията Регистър.БГ. Този оператор предлага регистрация на поддомейн към топ домейна .bg, например superhosting.bg, mysupersite.bg и други. При регистрацията на домейн, например superhosting.bg, този оператор вписва в отговорните нейм сървъри за .bg нивото, кои ще са отговорните нейм сървъри за поддомейна superhosting.bg (това още се нарича делегиране на DNS зона).
Примерни DNS записи за домейна от второ ниво superhosting.bg в DNS .bg зоната:
superhosting.bg. 345600 IN NS sns1.superhosting.bg.
superhosting.bg. 345600 IN NS sns2.superhosting.bg.
DNS зоната за .bg нивото се намира на отговорните нейм сървъри на оператора Регистър.БГ: ns.register.bg, ns2.register.bg, ns2.register.bg и останалите.
( 2 ) „.superhosting.bg“ Домейн от второ ниво (2LD), поддомейн на топ домейна .bg.
Домейните от второ ниво задължително трябва да се регистрират – през оператора, който отговаря за регистрацията на поддомейни към дадения топ домейн.
DNS зоната за домейна superhosting.bg се намира на отговорните нейм сървъри, които са посочени в зоната на .bg домейна (sns1.superhosting.bg, sns2.superhosting.bg).
В DNS зоната (на superhosting.bg) се намира важният DNS запис, съдържащ IP адреса. Този запис изглежда така:
superhosting.bg. 3600 IN A 91.196.125.21
DNS „А“ записът е един от основните записи в DNS указателя. С „А“ запис може да се укаже за дадения домейн кой IP адрес отговаря.
DNS резолверът, който извършва DNS проверка за IP адреса на домейна superhosting.bg, ще го намери в тази DNS зона. След това ще върне този IP адрес към DNS клиента. А уеб браузърът вече ще направи връзка със сървъра, отговарящ на този IP адрес.
Като продължителност, DNS проверката отнема няколко милисекунди. За сравнение, докато изречем въпроса на глас „Кой е IP адресът на този домейн?“, ще минат около 2 секунди.
( 3 ) „.blog.superhosting.bg“ Домейн от трето ниво, поддомейн на superhosting.bg.
Стандартно домейните от трето ниво не се регистрират през оторизиран оператор, но има и изключения например mysite.a.bg, somesite.co.uk.
В DNS зоната на superhosting.bg се съдържат записите за всички негови поддомейни, освен ако superhosting.bg не реши да делегира DNS зоната за даден поддомейн (с „NS“ записи) към съвсем друг нейм сървър. Същото делегиране се случва с домейните от първо (.bg) и второ ниво (superhosting.bg) – root делегира управлението на зоната за поддомейна .bg.root към нейм сървърите ns1.register.bg, ns2.register.bg …, а .bg делегира зоната за поддомейна superhosting.bg към нейм сървърите sns1.superhosting.bg, sns2… По същия начин superhosting.bg може да делегира зоната за поддомейна blog.superhosting.bg към други нейм сървъри.
DNS „А“ записът на поддомейна blog.superhosting.bg изглежда така:
blog 60 IN A 185.123.188.58
В следващата статия от поредицата „Какво е DNS?“ ще видим пътя на DNS проверката, която DNS резолверът извършва, за да стигне до отговорния нейм сървър и важния „А“ запис, който се пази на него.
Интересно: Когато си закупите домейн през СуперХостинг.БГ, при регистрацията му автоматично се подават два отговорни нейм сървъра, от вида nsxy.superhosting.bg и nsxz.superhosting.bg. СуперХостинг.БГ подава заявка за регистрация на домейна например mysupersite.bg, към съответния оператор/Регистър, като заедно с това подава и двата нейм сървъра. Регистърът има задължението да впише домейна, заедно с двата нейм сървъра, в съответните отговорни нейм сървъри за .bg нивото.
Ако искате при регистрацията на вашия следващ домейн, към Регистрара да се подадат точно определени нейм сървъри, различни от тези по подразбиране, които СуперХостинг.БГ ще подаде, въведете ги в опцията в клиентския профил „Предефинирани DNS-и“.