PC Help

 Към заглавната страница на PC HelpТърсене


Уроци:

Комуникации

 

DNS Overview

Този документ има за цел да запознае читателя с основите на Domain Name System и главните понятия, свързани с тази система. За пълна и изчерпателна информация използвайте RFCs 974, 1034 и 1035.

DNS е комплект от протоколи и услуги в TCP/IP мрежова среда, която позволява на потребителите на мрежата да използват йерархични приятелски имена, когато се обръщат към други хостове (компютри), вместо да е необходимо да помнят и да използват съответните IP адреси. DNS се използва в Интернет и много частни корпоративни мрежи. Главната функция на DNS е да съпоставя IP адреси към имена. Хостовете се обръщат един към друг с IP адреси. За пример, dir.bg има IP адрес , но повечето хора предпочитат да се обръщат към този сайт с приятелското име dir.bg, а не с IP адреса. Друго предимство на приятелското име е , че IP адреса може да бъде сменен по различни причини, примерно разрастване на корпоративната мрежа, но WEB адреса на Вашата фирма ще остане същият за Вашите клиенти, документи, визитки и т.н.

Историята на DNS

TCP/IP води началото си от експерименти с пакетно-превключващи мрежи, провеждани от Агенцията за изследователска дейност към Министерство на отбраната на САЩ (Advanced Research Project Agency- ARPA) в края на 60-те и началото на 70-те години. Мрежата на ARPA се нарича ARPANET. Преди 80-те години тази мрежа се е състояла само от няколкостотин компютъра.

Съответствията IP адрес:име са се пазели в един файл, наречен hosts.txt. Този файл се е съхранявал в хоста (компютър) SRI-NIC. Когато е било необходимо, другите хостове са копирали този файл на своите сайтове. Проблема при този файл е, че при добавянето на нов хост е било необходимо системният администратор да добавя ново съответствие IP:име. Първоначално този файл се е обновявал 1-2 пъти седмично, но след разрастването на мрежата са възникнали различни проблеми:

  • файла започва да става прекалено голям.

  • трябва да се обновява повече от един път дневно.

  • хостовете копират актуалната версия на hosts.txt от SRI-NIC, т.е. целия трафик се маршрутизира през SRI-NIC, който се превръща в точка на задръстване.

  • hosts.txt използва плоско пространство с имена (flat name space). Този подход изисква всяко име на хост да е уникално в рамките на цялата мрежа.

Подобни проблеми принуждават управата на ARPANET да потърси друго решение. Това довежда до създаването на DNS, която представлява разпределена база данни, използваща йерархично пространство с имена. Ръководител на проекта е Paul Mockapetris. През 1984 година е внедрен за първи път DNS.

Hosts файла се използва и в момента при малки мрежи, където няма чести промени, адресите са малко и обръщането на компютрите към локален файл е по-бързо и не натоварва мрежата допълнително. Пример за hosts файл е x:\windows\hosts или x:\winnt\system32\drivers\etc\hosts.

Как работи DNS

Когато Вие напишете dir.bg в адрес бара на браузера, компютърът (заявител) изпраща това име на DNS сървъра (именен сървър), който връща заявката със съответстващия IP адрес на dir.bg, след което Вашият компютър използва този IP адрес, за да се свърже с хоста на dir.bg. При бавните dial-up връзки понякога това се забелязва в статус бара на браузера:

finding site: dir.bg…..(заявка към DNS сървъра)

connecting to site: 194.145.63.12… (получен е отговор на заявката и свързване с хоста)

waiting for reply from dir.bg/opening site… (връзване с хоста на dir.bg и отваряне на сайта)

DNS работи в приложния слой на OSI модела и използва UDP протокола за комуникация, а при непълна заявка използва TCP протокола.

Системата за имена на домейни работи на базата на три основни компонента:

  • заявители (resolvers)

  • именни сървъри (name servers)

  • пространство с имена на домейни ( domain name space)

Заявители:

Функцията на заявителите е да изпращат заявки от приложенията към именните сървъри. Заявителят често е вграден в приложението или работи на хоста като библиотечна функция.

Именни сървъри:

Сървърите на имена приемат заявките от заявителите и преобразуват името в IP адрес.

Пространство с имена на домейни:

Пространството с имена на домейни е йерархично групиране на имена в обърната дървовидна структура:

домейн от основно ниво
/|\
/ | \
домейни от горно ниво
(bg edu com)
/|\
/ | \
домейни от второ ниво
(dir purdue compaq)

Домейн от основно ниво:

