Как именно работает протокол 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.