Свое начало система доменных имен берет в 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.

Комментарии (3)


  1. therb1
    15.12.2019 17:55
    -1

    А чем эта статья лучше цикла статей про arpnet "История интернета" уже имеющихся на хабре ?


    1. andrey_aksamentov
      16.12.2019 07:43
      -1

      Наверное просто повод лишний раз напомнить о своих услугах.


  1. Chupaka
    16.12.2019 01:52

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

    Этак можно подумать, что там всего 50 бит на барабан было :) А там просто данные писались пачками по 50 байт за раз...