0.0.0.0与127.0.0.1的区别

省流:

0.0.0.0 是对外开放,说明80端口外面可以访问;

127.0.0.1 是只能本机访问,外面访问不了此端口

监听0.0.0.0的端口,就是监听本机中所有IP的端口。

一般会通过ping 127.0.0.1来测试某台机器上的网络设备是否工作正常。

[root@manage ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3346/nginx: master  
tcp        0      0 127.0.0.1:8081          0.0.0.0:*               LISTEN      2493/docker-proxy-c 
tcp        0      0 127.0.0.1:8082          0.0.0.0:*               LISTEN      5529/docker-proxy-c 
tcp        0      0 127.0.0.1:8083          0.0.0.0:*               LISTEN      17762/docker-proxy- 
tcp        0      0 127.0.0.1:8084          0.0.0.0:*               LISTEN      2743/docker-proxy-c 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2155/sshd

举例

案例:pc1的ip是192.168.10.128

  • pc1中sever监听0.0.0.0,则pc1中的client可以连上127.0.0.1192.168.10.128,pc2中的client能连上192.168.10.128
  • pc1中sever监听127.0.0.1,则pc1中的client可以连上127.0.0.1,连不上192.168.10.128;而pc2中的client都连不上。
  • pc1中sever监听192.168.10.128,则pc1中的client可以连上192.168.10.128,连不上127.0.0.1;而pc2中client能连上192.168.10.128

符号 :::*

有时候会看到 :::*,三个冒号一个星号。 前两个冒号,是IPv6的“0:0:0:0:0:0:0:0”缩写,相当于IPv4的“0.0.0.0”,即本机的所有IPv6地址。第三个冒号是IP和端口的分隔符星号是任意端口

符号 ::

全0的IPV6地址,和IPV4的0.0.0.0一样,表示匹配多个IPV6地址。

用双冒号“::”表示一组0或多组连续的0,但只能出现一次,每项数字前导的0可以省略,省略后前导数字仍是0则继续。

IP地址构成成分

IP地址表示,IP地址有两个部分组成,net-id和host-id,即网络号和主机号。

例如,192.168.1.0/24,意思是前24位是网络号,后8位是主机号。即是192.168.1固定的,最后这个数是变化的,在0-255之间(不包括0和255)。所以这个网段的主机的ip地址是192.168.1.1到192.168.1.254。

192.168.0.0/16是前16位是网络号,后16位是主机号。

127.0.0.1

127.0.0.1属于{127,}集合中的一个,所有的网络号为127的地址都被称为环回地址,所以环回地址不等价于127.0.0.1,后者只是环回地址的一份子,是包含关系,环回地址loop back。
相比于127.0.0.1,localhost 具有更多的意义,localhost是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为同一个是因为我们使用的大多数电脑上都将localhost指向了127.0.0.1这个地址。

0.0.0.0

0.0.0.0是不能被ping通的。因为0.0.0.0并不是一个真实的的IP地址它只是代表本机中所有的IPV4地址监听0.0.0.0的端口,代表监听本机中所有IP的端口

例如:我想监听机器的所有的ip,就用0.0.0.0来表示。

服务器端,通过0.0.0.0匹配所有服务器IP,如果进程监听0.0.0.0那么客户端访问服务器任何一个可达IP都可以使用此进程。
个人电脑未配置IP时表示本机地址
路由器表示默认路由

127.0.0.1是个环回地址,是IP,并不表示“本机”,0.0.0.0才是真正表示网路中的本地。
例:服务端绑定端口的时候一般选择绑定到0.0.0.0,这样用户可以通过多个本服务器的IP进行访问。
实际:服务器有内外网IP,一般财务系统绑定内网IP仅内部访问,OA绑定0.0.0.0内外网均可访问。

基础知识_IP地址的基础知识:127.0.0.1 VS 0.0.0.0

tomcat 指定监听ip

加上 address="127.0.0.1"

<Connector port="8080" address="127.0.0.1" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />

startup.bat启动后,netstat -an | findstr "8080"查看监听情况。

  TCP    127.0.0.1:8080         0.0.0.0:0              LISTENING

如果没有指定ip则是这样:

  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING
  TCP    [::]:8080              [::]:0                 LISTENING

springboot指定监听ip

1.application配置文件:

server.address= ip
server.port= port

2.启动参数

-Dserver.address=ip -Dserver.port=port

3.实现接口org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.setPort();
        container.setAddress();
    }

回环地址

所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。

小说明:正常的数据包会从IP层进入链路层,然后发送到网络上;而给回环地址发送数据包数据包会直接被发送主机的IP层获取,后面就没有链路层他们啥事了。

127.0.0.1作为{127}集合中的一员,当然也是个回环地址。只不过127.0.0.1经常被默认配置为localhostIP地址
一般会通过ping 127.0.0.1来测试某台机器上的网络设备是否工作正常。

本机IP

本机IP通常仅指在同一个局域网内,能同时被外部设备访问和本机访问的那些IP地址(可能不止一个)。像127.0.0.1这种一般是不被当作本机IP的。本机IP是与具体的网络接口绑定的,比如以太网卡、无线网卡或者PPP/PPPoE拨号网络的虚拟网卡,想要正常工作都要绑定一个地址,否则其他设备就不知道如何访问它。


https://www.jianshu.com/p/ad7cd1d5be45
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

globalcoding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值