Появление доменов

 

Когда сеть Интернет была в стадии начала развития, она состояла из небольшого числа компьютеров, объединенных между собой посредством модемов и телефонных линий. Соединение можно было осуществить, только указав IP адрес компьютера, с которым предполагалось связаться. Например, надо было вводить адрес 217.106.224.1. В этом не было ничего страшного, пока в сети было совсем мало компьютеров. Но это становилось ужасно неудобным по мере увеличения количества компьютеров, входящих в сеть.

Сначала в качестве решения проблемы было избрано использование текстового файла, за обновление которого отвечал Сетевой Информационный Центр Стенфордского Исследовательского Института (Stanford Research Institute's Network Information Center - SRI-NIC). Этот файл назывался таблицей хостов (host table). В этом текстовом файле содержались IP адреса и соответствующие им названия. Обновление файла осуществлялось несколько раз в неделю. Системные администраторы скачивали обновленный файл (по протоколу FTP) и обновляли свои серверы доменных имен*(6).

Скоро этот текстовый файл достиг таких размеров, что работать с ним стало очень неудобно. Несмотря на то, что он прекрасно справлялся с задачей ассоциирования названий с адресами, он не являлся наиболее удобным или эффективным способом обновления и распространения информации. На карту была поставлена стабильность быстро растущего Интернета. Тогда в 1983 г. в Университете Висконсина была создана система доменных имен (DNS - Domain Name System), которая автоматически определяла соответствие текстовых названий и IP адресов. Сначала доменные имена существовали в виде простых словесных обозначений (например, "USC-ISIF"), а в октябре 1984 г. появились первые домены верхнего уровня общего назначения (gTLDs - generic Top-Level Domains)*(7).

В соответствии с документом, получившим название RFC920, целью доменов является обеспечение контроля за использованием имен. Основные требования к домену вызваны необходимостью ответственного администрирования доменных имен. Доменная система представляет собой систему в виде дерева, которое состоит из нескольких доменов верхнего уровня. Домены верхнего уровня подразделяются на домены второго уровня. Домены второго уровня подразделяются на домены третьего уровня и так далее.

Администрирование домена означает контроль за распределением имен внутри этого домена и обеспечение доступа к именам и связанной с ними информации (например, адресам) пользователям как внутри, так и за пределами домена*(8).

Система доменов первого уровня изначально состояла из:

- домена ARPA, что являлось результатом истории развития сети Интернет;

- так называемых доменов по категориям: GOV (правительственный домен), EDU (образовательный домен), COM (коммерческий домен), MIL (военный домен) и ORG (домен для организаций);

- так называемых доменов по странам (здесь использовалось английское обозначение каждой страны, состоящее из двух букв, так называемая alpha 2).

Необходимо повторить, что изначально система DNS была предназначена именно для нахождения конкретных компьютеров и людей, а не сайтов как таковых. В качестве примера, указанного в RFC920, приводилось доменное имя CEZANNE.MIT.EDU, с помощью которого можно было найти компьютер, принадлежащий пользователю с именем CEZANNE, который являлся частью сети Мичиганского университета технологии, который в свою очередь входил в образовательный домен.

Самое удивительное в системе DNS то, что не существует какой-либо одной организации, ответственной за ее обновление. Она существует в виде распределенной базы данных, которая размещена на разных серверах по всему миру, причем ни на одном сервере эта база данных не представлена в своей совокупности.

Лишь с появлением большого количества веб-сайтов основная роль доменных имен стала сводиться к нахождению собственно сайтов, а не компьютеров как таковых.

Но основной принцип использования текстовых названий для нахождения компьютеров в сети Интернет остался прежним. Речь идет об ассоциировании IP адресов с буквенно-словесными обозначениями. Таким образом, для того, чтобы попасть на сайт Copyrighter.Ru, пользователю необходимо запомнить адрес www.copyrighter.ru.

Вместе с тем необходимо понимать и помнить, что для того, чтобы компьютер связался с сервером, не нужно ничего, кроме простого IP адреса. Например, Вы можете набрать в браузере http://217.106.224.1, и Вы попадете на сервер, на котором расположен сайт Copyrighter.Ru*(9). Доменные имена придуманы лишь для удобства людей.

Если бы нам приходилось запоминать IP адреса всех сайтов, которые мы посещаем каждый день, мы бы давно сошли с ума. Людям не свойственно запоминать последовательности цифр. Однако они неплохо справляются с запоминанием слов. Вот для чего нужны доменные имена. Уверен, вы прекрасно помните сотни доменных имен. В качестве первых пришедших мне в голову примеров назову:

- www.copyrighter.ru - авторско-правовой проект автора этой книги;

- www.google.com - один из популярных поисковиков;

- artbiter.wipo.int - сайт Центра ВОИС по арбитражу и посредничеству (обратите внимание, на то, что он не начинается с www);

- ftp.microsoft.com - FTP-сервер компании Microsoft (а не веб-сервер, с помощью которого можно просматривать сайт Microsoft.Com):

Части вышеприведенных адресов - RU, COM, INT являются так называемыми доменными именами верхнего уровня, или доменными именами первого уровня. Существует несколько сотен доменных имен первого уровня, включая COM, EDU, GOV, MIL, NET, ORG и INT, а также уникальные комбинации из двух букв для каждой страны мира.

Внутри каждого домена верхнего уровня существует огромный список доменов второго уровня. Например, в домене первого уровня COM существуют доменные имена второго уровня google, yahoo, msn, microsoft и миллионы других имен*(10).

Каждое имя в пределах домена верхнего уровня должно быть уникальным. При этом вполне возможно использование одинаковых имен в разных доменах верхнего уровня. Например, copyrighter.ru и copyrighter.com ссылаются на абсолютно разные компьютеры.

Самое первое слово в адресе, например, в приведенных выше доменных именах - www или arbiter, это название хоста. Оно определяет название конкретного компьютера (с конкретным IP адресом) в домене. В каждом домене может находиться огромное множество хостов, главное, чтобы у каждого из них было уникальное имя. Кстати, столь часто употребляемое "www" является точно таким же названием хоста, как и любое другое: просто на заре становления Интернета имя "www" присваивалось компьютеру, при доступе к которому, в отличие от лимитированного доступа к чужим файлам, можно было увидеть тот или иной вебсайт.

Существуют также доменные имена, состоящие из более чем трех частей. Например, www.bbc.co.uk. В этом случае bbc - это доменное имя третьего уровня (а www - имя хоста). Теоретически возможно использование до 127 уровней доменных имен, хотя использование доменов ниже четвертого уровня практически не встречается*(11).

Поскольку все имена в рамках одного домена первого уровня должны быть уникальны, необходимо обеспечить, чтобы в списке не появлялись одинаковые названия. Например, в домене COM не могут существовать идентичные названия. За этим следит компания Network Solutions. Регистрация доменных имен осуществляется через одного из нескольких десятков регистраторов, которые сотрудничают с Network Solutions. Эти регистраторы вносят изменение в свои списки, Network Solutions в свою очередь ведет централизованную базу данных, которую обычно называют базой whois, в которой содержится информация о владельце и name-серверах для каждого домена.

Но в данном случае речь идет именно о домене COM, в пределах которого Network Solutions осуществляет контроль за регистрацией доменных имен. В отношении доменов третьего уровня, например, в пределах домена MICROSOFT.COM, контроль за регистрацией доменных имен Network Solutions не осуществляет. Вся ответственность за регистрацию доменных имен третьего уровня в пределах домена второго уровня MICROSOFT лежит на одноименной корпорации, на имя которой зарегистрирован этот домен второго уровня в рамках домена первого уровня COM.

И в завершение этой главы я вкратце в виде таблицы опишу, как работает система DNS с точки зрения обычного пользователя. Итак, что же происходит между тем моментом, когда пользователь набирает в браузере адрес, и до того, когда пользователь на экране монитора увидит сайт.

 

 ———————————————————————————————————————————————————————————————————————

|1. Пользователь соединяется с помощью  модема  и  телефонной  линии  со|

|своим Интернет-провайдером.                                            |

|2. Пользователь набирает  в  браузере  адрес  или  щелкает  по  ссылке.|

|Допустим, речь идет об адресе: "http//www/domain.com/file.htm".        |

|3. Браузер делит адрес на составляющие - а) протокол  ("htp"),  б)  имя|

