Как развивалась система доменных имен: часть первая
Свое начало система доменных имен берет в 50-х — 60-х годах прошлого века. Тогда она помогла упростить адресацию хостов в сети ARPANET и очень быстро перешла от обслуживания сотен компьютеров к работе с сотнями миллионов.
Появление 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 с информацией об остальных хостах. Этот файл существовал в единственном экземпляре на сервере, размещенном в Стэнфордском исследовательском институте. Пользователям становилось все сложнее работать с раздутым списком, учитывая тот факт, что идентификаторы при подключении приходилось прописывать вручную.
Особенно сильно проблема была заметна во время отправки электронных писем. Чтобы переслать сообщение с одного компьютера на другой, пользователь должен был сам указать путь для его передачи между системами. Задачу усложнял тот факт, что отдельные устройства могли выходить в сеть в разное время дня. Выглядел коммуникационный путь следующим образом:
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» приведена детализация спецификации и методы внедрения.
В частности, Мокапетрис предложил структуру идентификаторов хостов, содержащую имя и специальную тематическую категорию. Спустя год на основе спецификации Мокапетриса родилась классификация 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:
- Виртуальный или физический сервер? Сравнение расходов
- Как обезопасить Linux-систему: 10 советов
- Backup и Snapshot: отличия и применение
P.S. Мы в 1cloud.ru предлагаем услугу DNS-хостинга. Зарегистрированные пользователи получают её бесплатно. Мы подготовили краткое руководство по работе с услугой. Рассказываем, как управлять ресурсными записям с помощью нашей панели управления или API.