公网IP地址,内网IP地址的区别
这篇文章讲的十分透彻:https://blog.csdn.net/gui951753/article/details/79210535
简而言之:公网IP是你办宽带时营业厅给你分配的地址,用于连接互联网。一般通过百度输入IP查到的就是这个公网IP。除非你换宽带,这个地址一般也不变。
而内网IP指的是局域网(如家里安装的路由器)给你随机分配的地址,当你连上家里的Wi-Fi时,这时候就会随机给你分配一个IP,这个IP是可变的。
一般在cmd终端上通过ipconfig命令查到的就是这个内网IP。
另外还有一点,在同一个局域网内,IP地址是唯一的;但是在不同的局域网内,IP地址是可以重复出现的。
举个小例子: 在局域网A中,有个主机的IP地址是
192.168.10.128
,那么绝不可能在局域网A中还有其他主机的IP地址为192.168.10.128
。但是在局域网B中却可以有主机的IP地址也是192.168.10.128
。
如果局域网A中的192.168.10.128
主机与局域网B中的192.168.10.128
主机通信,不会冲突吗?不会,因为上述说过,它们最终都是使用路由器中的公网IP
来连接外网的,而公网IP
是全球唯一的。
现在分析物理地址,本地环回地址(127.0.0.1)以及localhost:
物理地址(又称为MAC地址或者硬件地址)
顾名思义,肯定是跟最底层硬件有关的地址,这个地址就像你的身份证一样是世界上唯一的,在设备出厂的时候就打在设备的芯片里了,即固化在网卡上的ROM中,是按照国际上的标准和规定统一的格式,这个地址是永远不变的,同一型号的两个设备硬件地址也不同。
本地回环地址(127.0.0.1)
所谓的回环地址,通俗的讲,就是我们在主机上发送给
127
开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。而
127.0.0.1
作为{127}
集合中的一员,当然也是个回环地址。只不过127.0.0.1
经常被默认配置为localhost的IP地址。
一般会通过ping 127.0.0.1
来测试某台机器上的网络设备是否工作正常。
localhost
localhost其实是
域名
,在 Windows 中,这个域名是预定义的,从 hosts 文件中可以看出:一般windows系统默认将localhost 指向127.0.0.1。
在操作系统支持 ipv6 后,它同时还指向ipv6 的地址 [::1] 。
但是localhost并不等于
127.0.0.1
,localhost指向的IP地址是可以配置的。如下图的host文件:所以,你也可以去host文件中,将localhost改为其它的127开头的ip地址。
注意:
localhost是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。