DNS 为什么要用 UDP?

DNS(Domain Name System)在实际应用中同时使用了 TCP 和 UDP 协议。

在进行区域传送时,主域名服务器向辅助域名服务器传输变化的数据量较大,为了确保数据的准确性,使用了可靠连接的 TCP 协议。TCP 允许更长的报文长度,适合处理大量数据的传输。

而在客户端向 DNS 服务器查询域名时,返回的内容通常不会超过 UDP 报文的最大长度,即 512 字节。为了提高响应速度,使用了无连接的 UDP 协议进行传输。使用 UDP 无需建立连接,可以快速地发送和接收数据。然而,这也意味着需要在应用层自行处理超时和重传来确保数据的可靠性。

综上所述,DNS 在区域传送时使用 TCP 协议保证数据的准确性,而在域名解析查询时使用 UDP 协议以提高响应速度,并在应用层处理超时和重传以确保数据的可靠性。

标签: java, Java面试题, Java问题合集, Java编程, Java问题精选, Java常见问题, 计算机网络, 计算机网络面试题