Четверг, 18.04.2024, 22:47

Hack FoR LiFE inTeRnet -                        "hackersoft"

Вы вошли как Гость | Группа "Залетные"| 
Категории раздела
Статьи [30]
история Украины [33]
метрология [25]
психология [30]
прочее [0]
тут вы найдете информацию
+18 [0]
Мини-чат
опрос
какая у вас ОС?
Всего ответов: 554
облако
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
...

Каталог статей

Главная » Статьи » Статьи

Что такое "система DNS" и с чем ее едят
Система DNS (Domain Name System - доменная система имен) служит для преобразования имен хостов (удобных для запоминания) в айпи-адреса, понятные собственно самим компьютерам.

Эта система имеют иерархичную структуру, при чем как в именах, так и в физической организации, каждый уровень иерархии называется уровнем домена (или поддоменом). На самом высоком, первом, уровне имен доменов находятся все региональные и специальные домены, набор которых жестко регламентирован международными организациями. Например: com net org ru ua us lv eu info и т.д. В любом домене первого уровня можно создать домен второго уровня, приписав его название слева через точку:
my.com ucoz.ru mysite.ua и т.п. Точно так же можно записать домены третьего уровня:
alex.my.com super.mysite.ua www.ucoz.ru и т.п. Чтобы понять, кто имеет право создавать домены второго и более высоких уровней, нужно обратиться к физической организации.

Физически, как сказано выше, система DNS также является иерархичной. Преобразованием доменных имен в айпи-адреса занимаются специальные DNS-сервера и это преобразование выполняется за несколько этапов, путем опроса цепочки таких серверов. Причина проста: один или даже несколько серверов не способны содержать в себе все созданные доменные имена. На самом верху стоят так называемые "коренные DNS-сервера" (root servers). Их несколько, но исключительно для распределения нагрузки и отказоустойчивости всей системы. Их айпи-адреса жестко прописаны на всех других DNS-серверах. В частности, у любого пользователя Интернет в компьютере прописан один или несколько адресов DNS-серверов, чаще всего взятых от провайдера, а уже на них прописаны адреса коренных DNS-серверов. Коренные сервера "пропускают" через себя все запросы на преобразование имен. Их задача - посмотреть на домен первого уровня в указанном имени и сообщить, какому DNS-серверу отправить запрос дальше, чтобы найти окончательный ответ (а именно айпи-адрес). Это называется "делегированием полномочий". Т.е., например, весь домен ru обслуживается российскими DNS-серверами, им было делегировано право на этот домен, даны полномочия создавать в этом домене поддомены второго уровня. И так по цепочке дальше. Любой домен второго уровня может быть делегирован произвольному DNS-серверу (их обычно несколько, для надежности, функции дублируются). В любом домене второго уровня можно выделить домен третьего уровня и делегировать его кому-то еще. Но обычно, все-таки, конечные пользователи (физ. и юр. лица) регистрируют себе домены второго уровня, реже третьего (вроде site.net.ru). Регистрация чаще всего платная, т.к. и коренные сервера и сервера, обслужвающие региональные домены требуют ухода.

Владение доменом подразумевает, что владелец имеет право ПОЛНОСТЬЮ распоряжаться тем, какие сервера будут обрабатывать конечные запросы в этом домене, какие имена содержатся в его домене и, возможно, какие домены более высокого уровня и кому делегируются. Отсюда нужно вынести вывод: домен должен обрабатываться какими-то серверами, или, другими словами, он должен где-то "хоститься" или быть "припаркованным". Главные DNS-сервера того же домена ru могут только сообщить пользователю, к какому серверу послать запрос дальше, где искать окончательный ответ.
Большинство регистраторов (организаций, которые продают домены) предоставляют бесплатную услугу парковки домена на своих серверах и дают интерфейс для внесения указанных выше модификаций в параметры домена (т.е. для выполнения всех действий, на которые вы как владелец домена имеете право - как минимум изменять адреса ответственных DNS серверов). В случае, если домен остается припаркованным на серверах регистратора, интерфейс должен позволять также добавить в домен любые имена. Конечное задание соответствия конкретного имени в вашем домене айпи-адресу делается просто, нужно указать имя и айпи-адрес. В интерефейсах для продвинутых это может называться "созданием A-записей" (A - address). Имя может быть пустым, если задается адрес для базового имени (без поддомена). Если не пользоваться серверами регистратора, то интерфейс должен позволять указать адреса ваших DNS-серверов, т.е. серверов, где домен рально припаркован, и которые готовы обслуживать по нему запросы. Это может называться "указанием NS-записей" (NS - Name Server).
Для практической иллюстрации и проверок будем пользоваться программой nslookup, которая имеется в Windows XP (и, наверно, в 2000) и в любой юникс-системе. Чтобы запустить программу под Windows, в меню "Пуск" найдите "Выполнить.." (или нажмите клавиши Win-R), наберите в поле "cmd", нажмите Enter, в появившемся окне наберите nslookup, нажмите Enter.
Теперь нужно набрать: Code
set q=ns
. (точка)


