Свое начало система доменных имен берет в 50-х — 60-х годах прошлого века. Тогда она помогла упростить адресацию хостов в сети ARPANET и очень быстро перешла от обслуживания сотен компьютеров к работе с сотнями миллионов. Рассказываем, с чего начиналась DNS.
Фото — Andrew Hart — CC BY-SA
Появление ARPANET
В 1958 году правительство США основало Агентство передовых исследовательских проектов (ARPA). Усилия организации направили на разработку технологий в сфере хранения и передачи данных. В 60-х годах агентство получило новое аппаратное обеспечение — компьютер Q-32 — одну из крупнейших вычислительных систем на транзисторах весом более 60 тонн. Она имела сразу два запоминающих устройства на магнитных барабанах, каждое из которых считывало и записывало по 50 бит информации. В то время Q-32 использовали для решения задач Министерства обороны США.
Тогда данные между вычислительными системами переносили с помощью перфокарт, что существенно усложняло и замедляло расчёты. Поиск нового решения военные доверили агентству ARPA в 1968 году. Его инженеры объединились с коллегами из MIT и разработали протокол пакетной коммутации. С его помощью они «связали» Q-32 с университетской машиной TX-2 (именно на ней пионер интернета Айвен Сазерленд написал Sketchpad — прародителя современных CAD).
Протокол совершенствовали всю первую половину 1969 года. Специалисты работали над уровнями взаимодействия компьютеров в сети: аппаратным, программным и модемным. Во второй половине года провели первое испытание технологии. Сеть состояла из двух терминалов, установленных на расстоянии 600 км в Калифорнийском и Стэнфордском университетах. В качестве терминалов выступили 16-разрядные мини-компьютеры Honeywell DDP-316 с 12 кибибайтами оперативной памяти. Во время теста первый оператор вводил слово login на одной машине, а второй подтверждал, что видит его на экране другой. Эксперимент прошел удачно, положив начало сети ARPANET.
Проблема адресации в сети
Сеть ARPANET стали использовать университеты, телекоммуникационные компании и учёные из разных областей науки. В 80-х к ней были подключены целых 320 компьютеров. Такое количество устройств породило проблему — стало сложно работать с адресами. Для обмена данными каждый из подключенных компьютеров скачивал файл HOSTS.TXT с информацией об остальных хостах. Этот файл существовал в единственном экземпляре на сервере, размещенном в Стэнфордском исследовательском институте. Пользователям становилось все сложнее работать с раздутым списком, учитывая тот факт, что идентификаторы при подключении приходилось прописывать вручную.
Фото — UCLA and BBN — CC BY-SA
Особенно сильно проблема была заметна во время отправки электронных писем. Чтобы переслать сообщение с одного компьютера на другой, пользователь должен был сам указать путь для его передачи между системами. Задачу усложнял тот факт, что отдельные устройства могли выходить в сеть в разное время дня. Выглядел коммуникационный путь примерно следующим образом:
utzoo!decvax!harpo!eagle!mhtsa!ihnss!ihuxp!grg
Путь представлял собой цепочку из хостов, разделённых служебным символом (!). В конце последовательности прописывалось имя системы получателя сообщения. Если пользователь не знал коммуникационный путь, то он не мог отправить электронное письмо. И в 1982 году группа специалистов из компании Network Working Group (NWG), возглавляемая Стивом Крокером (Steve Crocker), который изобрел Request For Comments, представила решение — концепцию доменных имен (RFC805). Инженеры разработали специальное программное обеспечение, которое автоматизировало поиск маршрутов и позволило адресовать сообщения любому хосту напрямую. Базовые принципы, заложенные в RFC805, стали отправной точкой для запуска привычной нам системы доменных имен.
Рождение DNS
В 1983 году инженеры Пол Мокапетрис (Paul Mockapetris) и Джон Постел (Jon Postel) решили распространить концепцию, описанную в RFC805, на всю сеть ARPANET. Они подготовили два новых RFC, в которых изложили основы DNS. В RFC882 «Domain Names: Concepts and Facilities» были описаны возможности системы доменных имен, а в RFC883 «Domain Names: Implementation and Specification» приведена детализация спецификации и методы внедрения.
Фото — Jordiipa — CC BY-SA / На фото: Пол Мокапетрис
В частности, Мокапетрис предложил структуру идентификаторов хостов, содержащую имя и специальную категорию. Спустя год на основе спецификации Мокапетриса родилась классификация gTLD (generic Top-Level Domains), куда вошли домены .com, .edu, .net, .org, .int, .gov и .mil.
Первое время ими управляла компания Network Solutions Inc., которую для этих целей наняло американское правительство. Позже бразды правления перешли в руки специально созданной некоммерческой организации ICANN. В 1985 году, после внедрения DNS в ARPANET, свои домены зарегистрировали сразу шесть организаций. Самый первый из них — Symbolics.com — существует до сих пор. Сегодня это цифровой музей истории интернета.
С 1985 года система доменных имен претерпела множество изменений. Например, в неё добавили поддержку механизмов NOTIFY и IXFR, упростивших процессы репликации баз DNS между различными серверами. Подробнее об этих и других модификациях, мы расскажем в следующей части материала. Также мы поговорим о первых DNS-серверах, в частности, о проекте BIND, который до сих пор остается самым популярным решением в этой сфере.
Мы в 1cloud.ru предлагаем услугу DNS-хостинга. Зарегистрированные пользователи получают её бесплатно.
Мы подготовили краткое руководство по работе с услугой. Рассказываем, как управлять ресурсными записям с помощью нашей панели управления или API.
Автор: 1cloud