一次搞清内网IP, 回环接口, localhost的区别

一次搞清内网IP, 回环接口, localhost的区别

在本地连接数据库时,使用127.0.0.1:3306、192.168.198.128:3306和47.99.146.226:3306,主要的区别在于网络通信的方式和性能,以及能够从哪些位置访问。

127.0.0.1:3306

当你使用这个地址连接数据库时,你的计算机会通过本地回环接口(loopback interface)进行通信。这意味着所有的网络通信都在你的计算机内部完成,不会经过任何网络硬件,如网卡和路由器。这通常会提供更高的性能,因为它避免了网络延迟和数据包丢失的可能性。然而,只有你的本地计算机可以使用这个地址访问数据库。(请求根本没有流入网线)

192.168.198.128:3306

当你使用这个地址连接数据库时,你的计算机会通过你的本地网络接口进行通信。即使数据库服务器在你的本地计算机上,网络通信仍然可能会经过你的网络硬件。这可能会导致稍微低一些的性能,因为它可能会受到网络延迟和数据包丢失的影响。然而,你的本地网络中的任何设备都可以使用这个地址访问数据库。

47.99.146.226:3306

当你使用这个地址连接数据库时,你的计算机会通过你的公网接口进行通信。这意味着网络通信会经过你的网络硬件,并可能经过互联网。这可能会导致更低的性能,因为它可能会受到网络延迟、数据包丢失和网络拥塞的影响。然而,互联网上的任何设备都可以使用这个地址访问数据库,只要你的网络配置允许它。

什么是本地回环接口

本地回环接口Loopback Interface)是一个特殊的网络接口,用于在计算机内部进行通信,而不需要任何网络硬件。当你的计算机尝试连接到本地回环地址(通常是IP地址127.0.0.1或主机名localhost)时,所有的网络通信都在你的计算机内部完成,不会经过任何网络硬件,如网卡和路由器。

这个接口的主要用途是测试和开发。例如,如果你正在开发一个网络应用程序,你可以使用本地回环接口在你的计算机上运行和测试你的应用程序,而不需要连接到互联网或其他网络。这可以让你在没有网络连接的情况下进行开发和测试,也可以提供更高的性能,因为它避免了网络延迟和数据包丢失的可能性

那本机访问虚拟机里面的端口算是什么?他们经过网络硬件了吗

当你的本机访问虚拟机中的端口时,这通常被视为网络通信,尽管它们都在同一台物理机器上。这是因为虚拟机被设计为模拟一个完整的计算机,包括它自己的网络接口。
虚拟机通常有自己的IP地址,这可能是一个私有IP地址(如192.168.x.x),也可能是一个公网IP地址,取决于你的网络配置。当你的本机尝试连接到这个IP地址时,它会通过你的网络硬件进行通信,就像它在连接到任何其他网络设备一样。
然而,虽然这种通信可能会经过你的网络硬件,但它通常不会离开你的物理机器。这是因为你的物理机器的网络硬件通常会识别出这个通信是在本机内部进行的,并将数据包直接路由到虚拟机,而不是将其发送到外部网络。

总结

总的来说,如果数据库服务器在你的本地计算机上,使用127.0.0.1:3306通常会提供更好的性能。如果数据库服务器在你的本地网络的另一台计算机上,你需要使用那台计算机的私有IP地址(如192.168.198.128)来连接。如果你需要从互联网上的任何位置访问数据库,你需要使用你的公网IP地址(如47.99.146.226)来连接。

你可能感兴趣的:(tcp/ip,网络,网络协议)