ScholarGate
Ассистент

Система доменных имён

Система доменных имён (DNS) — это распределённый каталог Интернета, преобразующий удобочитаемые доменные имена в IP-адреса, необходимые сети, посредством иерархии делегированных авторитетных серверов и повсеместного кэширования.

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

Система доменных имён — это иерархическая, распределённая служба именования, которая сопоставляет доменные имена с IP-адресами и другими записями, реализованная сетью делегированных авторитетных серверов имён и кэширующих резолверов.

Scope

Эта тема охватывает DNS: её иерархическое пространство имён и зоны; роли корневых серверов, серверов доменов верхнего уровня и авторитетных серверов имён; рекурсивное и итеративное разрешение; ресурсные записи (такие как A, AAAA, NS, MX и CNAME); кэширование и значения времени жизни (time-to-live), которые обеспечивают масштабируемость системы; а также зависимость DNS от UDP для большинства запросов. Также отмечается роль DNS, выходящая за рамки простого поиска, например, в распределении нагрузки и перенаправлении CDN. Исключаются прикладные протоколы и системы доставки контента, которые от неё зависят.

Core questions

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

Key concepts

  • иерархия доменных имён
  • зоны и делегирование
  • корневые, TLD и авторитетные серверы
  • рекурсивное и итеративное разрешение
  • ресурсные записи (A, AAAA, NS, MX, CNAME)
  • кэширование и время жизни (TTL)
  • DNS через UDP
  • распределение нагрузки на основе DNS

Key theories

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

Clinical relevance

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

History

До появления DNS имена хостов сопоставлялись с адресами с помощью одного общего файла, который не масштабировался. Пол Мокапетрис разработал Систему доменных имён в середине 1980-х годов (RFC 1034 и 1035, 1987) как распределённую, иерархическую альтернативу. С тех пор DNS значительно выросла, добавив типы записей, интернационализированные имена, расширения безопасности (DNSSEC) и зашифрованный транспорт, оставаясь при этом архитектурно верной своему первоначальному дизайну.

Debates

Зашифрованный DNS против операционной видимости
Шифрование DNS-запросов (DNS over HTTPS/TLS) защищает конфиденциальность пользователей от наблюдателей в сети, но также снижает видимость для сетевых операторов, используемую для фильтрации и устранения неполадок, и может централизовать разрешение у нескольких крупных провайдеров; обсуждается компромисс между конфиденциальностью и контролем.

Key figures

  • Paul Mockapetris
  • James F. Kurose
  • Keith W. Ross

Related topics

Seminal works

  • rfc1034
  • rfc1035
  • kurose2021

Frequently asked questions

Что делает DNS?
DNS преобразует удобное для человека имя, такое как example.com, в IP-адрес, который необходим сети для маршрутизации пакетов к нужному серверу. Это телефонная книга Интернета, и она выполняет этот поиск через распределённую иерархию серверов с интенсивным кэшированием, что позволяет ей масштабироваться на весь Интернет.
Почему DNS распределена, а не является одним большим сервером?
Один сервер не смог бы справиться с объёмом запросов, был бы единой точкой отказа и не мог бы администрироваться всеми организациями мира. Вместо этого DNS делегирует полномочия по частям пространства имён множеству серверов и широко кэширует результаты, так что нагрузка и контроль распределены, а система устойчива.

Methods for this concept

Related concepts