Назад | Перейти на главную страницу

Когда DNS-запросы используют TCP вместо UDP?

Возможный дубликат:
Верно ли, что сервер имен должен отвечать на запросы по TCP?

Я знаю, что DNS использует UDP для большинства своих запросов, но в каких обстоятельствах он будет использовать вместо этого TCP?

DNS использует TCP, когда размер запроса или ответа превышает размер одного пакета, например, с ответами, имеющими много записей или много ответов IPv6 или большинство ответов DNSSEC.

Изначально максимальный размер составлял 512 байт, но есть расширение протокола DNS, которое позволяет клиентам указывать, что они могут обрабатывать ответы UDP размером до 4096 байт.

Ответы DNSSEC обычно больше максимального размера UDP.

Запросы на передачу обычно превышают максимальный размер UDP и, следовательно, также будут выполняться по TCP.

Протокол управления передачей (TCP) используется, когда размер данных ответа превышает 512 байт, или для таких задач, как передача зон.

http://en.wikipedia.org/wiki/Domain_Name_System#DNS_protocol_transport