是否有必要让具有静态IP的计算机在互联网上交换数据?

网络工程 ip 互联网
2021-07-29 07:09:46

我通过 3g 加密狗(即通过本地 ISP)连接到互联网。当我连接到 Internet 时,我的计算机被分配了一个动态 IP。我可以通过访问whatismyip找到这个我试图从另一台通过同一 ISP 连接到互联网的计算机 ping 我的计算机以获取该动态 IP。但是当我 ping 它时,我得到了请求超时响应。这意味着我无法在这两台机器之间交换数据。如果我有一台带有静态 IP 的计算机,我可以用它在我之前提到的两台机器之间交换数据。

我的问题是,是否可以通过动态 IP ping(换句话说,交换数据)连接到互联网的计算机?

问题的背景是我想开发一个像teamviewer这样的软件。当我与 teamviewer 进行屏幕共享时,我最初认为没有涉及具有静态 IP 的第三方计算机。但是根据上面提到的观察,我觉得应该至少有一台带有静态 IP 的中间机器(如果我错了,请纠正我)来发起对话。

如果这是不可能的,那么理论上的解释是什么?

2个回答

您的问题的答案。“是否可以 ping(换句话说,交换数据)使用动态 IP 连接到互联网的计算机? ”是的,但有警告:

  • 您需要知道要 ping 的主机当前分配的 IP 地址。动态 IP 地址可能在很长一段时间内或在主机重新启动之前不会更改。
  • 主机本身是否配置为响应 ping?
  • 主机之间是否有某种防火墙?这可能是一个物理盒子,也可能是 Windows 内置防火墙之类的东西。防火墙可能会阻止您 ping。
  • 一侧或另一侧(或两者)是否使用 NAT?NAT 可以阻止 ping 到达您尝试连接的主机。
  • 既然您说主机都在同一个 ISP 上,那么 ISP 是否阻止或允许一个客户 ping 另一个客户?一些 ISP 阻止了这一点。

如果两台主机都直接连接到 Internet,中间没有 NAT 或防火墙(软件硬件),并且您知道另一台主机的动态地址,那么您应该可以 ping 另一台主机。这假设您的 ISP 没有阻止此类事情。例如,我使用的电缆 ISP 阻止了在其网络内从一个客户 ping 到另一个客户的能力。

注意:没有防火墙保护您公司的网络是一件非常愚蠢的事情。我猜您的公司有一个防火墙,可以防止通过 Internet 从一台主机到另一台主机的 ping。

我认为最好的方法之一是在两台 PC 之间建立 VPN 连接。使用此视频VPN 设置