DNS: какво е и какво трябва да знаеш за DNS сървърите?
DNS протоколът със сигурност ще е един от аспектите, с които ще трябва да се запознаеш подробно, ако искаш да работиш пълноценно с компютърни мрежи. Затова и темата е залегнала в предстоящия курс за напреднали Computer Networking Advanced, който те очаква. По време на занятията ще задълбочиш вече придобитите фундаментални знания и ще развиеш детайлно разбиране за принципа на работа на компютърните мрежи. В допълнение, ще надградиш с познания за виртуализация, мрежови технологии и вече споменатите DNS протоколи.
По повод старта на курса, ще си говорим именно за системата за имена на домейни, или т.нар. Domain name system – DNS. Може да се каже, че това е телефонният указател на Интернет. Нека видим защо!
Накратко за DNS
Всички имаме достъп до информация онлайн чрез имена на домейни като softuni.bg или bbc.com и т.н. Уеб браузърите и всички устройства в мрежата си взаимодействат чрез специални адреси, познати като Internet Protocol (IP). DNS превежда имената на домейни в IP адреси, така че браузърите да могат да те отведат на правилната страница – превежда буквите в цифри.
Всяко устройство, свързано към Интернет, има уникален IP адрес, който други машини използват, за да се свържат с него. DNS сървърите премахват необходимостта хората да запомнят IP адреси като 192.168.1.1 (IPv4) или по-сложни буквено-цифрови IP адреси като 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (в IPv6, който също ще разгледаш по време на обучението по компютърни мрежи за напреднали). Достатъчно е да знаеш името на сайта, който искаш да посетиш.
Произход на DNS сървъра
Концепцията за този „указател“ се заражда още през 60те години на 20 век. Тогава е представлявал точно това – огромен дигитален телефон указател с главозамайващ брой сайтове и кореспондиращите им IP адреси, обслужващ нуждите на американски изследователски центрове. През 70те години, броят на устройствата в тази компютърна мрежа започва да нараства главоломно, а самите IP адреси стават все по-дълги и трудни за запаметяване.
Така се появява нуждата от унифицирана система за опростяване на свързаността в компютърните мрежи, а самият протокол бива разработен през 1983.
Как работи DNS?
Когато напишеш името на домейна на сайта, който искаш да посетиш (например softuni.bg), първото нещо, което браузърът ти ще направи, е да провери дали случайно не си посещавал вече този уебсайт. Ако си, IP адресът, принадлежащ на сайта, най-вероятно е запазен в кеша (cache), откъдето браузърът може да го извади без особено затруднение.
Ако обаче адресът не е „кеширан“ в паметта, операционната ти система ще попита нещо, наречено resolving name server (или DNS recursor). Обикновено те са конфигурирани от и принадлежат на интернет доставчика ти (или ISP). Тук recursor-ът е нещо като посредник между запитването ти (query) и сървърите, които пазят IP адреса на softuni.bg.
Какво представляват DNS сървърите?
Както можеш да предположиш, имената на домейните и прилежащите им IP адреси не са запазени на едно място, а са разпръснати навсякъде по света в така наречените DNS сървъри. Те комуникират помежду си, за да поддържат информацията си актуална. След като не може да намери IP адреса в най-близките места, resolving name сървърът започва да „обикаля“ и да „пита“ различните типове DNS сървъри.
Първо пита root сървърите. Това е първият тип DNS сървъри, от които има 13 комплекта в над 300 локации по целия свят и всеки от тях съдържа DNS информация за домейни от най-високо ниво като .com. Ако не намери IP адреса там, търсенето продължава в TLD сървърите (top-level domain servers).
Подобно на root сървърите, TLD сървърите също са разпръснати по света и съдържат информация за второстепенните домейни. Финалната стъпка е Authoritative сървърът, който свързва softuni.bg с IP адрес, дава го на resolving name сървъра, а той от своя страна го предава на браузъра ти.
Разбира се, пътеката може да бъде много по-сложна, да включва допълнителни стъпки, но в основата си процесът по намиране на IP адрес разчита на гореспоменатите стъпки.
За да разбереш DNS още по-добре, функцията на отделните сървъри и йерархията на домейните, не се колебай, а се запиши в предстоящия курс за напреднали Computer Networking Advanced. Обучението стартира съвсем скоро и ще ти помогне да надградиш уменията си в работата с компютърни мрежи чрез практическия си фокус. Очакваме те!