Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dns 一个域名是否可能有多个对应的IP地址?_Dns - Fatal编程技术网

Dns 一个域名是否可能有多个对应的IP地址?

Dns 一个域名是否可能有多个对应的IP地址?,dns,Dns,例如,当我们连接到www.example.com时,首先我们尝试连接到192.0.2.1。如果第一次尝试失败,那么我们尝试192.0.2.222 可能吗?我们可以为一个域名注册多个备份IP地址吗?这是循环DNS。这是一个非常简单的负载平衡解决方案。通常DNS服务器为每个传入的DNS请求轮换/洗牌DNS记录。不幸的是,这不是故障转移的真正解决方案。如果其中一台服务器出现故障,一些访问者仍将被定向到此故障服务器。您可以这样做。这也是大人物所做的 第一个问题: » host google.com g

例如,当我们连接到
www.example.com
时,首先我们尝试连接到
192.0.2.1
。如果第一次尝试失败,那么我们尝试
192.0.2.222


可能吗?我们可以为一个域名注册多个备份IP地址吗?

这是循环DNS。这是一个非常简单的负载平衡解决方案。通常DNS服务器为每个传入的DNS请求轮换/洗牌DNS记录。不幸的是,这不是故障转移的真正解决方案。如果其中一台服务器出现故障,一些访问者仍将被定向到此故障服务器。

您可以这样做。这也是大人物所做的

第一个问题:

» host google.com 
google.com has address 74.125.232.230
google.com has address 74.125.232.231
google.com has address 74.125.232.232
google.com has address 74.125.232.233
google.com has address 74.125.232.238
google.com has address 74.125.232.224
google.com has address 74.125.232.225
google.com has address 74.125.232.226
google.com has address 74.125.232.227
google.com has address 74.125.232.228
google.com has address 74.125.232.229
下一个查询:

» host google.com
google.com has address 74.125.232.224
google.com has address 74.125.232.225
google.com has address 74.125.232.226
google.com has address 74.125.232.227
google.com has address 74.125.232.228
google.com has address 74.125.232.229
google.com has address 74.125.232.230
google.com has address 74.125.232.231
google.com has address 74.125.232.232
google.com has address 74.125.232.233
google.com has address 74.125.232.238
如您所见,IP列表旋转,但两个IP之间的相对顺序保持不变


更新:我看到一些评论吹嘘DNS循环对故障转移不方便,因此这里是总结:DNS不适合故障转移。因此,这显然不利于故障转移。它从未被设计成故障转移的解决方案。

是的,这是可能的,但正如Jens所说的那样并不方便。使用下一代负载平衡器,如Alteon,它使用名为DSSP(分布式站点状态协议)的专有协议,该协议执行定期站点检查,以确保服务在本地或全球(即不同地理区域)可用。但是,您需要在主DNS中将URL或服务委托给设备,方法是将其配置为该IP或服务的权威名称服务器。通过这样做,设备将回答DNS查询,其中它将根据您从多个指标中选择的方式,通过轮循不拥挤解析具有服务的IP

它不会以这种方式工作(循环)。如果您多次查询主机,则每次执行查询时,它都会返回不同的IP-s,而不仅仅是当主机出现故障时。@karatedog,我假设套接字连接将尝试连接到下一个IP,如果它无法连接到第一个IPone@AkashKava:单个连接具有多个内部步骤。简化:应用程序查询DNS并获取IP地址。然后它连接到该IP地址。如果连接失败,应用程序将不会返回到第一步并再次查询DNS,只有在明确编码以执行此操作时。多次查询DNS服务器并不一定会给您提供不同的IP地址。因此,简而言之,股票DNS不能用于负载平衡目的。我们可以使用此技术来扩展多个负载平衡器吗?我们是否必须启用某些功能才能使此循环工作,还是由每个DNS服务器自动完成?我有一个linux和一个MS DNS。如果不包括故障转移,谷歌为什么要这么做?@Josephsie:因为DNS不用于故障转移。通过为同一域名提供多个IP,传入的请求只需在侦听这些IP地址的服务器之间进行拆分。可以将其视为第一级负载平衡,而不进行后端运行状况检查。如果您没有数千台服务器,则不需要这样做:-)当负载平衡器关闭并且请求被转发到同一个平衡器时会发生什么情况?@JitendraVispute:DNS不知道它返回的IP地址后面的服务。简言之,如果DNS服务器刚刚返回的IP地址后面有一个坏掉的服务器或坏掉的服务,那么对该IP的请求将失败。这取决于您对恢复时间的期望。如果提供的服务可能会中断几秒钟或几分钟,您可以相应地更新DNS(例如,从故障系统中取出IP)。如果这是不可接受的,DNS无法帮助您,您必须使用负载平衡器和高可用性网络结构。您知道客户端如何从列表中选择其ip吗?是随机选择还是客户应该选择列表中的第一个?因为在第一种情况下,循环/循环不是很有用。DNS服务器的工作是洗牌或旋转记录。大多数客户端将只使用第一条记录。例如,Bind9可以配置为对这种类型的记录集应用不同的排序:我们可以使用这种技术来扩展多个负载平衡器吗?这听起来更像是广告,而负载平衡器在DNS世界中并不是一流的执行者(就规范而言)。确切地说:“在您的主DNS中委托URL或服务”在名称服务器/DNS中没有URL或服务的概念,当您将区域(域)委托给其他名称服务器时。“作为该IP或服务的权威名称服务器。”因此,名称服务器对于区域/域具有权威性,而不是IP地址或服务。从it的工作点来看,它们确实可以工作,对于所有CDN来说,使用负载均衡器来有效地处理这一问题已经成为事实上的标准,因为它们可以结合地理位置等高级功能,为您或服务器提供更接近您的IP地址,这些IP地址在其他指标中具有高响应性。同时,它们也带来了许多问题。没有银弹,一切都有特点和缺点。任何名称服务器都可以基于客户端使用不同的IP进行地理定位和应答,不需要负载平衡器。甚至还有一个标准可以提供帮助:EDNS客户端子网。