IPv4 编址体系与分类地址
为什么需要 IP 地址
MAC 地址(如 00:1A:2B:3C:4D:5E)是网卡的"身份证号",出厂就烧录,全球唯一。但它是扁平的、无结构的——你无法从 MAC 地址看出这台设备在哪个城市、哪个楼层。
IP 地址是分层的、有结构的,就像"广东省广州市天河区xxx路xx号",路由器看到前缀就能决定"往南方走"还是"往北方走"。IP 地址是为了路由而生。
IPv4 地址的构成
IPv4 地址是 32 位二进制数,通常写成 点分十进制(Dotted Decimal),如 192.168.1.1。每段 8 位(1 字节),范围 0-255。
把 192.168.1.1 展开:
192 = 11000000
168 = 10101000
1 = 00000001
1 = 00000001
32 位意味着 IPv4 地址空间只有 2³² ≈ 43 亿 个地址,不够全球人手一个,所以才有了后来的 NAT 和 IPv6。
分类编址:A/B/C/D/E 五类地址
早期互联网把地址分成五类,就像把电话号码分成"本地号""长途号""特服号":
| 类别 | 首字节范围 | 默认掩码 | 用途 | 网络数 | 每网主机数 |
|---|---|---|---|---|---|
| A | 0~127 | 255.0.0.0 (/8) | 大型网络 | 128 | 16,777,214 |
| B | 128~191 | 255.255.0.0 (/16) | 中型网络 | 16,384 | 65,534 |
| C | 192~223 | 255.255.255.0 (/24) | 小型网络 | 2,097,152 | 254 |
| D | 224~239 | 无 | 组播 | - | - |
| E | 240~255 | 无 | 保留实验 | - | - |
判断技巧:看第一个十进制数,就像看手机号段:
- 138 开头是中国移动 → A 类
- 186 开头是中国联通 → B 类
- 133 开头是中国电信 → C 类
具体例子
10.0.0.1:10 在 0~127 之间,A 类172.16.0.1:172 在 128~191 之间,B 类192.168.1.1:192 在 192~223 之间,C 类224.0.0.1:224 在 224~239 之间,D 类(组播)
上图直观展示了五类地址的分布范围。判断时只需看第一个十进制数落在哪个区间,即可快速分类。
私有地址空间(RFC 1918)
不是所有地址都能在互联网上公开路由。RFC 1918 规定了三个私有地址范围,就像小区内部的门牌号,只在局域网内有效:
| 地址块 | 范围 | 可容纳主机数 | 常见场景 |
|---|---|---|---|
10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255 | 1600 万+ | 大型企业、云厂商 |
172.16.0.0/12 | 172.16.0.0 ~ 172.31.255.255 | 100 万+ | 中型企业 |
192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255 | 6.5 万+ | 家庭路由器、小型办公 |
生活例子:你家小区叫"幸福里",1 号楼 2 单元 301。全国可能有 100 个"幸福里",但邮递员只认你所在城市的"幸福里"。私有地址同理——192.168.1.1 可能存在于千万个家庭路由器中,但出小区(出网关)后,NAT 会把它换成公网地址。
特殊地址备忘录
| 地址/范围 | 含义 | 用途 |
|---|---|---|
0.0.0.0/8 | 本网络 | 启动时临时使用,表示"我还不知道自己在哪" |
127.0.0.0/8 | 环回(Loopback) | 127.0.0.1 = localhost,数据包不离开本机 |
255.255.255.255 | 受限广播 | 只在本子网内广播,路由器不转发 |
169.254.0.0/16 | 链路本地(APIPA) | DHCP 失败时自动分配,无法上网 |
100.64.0.0/10 | CGNAT(RFC 6598) | 运营商级 NAT 专用,家庭用户可能拿到 |
环回地址详解
127.0.0.1 就像你对着镜子说话——声音没出门就反射回来了。当你 ping 127.0.0.1 时,数据包从应用层下到 IP 层,IP 层发现目的地址是 127.x.x.x,直接交回给上层,不经过网卡、不经过驱动、不经过网线。
测试本地 TCP/IP 协议栈是否正常?ping 127.0.0.1 通了就说明协议栈没问题。
定向广播(已废弃)
192.168.1.255 是子网 192.168.1.0/24 的定向广播地址。早期用于向整个子网发通知,但因 Smurf 攻击(伪造源地址发广播包,引发全网回复淹没受害者)已被禁用。现代路由器默认丢弃定向广播。
本篇小结
- IPv4 地址 32 位,点分十进制表示
- A/B/C 类地址按首字节划分,D 类组播,E 类保留
- 私有地址(RFC 1918)只在局域网有效,出网需 NAT
127.0.0.1是环回,0.0.0.0表示本机,255.255.255.255是受限广播100.64.0.0/10是运营商 CGNAT 地址,不是你的"公网 IP"
动手实践
- 查看本机 IP:
ipconfig(Win)或ip addr(Linux),判断属于 A/B/C 哪类?是私有地址吗? - 尝试
ping 127.0.0.1、ping 127.1.1.1、ping 127.255.255.255,观察是否都通?(整个 127.0.0.0/8 都是环回) - 拔掉网线,观察 Windows 是否会自动分配
169.254.x.x(APIPA)地址