这就不得不提一下主域名服务器和辅助域名服务器。
设置域名服务器时,服务器管理员可以选择将域名服务器指定为主服务器还是辅助服务器(也称为从服务器)。
主域名服务器负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。主服务器直接从本地文件获取此信息。只能在主服务器上更改区域的 DNS 记录,然后主服务器才能更新辅助服务器。
当主域名服务器出现故障、关闭或负载过重时,辅助域名服务器作为主域名服务器的备份提供域名解析服务。辅助域名服务器中的区域文件中的数据是从主域名服务器中复制过来的,无法自行修改。
其实就是主从的概念,各位应该也都比较熟悉了。主域名服务器用来写,辅助域名服务器用来读,提供负载均衡的能力,缓解主域名服务器的压力。
那么所谓区域传输(zone transfer)呢,就是辅助域名服务器与主域名服务器通信,并同步数据信息的过程。
辅域名服务器会定时向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传输。区域传输使用 TCP 而不是 UDP,因为数据同步传送的数据量比一个 DNS 请求和响应报文的数据量要多得多。
文章开头提到的既然 UDP 更快,为什么 HTTP 不使用 UDP 呢?这个问题的答案也大抵如此。
由于互联网的不安全性,我们需要数字证书并携带数字签名来保证数据的安全性,为此,整个 HTTP 报文的大小已经远远超过 512 字节,无法使用 UDP 传输。