监听 0.0.0.0 与 127.0.0.1 的区别

0.0.0.0 的定义

在三种不同的上下文有不同的含义:

  • 作为主机地址 表示服务端监听任何 ipv4 地址
  • 作为默认路由 表示一种类型地址的集合,当路由器在路径表中查不到目的地址的输出路径时,将数据报从地址为 0.0.0.0 所指的端口输出。
  • 作为网络协议的地址

  • https://www.wikiwand.com/en/0.0.0.0

127.0.0.1 的定义

回路地址:127.x.x.x,这个地址用于提供主机本身网络配置和协议栈内部回路的测试。目的地址为 127.x.x.x 的数据不会被主机发送到网络中,而是直接从发送口传送到主机的接收口,用于检测主机的发送和接收的操作。

我们习惯于使用 127.0.0.1,实际上, 如果你在命令行下 ping 127.0.0.1-127.255.255.254 之间的任意地址,结果都是一样的,它们是等价的。 正常的网络包从 ip 层进入链路层,然后发送到网络上, 而发向 loopback 地址的包,直接在 IP 层短路了,也就是发到 IP 层的包直接被 IP 层接收了,不再向下发送。

255.255.255.255 的定义

广播地址: 目的地址为 255.255.255.255 的数据报将会发送到子网内所有主机。

特定子网的广播地址:保持网络地址不变,主机号全为1,表示向网络地址所指定的子网所有主机发送广播数据报。