и появится нечто вроде Code
Server: *********
Address: *********

Non-authoritative answer:
(root) nameserver = b.root-servers.net
(root) nameserver = c.root-servers.net
(root) nameserver = d.root-servers.net
(root) nameserver = e.root-servers.net
(root) nameserver = f.root-servers.net
(root) nameserver = g.root-servers.net
(root) nameserver = h.root-servers.net
(root) nameserver = i.root-servers.net
(root) nameserver = j.root-servers.net
(root) nameserver = k.root-servers.net
(root) nameserver = l.root-servers.net
(root) nameserver = m.root-servers.net
(root) nameserver = a.root-servers.net

a.root-servers.net internet address = 198.41.0.4
b.root-servers.net internet address = 192.228.79.201
c.root-servers.net internet address = 192.33.4.12
d.root-servers.net internet address = 128.8.10.90
e.root-servers.net internet address = 192.203.230.10
f.root-servers.net internet address = 192.5.5.241
g.root-servers.net internet address = 192.112.36.4
h.root-servers.net internet address = 128.63.2.53
i.root-servers.net internet address = 192.36.148.17
j.root-servers.net internet address = 192.58.128.30
k.root-servers.net internet address = 193.0.14.129
l.root-servers.net internet address = 198.32.64.12
m.root-servers.net internet address = 202.12.27.33


сервера с адресами вида j.gtld-servers.net - не что иное, как коренные. Все запросы системы DNS проходят через них. Давайте и мы ими воспользуемся. Выбираем айпи-адрес любого сервера, например 198.41.0.4, и выполняем команду: Code
server 198.41.0.4


Получаем: Code
Default Server: a.root-servers.net
Address: 198.41.0.4


А теперь узнаем, на каких серверах содержится информация о доменах .ru: Code
ru.


получаем: Code
Server: a.root-servers.net
Address: 198.41.0.4

Non-authoritative answer:
ru nameserver = AUTH60.NS.UU.NET
ru nameserver = NS2.NIC.FR
ru nameserver = NS.RIPN.NET
ru nameserver = NS2.RIPN.NET
ru nameserver = SUNIC.SUNET.SE
ru nameserver = NS1.RELCOM.ru
ru nameserver = NS5.MSK-IX.NET
ru nameserver = NS9.RIPN.NET

AUTH60.NS.UU.NET internet address = 198.6.1.181
NS2.NIC.FR internet address = 192.93.0.4
NS.RIPN.NET internet address = 194.85.119.1
NS2.RIPN.NET internet address = 194.226.96.30
SUNIC.SUNET.SE internet address = 192.36.125.2
NS1.RELCOM.ru internet address = 193.125.152.3
NS5.MSK-IX.NET internet address = 193.232.128.6
NS9.RIPN.NET internet address = 194.85.252.62


К любому из этих серверов можно сделать запрос на любой поддомен в домене ru: Code
> server 192.36.125.2
тут может вывестить список ненужных нам адресов...
Default Server: [192.36.125.2]
Address: 192.36.125.2


собственно запрос: Code
> ucoz.ru.
Server: [192.36.125.2]
Address: 192.36.125.2

ucoz.ru nameserver = ns2.ucoz.ru
ucoz.ru nameserver = ns1.ucoz.ru
ucoz.ru nameserver = ns3.ucoz.ru
ns1.ucoz.ru internet address = 217.16.29.178
ns2.ucoz.ru internet address = 212.176.124.197
ns3.ucoz.ru internet address = 83.222.11.33


и что мы видим? Домен ucoz.ru обслуживается серверами ns1.ucoz.ru, ns2.ucoz.ru и ns3.ucoz.ru.
Посылаем запрос к любому из них, чтобы узнать айпи-адрес для имени www.ucoz.ru: Code
> server 217.16.29.178
....ерунда всякая....
Default Server: [217.16.29.178]
Address: 217.16.29.178

> set q=a
> www.ucoz.ru.
Server: [217.16.29.178]
Address: 217.16.29.178

Name: www.ucoz.ru
Address: 217.73.201.52


