![如果我使用公共主机名将数据发送到我的计算机,它实际上是通过互联网传输的吗?](https://linux22.com/image/558353/%E5%A6%82%E6%9E%9C%E6%88%91%E4%BD%BF%E7%94%A8%E5%85%AC%E5%85%B1%E4%B8%BB%E6%9C%BA%E5%90%8D%E5%B0%86%E6%95%B0%E6%8D%AE%E5%8F%91%E9%80%81%E5%88%B0%E6%88%91%E7%9A%84%E8%AE%A1%E7%AE%97%E6%9C%BA%EF%BC%8C%E5%AE%83%E5%AE%9E%E9%99%85%E4%B8%8A%E6%98%AF%E9%80%9A%E8%BF%87%E4%BA%92%E8%81%94%E7%BD%91%E4%BC%A0%E8%BE%93%E7%9A%84%E5%90%97%EF%BC%9F.png)
澄清:
我使用公共主机名连接到 MySQL 数据库。主机名解析为我的服务器的外部 IP(例如 1.2.3.4)。我通过 MySQL 连接发送/接收的数据是否通过互联网传输?使用 localhost 会更快吗?它会占用我服务器的带宽吗?
答案1
如果你想确定,可以使用traceroute 1.2.3.4
。这将列出运行命令的主机和 IP 地址为 1.2.3.4 的设备之间的所有路由器。
答案2
如果您使用“localhost”作为主机名来连接 MySQL 服务器,MySQL 将不会使用 TCP,而是使用套接字。这应该是连接本地运行的 MySQL 服务器的最快方法。
如果您的服务器“正确”设置了外部 IP,即它不在内部网络中的防火墙或代理后面,则流量不会离开您的服务器,因为它知道目标 IP 地址是同一个系统。
答案3
您没有提到有关路由或交换设备的任何信息,但您可以特意确保您的数据在返回之前传出,但实际上您的数据几乎肯定不会以这种方式传出。
答案4
如果你的服务器 IP 配置在其机器上使用公共 IP 地址,那么就不会有任何流量离开你的服务器(但为了获得性能优势,最好还是使用 localhost 更安全)
如果你的 IP 是经过网络地址转换的,并且你的路由器有公网 IP,而你的服务器有内网 IP,那么至少流量可能会离开你的服务器,并从路由器反射回你的服务器,假设路由器在端口转发过程中进行端口反射 - 所以从某种意义上说,没有流量会离开你的网络,但有些流量会离开你的服务器
没有任何网络设置信息,我无法更确定