IP 地址原理

通过可视化实验理解 IPv4 地址的二进制结构、网络位与主机位、CIDR 前缀,学会计算网络地址、广播地址与可用地址范围。

入门 约 15 分钟 交互实验IPv4二进制CIDR网络地址广播地址

跟随步骤学习:播放动画、单步执行、点击左侧步骤随时跳转。

开始学习

点击 播放 或 下一步 开始。每一步动画都对应一条原理解释, 右侧面板展示来自模拟器的实时数据;学完动画后,页面底部有完整图文正文。

本教程目标: 理解 IPv4 地址是 32 位二进制数,点分十进制只是它的展示形式;分清地址中的网络位与主机位,理解 CIDR 前缀(如 /24)的含义;学会计算一个网段的网络地址、广播地址与可用主机范围;知道 /31、/32 等特殊前缀的可用地址规则。

图文正文ARTICLE

即使不播放动画,也可以通过以下内容理解本教程的知识点。

IPv4 地址的本质:32 位二进制

一个 IPv4 地址在计算机里就是 32 个比特(4 个字节)。我们常见的「192.168.1.100」只是把 4 个字节分别转成十进制、再用点连接起来的人类友好写法,叫点分十进制。

以 192.168.1.100 为例,它的二进制形式是:

  • 192 → 11000000
  • 168 → 10101000
  • 1 → 00000001
  • 100 → 01100100

每个字节能表示 0 ~ 255,所以点分十进制里任何一段超过 255 或出现负数都是非法地址。这也是为什么 256.1.1.1 不是合法 IPv4 地址。

网络位与主机位:CIDR 前缀的含义

IPv4 地址被分成两部分:网络位(标识属于哪个网段)和 主机位(标识网段内的具体设备)。

分隔位置由 CIDR 前缀决定。比如 192.168.1.100/24 表示前 24 位是网络位,后 8 位是主机位。前 24 位写成十进制就是子网掩码 255.255.255.0 —— 掩码里二进制连续的 1 对应网络位,连续的 0 对应主机位。

  • /24 → 255.255.255.0 → 主机位 8 位
  • /16 → 255.255.0.0 → 主机位 16 位
  • /30 → 255.255.255.252 → 主机位 2 位

同一个网段的设备,网络位必须完全相同,主机位彼此不同。设备判断「目标 IP 是否和我同网段」的方法,就是把双方 IP 分别与自己的掩码做按位与,再比较结果。

网络地址、广播地址与可用范围

把主机位全部置 0,得到这个网段的网络地址(如 192.168.1.0/24),它代表整个网段本身,不能分配给设备。

把主机位全部置 1,得到广播地址(如 192.168.1.255/24),发往它的数据帧网段内所有主机都会接收。

夹在两者之间的就是可用主机地址范围。可用数量是 2 的主机位次方再减 2(去掉网络地址和广播地址):/24 有 2 的 8 次方 - 2 = 254 个可用地址。

有两个特殊前缀不适用「减 2」规则:

  • /31:按公式没有可用地址,但 RFC 3021 规定点对点链路上两个地址都可以用,常用于路由器互联。
  • /32:表示单个主机地址本身,常用于回环地址或精确主机路由。

公有 IP 与私有 IP

并非所有 IPv4 地址都能在公网上路由。RFC 1918 划分了三段私有地址,仅限内网使用:

  • 10.0.0.0/8(10.0.0.0 ~ 10.255.255.255)
  • 172.16.0.0/12(172.16.0.0 ~ 172.31.255.255)
  • 192.168.0.0/16(192.168.0.0 ~ 192.168.255.255)

私有地址在不同内网中可以重复使用,必须通过 NAT(网络地址转换)映射成公有地址才能访问互联网。这正是全球 IPv4 地址不够用还能撑几十年的关键设计。

此外还有几个特殊段:127.0.0.0/8 是回环地址(127.0.0.1 代表本机),169.254.0.0/16 是 DHCP 失败后的链路本地地址。