Домейните дефинират различни нива на пълномощия в йерархическата структура. На върха се намира основният домейн (root) . Реферирането към него може да се изрази чрез символа . (точка). Root домейна на DNS базата данни в Интернет се ръководи от Internic.

Домейни от горно ниво:

  • com (комерсиални организации, примерно Compaq)

  • edu (образователни организации, примерно MIT)

  • org (организации с идеална цел)

  • net (мрежи- гръбнакът на Интернет)

  • gov (невоенни правителствени организации)

  • mil (военни правителствени организации)

  • xx (кодове на държави, примерно bg)

  • num (телефонни номера)

  • arpa (реверсивни DNS)

Домейните от горно ниво могат да съдържат домейни от второ ниво и хостове.

Домейни от второ ниво:

Домейните от второ ниво могат да съдържат поддомейни и хостове. Примерно домейна compaq.com може да съдържа компютри, като ftp.compaq.com и поддомейни като dev.compaq.com, който от своя страна може да съдържа хоста (компютъра) server.dev.compaq.com

Имената на хостове в рамките на домейни се добавят в началото на името и се наричат напълно определени домейн имена (FQDN) Например хоста ftp в домейна compaq.com ще има FQDN ftp.compaq.com

Зони на пълномощие:

Зоната на пълномощие (zone of authority) е част от пространството с имена на домейни, за която е отговорен даден именен сървър. Именния сървър съхранява всички адресни съответствия за пространството с имена на домейни в рамките на зоната и отговаря на заявките за тези имена. Зоната на пълномощие обхваща поне един домейн, който се нарича основен (root) домейн за тази зона. Зоната на пълномощие може да обхваща и поддомейни на нейния основен домейн, но не е задължително да включва всички поддомейни на основния домейн.

Роли на именните сървъри

Първични именни сървъри:

Primary name server получава зоновите данни от локални файлове (файлове, подобни по предназначение на hosts файловете). Промените в зоната, като добавяне на нови хостове и нови съответствия IP адрес към име, се правят на ниво първичен именен сървър.

Вторични именни сървъри:

Secondary name server получава данните за своите зони от друг мрежов именен сървър, който има правомощия за тази зона. Получаването на тази информация по мрежата се нарича зонов трансфер (zone transfer). Конкретен именен сървър може да бъде първичен за дадена зона и вторичен за друга зона.

Главни именни сървъри:

Източникът за зонова информация за вторичен именен сървър в DNS йерархията се нарича master name server. Когато се стартира вторичен именен сървър, той се свързва с главния именен сървър и инициира зонов трансфер.

Кеш-сървъри:

Въпреки че всички DNS сървъри кешират заявките, които са преобразували, има специални кеш-сървъри, чиято задача се състои само в подаване на заявка, кеширане на отговорите и връщане на резултатите. С други думи, те нямат локални зонови данни и съдържат само информация, която са кеширали при преобразуване на заявките.

Видове заявки:

  • Рекурсивна (recursive) заявка:

При тази заявка именния сървър или отговаря със заявените данни, или със съобщение за грешка, че заявените данни не съществуват. Именният сървър не може да пренасочи заявителя към друг именен сървър.

  • Итеративна (iterative) заявка:

При тази заявка имения сървър или връща заявените данни, или пренасочва заявителя към друг именен сървър, т.е. връща възможно най-добрият отговор.

  • Инверсна (inverce) заявка:

При тази заявка се преобразува хост име към IP адрес.

Кеширане и TTL:

Когато именен сървър обработва рекурсивна заявка, той кешира цялата получена информация за определено време, което се указва във върнатите данни. Този период от време се нарича Time To Live- TTL ( време на живот). Администраторът на сървъра за зоната определя TTL за данните. Когато данните се кешират, сървъра започва намаляване на TTL, за да може в даден момент да изчисти кеша. По-малките стойности на TTL осигуряват по- голяма достоверност на данните в домейна, но това води до натоварване на именните сървъри.

Резюме:

Поради голямото нарастване на ARPANET беше създадена системата за имена на домейни (DNS). При DNS клиентът, наречен заявител, изпраща заявките към именен сървър. Той от своя страна приема заявките за име и преобразува компютърните имена в IP адреси. Пространството с имена на домейни е йерархично групиране на домейни от основно ниво, от горно ниво, от второ ниво, поддомейни и имена на хостове. Определени сървъри отговарят за дадена част от пространството с имена на домейни, наречена зона на пълномощие. Заявките биват рекурсивни, итеративни и инверсни заявки към DNS сървър.

Назад


Webmaster