Что такое домены и что такое DNS
Для большинства пользователей Интернета понятие «домен» однозначно идентифицируется с именем компьютера или сервера. Однако любой профессионал в этой области скажет вам, что домен имеет лишь косвенное отношение к адресу сервера. Для рядового пользователя это высказывание прозвучит странно, ведь обычно мы вводим в адресной строке доменное имя и попадаем на страницу нужного нам сайта. На самом деле обращение к серверу или на сайт происходит в несколько этапов, хотя для конечного пользователя эти промежуточные этапы скрыты.Если попробовать зайти на всем известный поисковик google.com с помощью цифровой комбинации 74.125.79.147 мы получим точно такой же результат. В чём же фокус? Для того чтобы ответить на этот вопрос, стоит коснуться истории появления доменных имён и Интернета в целом.
В те давние времена, когда Интернет едва вылез из своей военной колыбели ARPANET (Advanced Research Projects Agency Network), компьютеров в сети было немного, и цели их функционирования в сети были далёкими от развлечений. А потому соединения между компьютерами производились по цифровым кодам (IP-адресам). Но, чем шире распространялась сфера применения Интернета, чем больше людей и техники входило в эту сеть, тем понятнее становилось, что нужно упрощать процедуру обращения к серверам. Тогда доктор Джон Постель предложил использовать таблицы соответствия IP-адресов и удобочитаемых имён для серверов. То есть, Джон Постель был одним из авторов создания, так называемых, файлов hosts (от host – один из узлов в Интернете, компьютер или активное сетевое устройство), в которых содержалась информация о соответствии IP адреса и упрощённого буквенного имени узла. Например, так:
127.0.0.1 localhost
74.125.79.147 google
И так далее….
Подобный файл hosts можно было скачать через протокол FTP и пользоваться на любом компьютере.
Прошло время, и количество компьютеров в Интернете безудержно возрастало. На тот момент стало сложно не только скачивать разросшийся файл hosts, а даже своевременно синхронизировать его на всех компьютерах в сети.
На помощь пользователям в 1984 году пришёл Пол Мокапетрис , который предложил создать DNS (Domain Name System – систему доменных имён), то есть систему взаимно реплицирующихся серверов, на которых должна была храниться информация о соответствии конкретного IP-адреса доменному имени. Документами, регламентирующими работу DNS, стали (первоначально) RFC-882 и RFC-883, затем их доработали, внесли поправки и утвердили под названиями RFC-1034 и RFC-1035. Кроме того, сам Пол Мокапетрис разработал программную реализацию данных документов под названием JEEVES, которая функционировала на базе операционной системы TOPS-20 (операционная система TOPS-20 использовалась на популярных, в то время миникомпьютерах компании DEC). Пол Мокапетрис предлагал использовать эту программу администраторам сети MILNET (Military Network – часть сети ARPANET, предназначенная для передачи трафика Министерства обороны США) в документе RFC-1031.
Если не углубляться в сложное техническое содержимое этих регламентирующих документов, то можно сказать так: в рамках DNS положение собственно доменного имени в сети не изменилось. Оно - второстепенное и выполняет прикладную «мнемоническую» роль (то есть упрощает запоминание и процесс обращения). Основой работы DNS остаётся всё тот же IP-адрес на базе протоколов TCP/IP. При вводе названия сайта браузер обращается не к файлу со списком соответствий «домен-IP», а отправляет свой запрос ближайшему DNS-серверу, который хранит у себя актуальный список подобных соответствий и направляет вас на активный IP-адрес. Причём, одному домену может соответствовать несколько IP-адресов. Объясняется это просто – ведь нагрузка на некоторые сайты крайне велика за счёт большого количества посетителей, поэтому владельцы таким образом «разгружают» серверы. Таким же образом, физическое устройство (сервер или маршрутизатор) может иметь несколько доменных имён, что в отличие от файлов hosts, позволяет реализовывать отношения по принципу «многие ко многим» (т.е., когда одному IP-адресу может соответствовать несколько DNS-имен и одному DNS-имени может соответствовать несколько IP-адресов).
В любой реализации DNS остаётся иерархической структурой, а если быть совсем точным, то - структурой вложенных множеств. Это значит, что имеется, так называемый, «корень» доменной системы или «root» (в переводе с английского это и есть «корень»), который содержит в себе все остальные подмножества доменных имён. Далее, ниже по иерархической цепочке, следуют домены высшего уровня или TLD-домены (Top Level Domain). Эти домены объединяются в несколько формальных подмножеств, такие, как домены, обозначающие принадлежность к определённому государству, например, ru, by, uk, us и так далее; домены, обозначающие функциональную принадлежность: gov –правительственные, com – коммерческие, edu – образовательные и так далее; есть и более мелкие домены верхнего уровня – корпоративные, домены международных организаций и так далее. Если следовать вниз по иерархическим ступеням доменной системы, то мы перейдём к доменам, которые определяют принадлежность к организации или региону, например, spb, msk, kiae и так далее. На сегодняшний день не только любое предприятие или организация может закрепить за собой домен второго уровня, но и любое физическое лицо. Главное, чтобы домен уже не заняли до вас!

