Как именно работает протокол DNS?

Я внимательно ознакомился со статьей Википедии о DNS и получил довольно широкий обзор того, как работает процесс разрешения доменных имен.

Однако у меня возникли некоторые проблемы с пониманием точной роли самого DNS-сервера. Мое понимание таково:

  • DNS-сервер получает запрос от клиента, запрашивающий IP-адрес данного доменного имени.
  • DNS-сервер проверяет, является ли он полномочным для этого домена и...
    • ... если это так, то он возвращает IP-адрес.
    • ... если это не так, то он, в свою очередь, запрашивает другой DNS-сервер.

И вот где мои реальные вопросы возникают:

  • Я понимаю процесс разрешения DNS или я что-то упустил?
  • Что DNS-сервер использует для выполнения DNS-запросов...? Настроен ли DNS-сервер для машины, на которой он работает?
  • Я читал, что DNS использует сокеты UDP, но он также может использовать сокеты TCP. Когда каждый привыкнет? Может ли DNS-сервер использовать только сокеты TCP?
  • Существует ли документ RFC, в котором подробно описан ожидаемый формат пакетов, которые DNS-сервер получает и отвечает?

2 ответа

Решение

Я понимаю процесс разрешения DNS или я что-то упустил?

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

Что DNS-сервер использует для выполнения DNS-запросов...? Настроен ли DNS-сервер для машины, на которой он работает?

В статье Что такое DNS KB от DynDNS есть хорошее объяснение частей, а ответы на этот вопрос также содержат информацию.

Когда каждый привыкнет? Может ли DNS-сервер использовать только сокеты TCP?

Ознакомьтесь с информацией по Руководству по TCP/IP о создании и передаче сообщений DNS.

Существует ли документ RFC, в котором подробно описан ожидаемый формат пакетов, которые DNS-сервер получает и отвечает?

По той самой ссылке, которую вы указали на статью в Википедии:

По просьбе Джона Постеля Пол Мокапетрис изобрел Систему доменных имен в 1983 году и написал первую реализацию. Первоначальные спецификации были опубликованы Инженерной рабочей группой по Интернету в RFC 882 и RFC 883, которые были заменены в ноябре 1987 года RFC 1034 и RFC 1035. В нескольких дополнительных запросах на комментарии были предложены различные расширения основных протоколов DNS.

Короче говоря, да, есть RFC или десятка, которые подробно описывают протоколы службы DNS.

Другие вопросы по тегам