什么是 IPv4 地址
IPv4 地址是用来标识网络接口的 32 位数字。人们用点分十进制书写它:四个 0 到 255 的数字,每个代表 8 位(一个八位组)。192.0.2.10 实际上是 11000000 00000000 00000010 00001010。
32 位可以表示约 43 亿个地址(2³²)。1981 年 RFC 791 定义该协议时,这个数字看起来绰绰有余;但对于今天数以十亿计的手机、电脑和服务器来说远远不够——这就是 IPv6 出现的原因,也是大多数 IPv4 网络如今共享地址的原因。
公网地址与私有地址
公网地址全球唯一,并在互联网上路由。你家的路由器或移动运营商拥有一个公网地址,访问网站也要通过它。
私有地址(RFC 1918)可以在任何网络内部重复使用,绝不会在公共互联网上路由:
| 范围 | CIDR | 地址数 |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,536 |
使用私有地址的设备通过 NAT(网络地址转换)访问互联网:路由器改写出站数据包,让它们带上路由器的公网地址。所以本站显示的地址通常是你路由器的,而不是你笔记本电脑的。
CGNAT 与 100.64.0.0/10
许多运营商,尤其是移动网络,还会再加一层 NAT——运营商级 NAT(CGNAT)。这时你的路由器会从共享地址段 100.64.0.0/10(RFC 6598)获得地址,成百上千的用户共用一个公网 IPv4 地址。如果路由器里的 WAN 地址与本站显示的不同,你很可能处在 CGNAT 之后。
CIDR 记法与子网
无类别域间路由(CIDR,RFC 4632)把一个地址块写作 地址/前缀长度。前缀长度表示开头有多少位是固定的——即网络部分;其余是主机部分。
/24→ 8 个主机位 → 256 个地址(如192.168.1.0 – 192.168.1.255)/16→ 16 个主机位 → 65,536 个地址/32→ 单个地址
在传统子网中,第一个地址是网络地址,最后一个是广播地址,因此 /24 有 254 个可用主机。点对点链路可以使用两个地址都可用的 /31(RFC 3021)。
在 CIDR 出现之前,地址按固定的类别分配——A 类(/8)、B 类(/16)和 C 类(/24)。分类方式浪费地址空间,于 1993 年被废弃,但这些术语至今仍能听到。
- 网络地址
- 192.168.1.0
- 广播地址
- 192.168.1.255
- 可用主机数
- 254
- 范围
- 私有Private-Use
特殊用途地址
有些地址块被 IANA 保留用于特定目的,永远不会分配给用户。下表由 IANA 特殊用途地址注册表生成,本站也用它来对每次查询进行分类。
| 地址块 | 用途 | 参考 | 全球可达 |
|---|---|---|---|
| 0.0.0.0/8 | This network | RFC 791 | 否 |
| 10.0.0.0/8 | Private-Use | RFC 1918 | 否 |
| 100.64.0.0/10 | Shared Address Space (CGNAT) | RFC 6598 | 否 |
| 127.0.0.0/8 | Loopback | RFC 1122 | 否 |
| 169.254.0.0/16 | Link-Local | RFC 3927 | 否 |
| 172.16.0.0/12 | Private-Use | RFC 1918 | 否 |
| 192.0.0.0/24 | IETF Protocol Assignments | RFC 6890 | 否 |
| 192.0.2.0/24 | Documentation (TEST-NET-1) | RFC 5737 | 否 |
| 192.31.196.0/24 | AS112-v4 | RFC 7535 | 是 |
| 192.52.193.0/24 | AMT | RFC 7450 | 是 |
| 192.88.99.0/24 | Deprecated 6to4 Relay Anycast | RFC 7526 | 否 |
| 192.168.0.0/16 | Private-Use | RFC 1918 | 否 |
| 192.175.48.0/24 | Direct Delegation AS112 Service | RFC 7534 | 是 |
| 198.18.0.0/15 | Benchmarking | RFC 2544 | 否 |
| 198.51.100.0/24 | Documentation (TEST-NET-2) | RFC 5737 | 否 |
| 203.0.113.0/24 | Documentation (TEST-NET-3) | RFC 5737 | 否 |
| 224.0.0.0/4 | Multicast | RFC 5771 | 否 |
| 240.0.0.0/4 | Reserved for future use | RFC 1112 | 否 |
| 255.255.255.255/32 | Limited Broadcast | RFC 919 | 否 |
IPv4 为何耗尽
IANA 于 2011 年 2 月把最后的空闲 /8 地址块分给了五大地区互联网注册管理机构。随后各 RIR 相继耗尽——APNIC 在 2011 年,RIPE NCC 的常规分配在 2019 年。如今,新的 IPv4 地址只能通过二级市场转让获得,单个地址售价可达数十美元。
业界的应对分为三部分:用 NAT 共享地址,在运营商侧部署 CGNAT,以及采用地址空间足以免去共享需求的 IPv6。
常见问题
- IPv4 地址一共有多少个?
- 2³² = 4,294,967,296 个。其中约 37 亿个可在公共互联网上使用,其余保留给私有网络、组播和其他特殊用途。
- 192.168.1.1 是公网 IP 吗?
- 不是。192.168.0.0/16 是私有地址段(RFC 1918)。192.168.1.1 常被用作家用路由器管理页面的默认地址。
- 为什么我的 IP 地址会变?
- 大多数运营商从地址池中动态分配公网地址。路由器重新连接或租约到期时,地址可能改变。固定 IP 通常需要额外付费。
- 两台设备能有相同的 IPv4 地址吗?
- 在同一网络中不能。私有地址会在不同网络中重复使用,而 NAT 让许多设备共享一个公网地址。