回环地址 · 127.0.0.1 · 255.255.255.0 · 255.255.255.255 · localhost — 一次讲清
| 名称 | 值 | 类型 | 一句话 | 数据包去哪 |
|---|---|---|---|---|
| 回环地址 | 127.0.0.0/8 | 地址段 | 127.x.x.x 都算,发给自己,不出网卡 | → 本机内核 |
| 127.0.0.1 | 127.0.0.1 | 具体 IP | 回环地址段里最常用的那个 IP | → 本机内核 |
| localhost | hostname | 域名/主机名 | 名字,需要 DNS 解析,通常 → 127.0.0.1 | → 解析后决定 |
| 255.255.255.0 | /24 掩码 | 子网掩码 | 不是目标 IP!用来划分"网络部分"和"主机部分" | N/A(工具值) |
| 255.255.255.255 | 广播地址 | 特殊 IP | 全局广播,发给当前网段所有人,不过路由器 | → 本网段所有人 |
127.0.0.1 是最经典的回环地址(Loopback Address)。
整个 127.0.0.0/8 网段(即 127.0.0.1 ~ 127.255.255.254 所有 IP)都属于回环地址,
但日常只用 127.0.0.1 这一个。
📌 数据在内核里打了个转,不碰网卡,不出机器,速度极快
🚫 127.0.0.1 的数据包永远不会离开本机!路由表直接把它转回来
每组 8 位(一个字节),四组合起来 = 32 位 IPv4 地址
IPv4 原始分类设计(Classful)中,A 类地址第一字节范围是 1–126。
127 被故意留出来专门用于回环,因为它满足 A 类开头(最高位为 0)但超出了有效 A 类范围。
所以你有时候也会看到 127.0.0.2、127.1.2.3,它们都会回环到本机。
localhost 本质上是一个主机名(hostname),不是 IP 地址本身。
它需要经过名称解析才能变成 IP 地址。
大多数系统中 localhost → 127.0.0.1(或 IPv6 的 ::1)
如果你修改了 /etc/hosts 文件,
把 localhost 指向别的 IP,那它们就不一样了。
另外,IPv6 系统中 localhost 可能优先解析为
::1(IPv6 回环),而不是 127.0.0.1。
| 场景 | 推荐 | 原因 |
|---|---|---|
| 本地开发访问服务 | localhost | 可读性好,是惯例写法 |
| 代码里写死 bind 地址 | 127.0.0.1 | 明确,不受 DNS/hosts 影响 |
| 需要 IPv4 连接 | 127.0.0.1 | 避免 localhost → ::1 (IPv6) 问题 |
| 数据库连接字符串 | 127.0.0.1 | 明确 IPv4,避免歧义 |
255.255.255.0 不是你要访问的地址,而是一个参数,
告诉内核:这个 IP 的哪些位是"网络部分",哪些位是"主机部分"。
换成 CIDR 写法就是 /24(前 24 位是网络,后 8 位是主机)。
给定 IP: 192.168.1.100,掩码: 255.255.255.0,按位 AND 得网络地址
| 掩码 | CIDR | 网络位 | 主机位 | 可用 IP 数 | 用途 |
|---|---|---|---|---|---|
| 255.0.0.0 | /8 | 8 位 | 24 位 | 16,777,214 | A类大网络 |
| 255.255.0.0 | /16 | 16 位 | 16 位 | 65,534 | B类中等网络 |
| 255.255.255.0 | /24 | 24 位 | 8 位 | 254 | 最常见!家庭/小型办公 |
| 255.255.255.128 | /25 | 25 位 | 7 位 | 126 | 把/24切成两半 |
| 255.255.255.252 | /30 | 30 位 | 2 位 | 2 | 点对点链路 |
255.255.255.255 是一个特殊的有限广播地址(Limited Broadcast)。 向它发送数据包,当前子网内所有主机都会收到,但路由器不转发它,所以只能在本网段传播。
四组全 1,共 32 位全部是 1