networking - 使用 IP 地址是否比使用域名更快?

标签 networking dns ip

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

最佳答案

从技术上讲,是的。至少是第一次。您的计算机第一次询问互联网“此域名位于何处?”并且那里的某些机器以其IP地址响应。
但是,当它收到此响应时,它会保留一份副本(称为缓存),因此它不必再次询问一段时间(这些事情可以改变,但很少这样做)
因此,如果您的计算机当前缓存了 IP,那么它们是相等的。如果您目前没有它,IP 会更快,但只是几天后的第一次,只有几秒钟
至于如何选择最快路线的问题。有几种路由协议(protocol),其中大多数考虑了几个不同的因素,包括连接负载、带宽、延迟、抖动和距离。其他几个也是可能的。长话短说,互联网的路由器不断地告诉对方某某链接已断开,或者我刚刚连接了一个新地址,它们有路由器运行的算法来确定哪种方式最好。
注:附带说明一下,IP 并不总是让您访问某个网站:例如托管在托管服务上的网站。他们很少有自己的特定 IP 地址,但对许多不同站点的请求可能会进入一个 IP。在这种情况下,被请求的域名用于确定将哪个站点返回给请求者

关于networking - 使用 IP 地址是否比使用域名更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964050/

相关文章:

linux - 如何在 Debian Stretch 的代码中粗暴地中断远程网络连接

mysql - Docker Node 应用程序无法连接链接的mysql容器

c++ - WinSock2.h 中的重新定义错误

performance - 如何减少我网站上的“第一个字节的时间”?

C#在没有内存不足异常的情况下扫描tcp端口

在 C 中更改网络设置

dns - 通过修改我的 DNS 记录,如何将 "test.mydomain.com"解析为 XXX.XXX.XXX.XXX :8080?

wcf - WCF客户端端点:不带<dns>的SecurityNegotiationException

unit-testing - 什么是用于单元测试的好的无效 IP 地址?

networking - 如何从 IP 地址和子网掩码确定网络和广播地址?