前几天我正在阅读关于DNS的知识,并了解了如何处理这些请求。 如果您浏览www.example.com,则请求将转到根名称服务器以查看谁拥有该.com地址,然后另一个请求将转到另一个更本地的DNS服务器以查看谁拥有example.com地址等。
从技术angular度来看,13个根名称服务器可以同时处理全球数十亿互联网用户所做的所有请求,而无需使用ddos:ed?
他们是13个高度可用的服务器集群 ,而不仅仅是13台服务器。
除此之外,根名称服务器操作符需要有足够的容量来处理其正常stream量负载( RFC 2870 )的三倍。 这导致相当大的集群。
但是,根名称服务器只为顶级域名本身(即com.
提供响应com.
, net.
, uk.
, ae.
等等,查询根的名称服务器可以caching这些信息长达48小时 ,这大大减less了根名称服务器的负载。 这导致更小的群集。
根名称服务器位于53个国家的130多个物理位置; 只有13个服务器名称,这是通过IPv4选播的魔术完成的。
根名称服务器也有自己的网站 ,您可能会发现有趣的阅读。
他们没有。 根名称服务器只需告诉你什么名称服务器处理com
。 从那以后,你不需要去他们那里处理com
里的任何域。 根名称服务器不知道谁拥有example.com
。 他们是根名称服务器,而不是com名称服务器。
slimsuperhero说的也是如此。 许多大容量的域名服务器使用任播来让世界各地的许多服务器拥有单一的IP地址。
每个根服务器实际上不是一个服务器,它们是巨大的服务器集群。 除此之外,DNS答案被caching,所以并不是每个请求都到达根服务器。
请注意, 您不使用根服务器。 您通常使用Internet服务提供商提供的DNS服务器,如果您需要的信息在其本地caching中,通常可以立即响应。 只有在不caching的情况下,他们的上游DNS服务器才会被询问,最终只有根服务器被询问(并且该响应被caching)
其实它的13个任播IP地址解决了全球很多服务器。 如果需要,您可以查看链接来查找这些服务器。 所有这些服务器都由有关当局pipe理。
我们仍然只使用13个IP地址(和具有相同IP地址的服务器集群)的事实是确保数据包大小不超过512字节。 那么为什么? 我们有超过这个数据包大小的TCP为什么不能使用它? 问题是,TCP涉及很高的开销,因为它包含多个步骤和build立TCP连接的过程。 因此,DNS查询的整个过程将会变慢。
像DNS这样的东西永远不会很慢,这就是为什么我们仍然使用旧的系统。