Рис. 1. Организационная структура DNS.
Легко догадаться, что на этом развитие DNS в целом и доменных имён в частности не остановилось. Так как «родиной» Интернета вообще и конкретно DNS являются США, то не удивительно, что спецификация DNS первоначально позволяла именовать домены только латинскими символами в специальной кодировке: это могли быть только английские буквы от А до Z и арабские цифры от 0 до 9. Однако Интернет очень быстро распространялся по миру, и к началу девяностых годов им были охвачены уже и те страны, где английский язык не был основным. И для не англоязычных пользователей возникли трудности при работе с DNS на основе латинской кодировки, а так как этих пользователей было больше миллиарда, то оставлять их мнение без внимания было не разумно. Поэтому началась работа над проектом IDN (Internationalized Domain Names), то есть над разработкой документации для последующего внедрения имён доменов, которые бы содержали не только латинские символы. Занималась этими разработками корпорация ICANN (Internet Corporation for Assigned Names and Numbers), ею было даже выделено структурное подразделение для этих целей – IETF (Internet Engineering Task Force) , которое уже к две тысячи третьему году предоставило документацию для спецификации доменных имён на основе национальных символов. Внедрение этой спецификации началось с Китая, Японии, Тайваня, то есть тех стран, где возникали особые сложности с DNS, так как словообразование этих стран базируется на иероглифах. Позже в этот процесс были вовлечены и остальные страны. Кроме национально ориентированных TLD доменов подобной трансформации подверглись и ряд других доменов верхнего уровня, таких как – info, com, org и так далее.
Естественно, что группа IETF не остановилась на достигнутом и уже в 2007 году начались испытания «национальных» доменов верхнего уровня с учетом языковых особенностей разных стран. Сразу одиннадцать доменов, аналогичных домену Example.test появились в Интернете. Для российского сегмента Интернета выделили http://пример.испытание. Уже в следующем году итоги эксперимента были одобрены руководством ICANN и на следующей конференции корпорации (в 2009 году) было принято решение в ускоренном режиме (Fast Track) внедрять результаты этого эксперимента.
Россия стала одной из немногих стран «первой очереди», которым было предоставлено делегирование TLD домена в не латинском написании. И в связи с этим 12 мая 2010 России был делегирован домен РФ.
Воодушевлённая отличными результатами, и чёткостью работы процедуры Fast Track корпорация ICANN уже выделила домены верхнего уровня IDN спецификации таким странам как ОАЭ, Египет, Саудовская Аравия. Следующими будут Шри-Ланка, Китай, Гонконг и ещё восемнадцать стран, которые подали заявки (причём, рассмотрение девяти из них почти завершены). Как предполагают аналитики ICANN, всего в рамках этой программы будет делегировано более пятидесяти доменов.
Основными сложностями на пути реализации программы IDN было то, что сама технология DNS не подразумевает технической реализации поддержки доменов в кодировках, отличных от латинского написания. С внедрением IDN доменов в концепции DNS ничего не изменилось. Лишь в программную реализацию DNS добавили алгоритм Punycode, смысл работы которого заключается в том, что, получив строку с именем домена в кодировке отличной латиницы, он переводит его в понятный для DNS вид, добавляя в начале перекодированного имени префикс «xn--». Это позволяет осуществлять обратное кодирование в удобочитаемый для пользователя вид доменного имени. То есть сам DNS сервер, по-прежнему, получает латинское наименование домена, но конечный пользователь от этого никаких неудобств не испытывает.
Корпорация ICANN, как и многие другие коммерческие и некоммерческие организации, постоянно продолжает работы по поиску возможных вариантов как для совершенствования системы DNS, так и для альтернативных решений. Ведь главное на текущий момент, к чему стремятся заинтересованные стороны – это удобство для конечного пользователя.








