📑 题目:37. DNS 使用什么协议?

参考解析

既使用 TCP 又使用 UDP 。

  • 区域传送时使用 TCP 协议。

    • 辅域名服务器会定时(一般时 3 小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用 TCP 而不是 UDP ,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。
    • TCP 是一种可靠的连接,保证了数据的准确性。
  • 域名解析时使用 UDP 协议。

    • 客户端向 DNS 服务器查询域名,一般返回的内容都不超过 512 字节,用 UDP 传输即可。

      UDP 报文的最大长度为 512 字节。

    • 不用经过 TCP 三次握手,这样 DNS 服务器负载更低,响应更快。虽然从理论上说,客户端也可以指定向 DNS 服务器查询的时候使用 TCP ,但事实上,很多 DNS 服务器进行配置的时候,仅支持 UDP 查询包。