Система 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 (того, где физически находится сайт)
|