通过Internet IP与本地IP访问同一本地网络上的另一台计算机是否会影响延迟/吞吐量?


0

我有一台远程计算机,它通常与我正在使用的计算机位于同一本地网络上,我可以参考使用域名或本地IP地址。我如何引用它会影响延迟或吞吐量?

例如,当我想要ssh到这台机器时,最近我一直在使用shell脚本,它首先检查我是否在同一个本地网络上,如果是,它使用本地IP地址,如果不是,则使用域名。当两台计算机位于同一本地网络上时,此脚本是否以任何方式加速连接?

Answers:


1

什么 能够 导致差异的是IP地址和IP地址的不同路由。如果确实如此,取决于您的设置。

尝试 host remote_machine_name 并查看它解析的IP地址。如果那样的话 与本地IP地址相同(例如,因为远程计算机位于具有NAT的公共地址后面,因为 remote_machine_name 解析到该公共地址),如果traceroute确实通过外部网络显示该地址的跳数,那么是的,使用本地IP地址更快,并且可能值得制作一个脚本来检查它。

另一种解决方案是设置DNS,以便在可达时返回本地IP地址等。


1

如果您通过主机名引用计算机,则本地计算机将需要执行DNS查找以查找IP地址。从理论上讲,这会导致很小的延迟,但你永远不会注意到它。它发生在不到一秒钟。成功查找后,它将在本地计算机上缓存86,400秒(1天),或者直到重新启动。简而言之,您的脚本实际上是不必要的。


1
实际上,根据脚本运行的次数,脚本添加的小延迟可能会超过DNS查找的延迟。
Ron Maupin

DNS查询完成后,连接是否需要查看本地网络以外的任何内容?
Praxeolitic

不可以。您可以断开LAN与Internet的连接,即使在DNS查找发生之前,您仍然可以在本地网络上的任何点之间进行通信。
Charles Burge

我怎么能看到这个证据呢?即使涉及的两台计算机在同一个局域网上,如果我使用URL,traceroute也会显示12+跳。
Praxeolitic
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.