Обратите внимание на команду "set q=a", она необходима, чтобы сказать программе nslookup получать именно "А-записи", в которых указывается конечное соответствие имен айпи-адресам. До этого мы использовали "set q=ns" для получения NS-записей.

Ответ сервера "Address: 217.73.201.52" и является тем, что мы искали, адресом для имени www.ucoz.ru.

Повторим то же для другого домена, прикрепленного к сайту на uCoz методом 1 (путем указания наших DNS-серверов в настройке домена) - домен puzan.ru. Как это должно быть. Перезапускаем nslookup (для выхода нужно выполнить "exit"). Помним один из серверов для доменов ru, я лично запомнил ns2.ripn.net. Если не помните, не знаете, то смотрите процедуру выше. Code
C:\Documents and Settings\>nslookup
Default Server: ********
Address: *********

> server ns2.ripn.net
Default Server: ns2.ripn.net
Address: 194.226.96.30

> set q=ns
> puzan.ru.
Server: ns2.ripn.net
Address: 194.226.96.30

puzan.ru nameserver = ns3.ucoz.ru
puzan.ru nameserver = ns1.ucoz.ru
puzan.ru nameserver = ns2.ucoz.ru
ns1.ucoz.ru internet address = 217.16.29.178
ns2.ucoz.ru internet address = 212.176.124.197
ns3.ucoz.ru internet address = 83.222.11.33


Здесь все правильно, для домена установлены наши DNS, на которых для имен puzan.ru и www.puzan.ru уже прописаны нужные айпи-адреса: Code
> server 217.16.29.178
......возможна всякая ерунда тут........
Default Server: [217.16.29.178]
Address: 217.16.29.178

> set q=a
> www.puzan.ru.
Server: [217.16.29.178]
Address: 217.16.29.178

Name: puzan.ru
Address: 217.73.201.55
Aliases: www.puzan.ru


217.73.201.55 - адрес нашего второго сервера.

Посмотрим, что будет в случае несуществующего домена или домена, для которого не были указаны никакие DNS-сервера: Code
C:\Documents and Settings\>nslookup
Default Server: *********
Address: **********

> server ns2.ripn.net
Default Server: ns2.ripn.net
Address: 194.226.96.30

> set q=ns
> paravozik.ru.
Server: ns2.ripn.net
Address: 194.226.96.30

*** ns2.ripn.net can't find paravozik.ru: Non-existent domain


Как здесь видно, на одном из главных серверов домена ru нету информации о поддомене paravozik. Это проблема исключительно настройки домена его владельцем. В данном случае этот домен уже прописан на наших серверах по просьбе пользователя, но т.к. на главном сервере российской зоны информации нет, работать он не будет все равно: Code
C:\Documents and Settings\>nslookup
Default Server: ********
Address: *********

> server ns1.ucoz.ru
Default Server: ns1.ucoz.ru
Address: 217.16.29.178

> set q=ns
> paravozik.ru.
Server: ns1.ucoz.ru
Address: 217.16.29.178

paravozik.ru nameserver = ns3.ucoz.ru
paravozik.ru nameserver = ns1.ucoz.ru
paravozik.ru nameserver = ns2.ucoz.ru
ns1.ucoz.ru internet address = 217.16.29.178
ns2.ucoz.ru internet address = 212.176.124.197
ns3.ucoz.ru internet address = 83.222.11.33

И рассмотрим случай корректного прикрепления домена вторым способом, по айпи, без участия наших адресов: Code
C:\Documents and Settings\>nslookup
Default Server: ********
Address: *********
> server ns2.ripn.net
Default Server: ns2.ripn.net
Address: 194.226.96.30

> set q=ns
> safonovo.ru.
Server: ns2.ripn.net
Address: 194.226.96.30

safonovo.ru nameserver = ns2.i-node.ru
safonovo.ru nameserver = ns1.i-node.ru
ns1.i-node.ru internet address = 72.232.197.82
ns2.i-node.ru internet address = 72.232.209.16
> server 72.232.197.82
....................
Default Server: [72.232.197.82]
Address: 72.232.197.82

> set q=a
> www.safonovo.ru.
Server: [72.232.197.82]
Address: 72.232.197.82

Name: www.safonovo.ru
Address: 217.73.201.55
> safonovo.ru.
Server: [72.232.197.82]
Address: 72.232.197.82

Name: safonovo.ru
Address: 217.73.201.55


Здесь домен припаркован на серверах ns1.i-node.ru и ns2.i-node.ru, а в настройках домена явно прописан айпи-адрес правильного сервера uCoz (того, где физически находится сайт)


Категория: Статьи | Добавил: mank (02.12.2009)
Просмотров: 762 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]