8

假设域映射到的 IP 地址是已知的,那么使用这个已知的 IP 地址而不是使用域有什么好处?是什么决定了跟踪路由决策?因为 DNS 服务器将域名转换为 IP 地址,所以我不得不说使用 IP 地址更快,尽管不明显。但是,由于 DNS 服务器处理这些请求的数量很大,并且可能会缓存最受欢迎的站点,所以我也不得不说 DNS 服务器可能知道到服务器的最快路由,这将导致域稍微快一些。我知道当我问哪个可能更快时,这个量化可能是纳秒或微秒级的。

4

3 回答 3

9

从技术上讲,是的。至少是第一次。您的计算机第一次询问互联网“此域名位于何处?” 并且那里的某些机器以其IP地址响应。
但是,当它收到此响应时,它会保留一份副本(称为缓存),因此它不必再次询问一段时间(这些事情可以改变,但很少这样做)

因此,如果您的计算机当前缓存了 IP,那么它们是相等的。如果您目前没有它,IP 会更快,但只是几天后的第一次,只有几秒钟

至于如何选择最快路线的问题。有几种路由协议,其中大多数考虑了几个不同的因素,包括连接负载、带宽、延迟、抖动和距离。其他几个也是可能的。长话短说,互联网的路由器不断地告诉对方某某链接已断开,或者我刚刚连接了一个新地址,它们有路由器运行的算法来确定哪种方式最好。

注意 附带说明的是,IP 不会总是让您访问某个网站:例如托管在托管服务上的网站。他们很少有自己的特定 IP 地址,但对许多不同站点的请求可能会进入一个 IP。在这种情况下,被请求的域名用于确定将哪个站点返回给请求者

于 2013-04-12T06:02:10.157 回答
3

你给出的两个例子都是正确的。直接输入 IP 地址将绕过 DNS 查找的需要,但是如果您将 IP 地址用于将您带到世界另一端而不是附近的服务器的流行网站,那么这样做所获得的优势可能毫无意义。最终,您不会获得足够的好处来让它值得您花时间,特别是因为您的计算机将缓存您从 DNS 查找中收到的响应,从而使差异为 0。

于 2013-04-12T06:04:58.900 回答
0

@PsychoData 很好地回答了这个问题,但我认为这里有几件事值得注意并重申:

  • 使用 IP 时,您会绕过 DNS,这将在第一次调用时为您节省 DNS 解析时间,直到 TTL(生存时间)到期。TTL 通常为 1 小时。在大多数应用程序中,这种差异通常并不值得注意。如果你只打一个电话,你不会注意到毫秒延迟。如果您拨打多个电话,第一个电话之后的所有电话都不会有延迟。
  • 输入名称与 IP 时,您可以调用多个不同的网络守护程序,包括 NetBIOS (\ServerX)、DNS FQDN (\ServerX.domain.com)、DNS 短名称 (\ServerX,它可能会自动延长或猜测为 FQDN \ServerX。 domain.com 由您的操作系统或 DNS 服务器)
  • Microsoft 有两种主要的 SMB 共享身份验证机制:NTLMv2(NTLMv1 和 CHAP 不安全)和 Kerberos。根据您的客户端、服务器和身份验证服务器(如果正在使用 Active Directory)上的大量配置以及您调用名称的方式,您可能会得到其中一个。Kerberos 通常比 NTLMv2 更快,至少对于重复调用而言,因为它获取并保留身份验证令牌,并且不需要每次都通过密码哈希重新进行身份验证。
  • NetBIOS 使用与 DNS 不同的端口,这可能会由于 ACL/路由器/防火墙而影响网络延迟。
  • NetBIOS 实际上可以为您提供与 DNS 不同的答案,因为它是一个不同的解析系统。通常,在子网上启动的第一台 PC 将充当 NetBIOS 服务器,而新服务器可以随机向网络声明自己为新的 NetBIOS 主机。此外,\FileShareServer.domain.com 不会在 NetBIOS 查找中返回,因为它不是机器名称 (ServerX),而是 DNS 别名。

可能还有更多我在这里遗漏的东西,但我想你知道这里有很多因素在起作用。

于 2020-05-21T00:26:12.320 回答