Какие порты использует протокол DNS?

«Какие порты использует протокол DNS?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

DNS использует порт 53 по умолчанию для обоих транспортных протоколов:

  • UDP/53 — для большинства стандартных запросов. Это быстрее из-за отсутствия накладных расходов на установку соединения.
  • TCP/53 — используется в случаях, когда:
    • Размер ответа превышает 512 байт (традиционное ограничение для UDP).
    • Выполняется передача зоны (AXFR/IXFR).
    • Требуется повышенная надёжность (например, при использовании DNSSEC).

Пример запроса A-записи через UDP с помощью dig:

dig @8.8.8.8 example.com A +short

Пример принудительного использования TCP:

dig @8.8.8.8 example.com A +tcp

Почему два протокола? UDP обеспечивает скорость для простых запросов, а TCP гарантирует доставку больших или критически важных данных, что делает DNS надёжным и масштабируемым.