|сервера (www.domain.com/file.htm").                                    |

|4.  Модуль  операционной  системы  его  компьютера,  ответственный   за|

|протокол TCP/IP, посылает в отношении имени сервера  DNS  -  запрос  на|

|сервер, указанный первым  в  конфигурации  компьютера.  Это  DNS-сервер|

|Интернет-провайдера пользователя.                                      |

|5. DNS-сервер  Интернет-провайдера  ищет  в  своем  кэше  (cache)  имя,|

|которое запросил пользователь, и ассоциированный с ним IP адрес. В  кэш|

|провайдера попадают все имена  которые  были  недавно  запрошены  всеми|

|пользователями сети провайдера. Кэш регулярно обновляется обычно раз  в|

|день с тем, чтобы удобство быстрого нахождения  адреса  не  подменялось|

|неудобством получения устаревшей информации.                           |

 ———————————————————————————————————————————————————————————————————————

                  —————————————————————————————————————

                 |                                     |

 ——————————————————————————————————    —————————————————————————————————

|DNS-сервер     Интернет-провайдера|  |DNS-сервер    Интернет-провайдера|

|находит  доменное  имя   в   своем|  |не находит доменное имя в   своем|

|кэше.                             |  |кэше.                            |

 ——————————————————————————————————    —————————————————————————————————

 |                                                      |

 |      ————————————————————————————————————————————————————————————————

 |     |DNS-сервер  Интернет-провайдера  ищет  заданное  имя   во   всех|

 |     |доменах, для которых Интернет-провайдер поддерживает DNS  -  как|

 |     |первичный, так и вторичный.                                     |

 |      ————————————————————————————————————————————————————————————————

 |                ——————————————————————————————————————|

 |               |                                      |

 | ———————————————————————————————————  ————————————————————————————————

 ||DNS-сервер      Интернет-провайдера||DNS-сервер   Интернет-провайдера|

 ||находит доменное имя среди доменов,||не находит доменное   имя  среди|

 ||для которых  провайдер поддерживает||доменов,  для  которых провайдер|

 ||DNS.                               ||поддерживает DNS.               |

 | ———————————————————————————————————  ————————————————————————————————

 | |                                                    |

 | | ———————————————————————————————————————————————————————————————————

 | ||1.    DNS-сервер    Интернет-провайдера    посылает    запрос    на|

 | ||A.Root-Servers.Net или на  другой  корневой  DNS-сервер,  если этот|

 | ||сервер не доступен.                                                |

 | ||2. Кореневой DNS-сервер просматривает свои записи для домена "com".|

 | ||3. Кореневой DNS-сервер находит запись о запрашиваемом домене.     |

 | ||4.   Кореневой   DNS-сервер   отсылает   данные   о   name-серверах|

 | ||запрашиваемого домена (первичном, вторичном и дополнительных,  если|

 | ||они есть) DNS-серверу Интернет-провайдера.                         |

 | ||5. Теперь у DNS-сервера Итернет-провайдера есть  адрес  DNS-сервера|

 | ||запрашиваемого домена.                                             |

 | ||6. DNS-сервер Интернет-провайдера посылает запрос  "www.domain.com"|

 | ||DNS-серверу запрашиваемого домена.                                 |

 | ||7. DNS-сервер запрашиваемого домена "domain.com" отвечает: "Да, это|

 | ||я отвечаю за этот домен. У меня есть запись о хосте "www".         |

 | ||8. DNS-сервер домена "domain.com"  отсылает  IP  адрес  хоста "www"|

 | ||DNS-серверу Интернет-провайдера.                                   |

 | ||9. DNS-сервер Интернет-провайдера запоминает данные  от  только что|

 | ||полученном IP адресе в своем кэше.                                 |

 | | ———————————————————————————————————————————————————————————————————

 | |                                                    |

 ———————————————————————————————————————————————————————————————————————

|1. DNS-сервер Интернет-провайдера отсылает  запрашивающему  клиенту  IP|

|адрес, который ассоциирован с этим доменным именем.                    |

|2. Браузер соединяется с сервером по данному IP адресу.                |

|3. По протоколу HTTP браузер посылает серверу  запрос  GET,  запрашивая|

|файл "http//www/domain.com/file.htm".                                  |

|4. Сервер посылает HTML-файл веб-страницы браузеру пользователя.       |

|5.  Браузер  обрабатывает  текстовый   файл,   формируя   веб-страницу,|

|используя язык HTML.                                                   |

 ———————————————————————————————————————————————————————————————————————

 

Самое удивительное, что все шаги в этой цепочке обычно выполняются за доли секунды.

Интересно также сделать несколько замечаний по поводу кэша DNS-сервера Интернет-провайдера. Кэш в данном случае является локальной копией таблицы хостов, которые были недавно запрошены пользователями сети Интернет-провайдера. Поскольку, как уже отмечалось, кэш DNS-сервера служит более быстрому нахождению нужного IP адреса без запрашивания DNS-серверов более высокого уровня, необходим баланс между слишком частым обновлением кэша (что приведет к профанации самой идеи создания кэша) и слишком редким обновлением кэша (что приведет к тому, что слишком часто пользователи будут получать устаревшую информацию об IP адресах, в результате чего в качестве ответа на запрос пользователи зачастую могут увидеть страницу о невозможности соединиться с сервером, либо соединяться с совершенно другим сервером).

Приведу наглядный пример. Достаточно долго мой сайт Copyrighter.Ru не имел выделенного IP адреса. Для того, чтобы давать в этой книге примеры, основанные на моем собственном сайте, я решил сделать так, чтобы он получил выделенный IP адрес, тем более, что дополнительных денег за это мой хостинг-провайдер не берет.

Я зашел на сайт хостинг-провайдера и там указал, что хочу получить выделенный IP адрес для сайта www.copyrighter.ru. Через пару секунд на экране появилось сообщение, что изменения внесены.

Что произошло на самом деле? Хостинг-провайдер, который отвечает за name-серверы, содержащие информацию о доменном имени copyrighter.ru и об IP адресе сервера, на котором размещается сайт Copyrighter.Ru, обновил информацию об IP адресе, который должен ассоциироваться с доменным именем www.copyrighter.ru.

Теперь, набрав 217.106.224.1, я попадал на свой сайт. Но когда я набрал в браузере www.copyrighter.ru, я получил в ответ сообщение о том, что сервер не найден. Почему это произошло? Да потому, что в кэше DNS-сервера моего Интернет-провайдера был прописан старый IP адрес, на который ранее ссылалось доменное имя www.copyrighter.ru.

Но когда я попросил своего приятеля из США, который точно никогда не заходил на мой сайт, набрать в браузере www.copyrighter.ru и сказать мне, что он увидит, он сказал, что у него без проблем открылся сайт Copyrighter.Ru. Это произошло, потому что в кэше DNS-сервера его Интернет-провайдера не было никакой информации о доменном имени copyrighter.ru, и поэтому была запрошена самая свежая информация.

Мне же в течение почти полутора суток приходилось пользоваться цифровой формой набора адреса своего сайта - до тех пор, пока мой Интернет-провайдер не обновил кэш своего DNS-сервера.

Не скрою, ужасно неудобно каждый раз набирать ничего не значащие цифры, разделенные точками.

 

«все книги     «к разделу      «содержание      Глав: 18      Главы: <   3.  4.  5.  6.  7.  8.  9.  10.  11.  12.  13. >