IPv4 地址范围与作用
IPv4 地址基础
Section titled “IPv4 地址基础”IPv4 地址由 32 位二进制组成,通常用点分十进制表示,如 192.168.1.1。
二进制:11000000.10101000.00000001.00000001十进制: 192 . 168 . 1 . 132 位意味着总共有 2³² ≈ 43 亿个地址。看似很多,但全球设备远超这个数,所以才有了私网地址、NAT、IPv6 等方案。
一个 IP 地址分为两部分:
|<--- 网络位 --->|<--- 主机位 --->| 标识哪个网络 标识网络内的哪台设备五类地址划分
Section titled “五类地址划分”IPv4 地址按首字节的二进制前缀分为 A~E 五类。日常使用的是 A、B、C 三类。
| 类别 | 首字节范围 | 默认子网掩码 | 网络数 | 每网络主机数 | 定位 |
|---|---|---|---|---|---|
| A 类 | 1 ~ 126 | 255.0.0.0 (/8) | 126 | ~1677 万 | 超大型网络 |
| B 类 | 128 ~ 191 | 255.255.0.0 (/16) | ~1.6 万 | ~6.5 万 | 中型网络 |
| C 类 | 192 ~ 223 | 255.255.255.0 (/24) | ~209 万 | 254 | 小型网络 |
| D 类 | 224 ~ 239 | — | — | — | 组播 |
| E 类 | 240 ~ 255 | — | — | — | 保留/实验 |
A 少网多机,C 多网少机
A 类:网络少(126 个)、主机多(1677 万台)—— 适合超大组织 C 类:网络多(209 万个)、主机少(254 台)—— 适合小型局域网
把 IP 地址想象成「省份 + 门牌号」:
- A 类:全国只分 126 个省,每个省有 1677 万个门牌号 → 超级大省
- B 类:分了 1.6 万个市,每个市 6.5 万个门牌号 → 中等城市
- C 类:分了 209 万个小区,每个小区 254 个门牌号 → 小区物业
公网地址 vs 私网地址
Section titled “公网地址 vs 私网地址”这是最重要的实用知识:不是所有 IP 都能在互联网上使用。
公网 IP 是全球唯一的,可以在互联网上直接路由和访问。比如你访问 baidu.com,DNS 解析出的就是百度服务器的公网 IP。
私网地址(RFC 1918)
Section titled “私网地址(RFC 1918)”为了节省公网 IP,RFC 1918 规定了三段仅限内部网络使用的地址,这些地址不会出现在互联网上:
| 类别 | 地址范围 | CIDR | 可用地址数 | 常见场景 |
|---|---|---|---|---|
| 私网 A | 10.0.0.0 ~ 10.255.255.255 | 10.0.0.0/8 | ~1677 万 | 大型企业内网、云 VPC |
| 私网 B | 172.16.0.0 ~ 172.31.255.255 | 172.16.0.0/12 | ~104 万 | Docker 默认网络、中型企业 |
| 私网 C | 192.168.0.0 ~ 192.168.255.255 | 192.168.0.0/16 | ~6.5 万 | 家庭路由器、小型办公网 |
10 / 172 / 192 三兄弟
10.x.x.x—— 最大的私网段,企业和云平台爱用172.16~31.x.x—— 中间段,Docker 默认用这个192.168.x.x—— 最常见,你家 WiFi 路由器就是这个
私网如何访问互联网?
Section titled “私网如何访问互联网?”通过 NAT(网络地址转换):路由器把私网地址转换成自己的公网地址发出去,收到响应后再转回来。
你的电脑 路由器 互联网192.168.1.100 → NAT 转换 → 203.0.113.5 → 目标服务器 ← NAT 还原 ← ← 响应除了五类地址和私网地址,还有几个必须知道的特殊地址:
127.0.0.0/8 — 回环地址(Loopback)
Section titled “127.0.0.0/8 — 回环地址(Loopback)”127.0.0.1 → 就是 localhost- 整个
127.x.x.x段都是回环地址,但实际几乎只用127.0.0.1 - 数据不会离开本机网卡,用于本地服务测试
- 开发中
localhost:3000、localhost:8080都是通过它访问
169.254.0.0/16 — 链路本地地址(Link-Local)
Section titled “169.254.0.0/16 — 链路本地地址(Link-Local)”- DHCP 分配失败时,操作系统自动分配的临时地址
- 看到设备 IP 是
169.254.x.x,说明网络连接有问题 - 仅在同一物理链路内可通信,不能跨路由器
0.0.0.0 — 「所有地址」
Section titled “0.0.0.0 — 「所有地址」”含义取决于上下文:
| 场景 | 含义 |
|---|---|
服务监听 0.0.0.0:8080 | 监听本机所有网卡的所有 IP |
路由表中 0.0.0.0/0 | 默认路由,匹配所有目标地址 |
| DHCP 请求源地址 | 表示「我还没有 IP 地址」 |
255.255.255.255 — 广播地址
Section titled “255.255.255.255 — 广播地址”- 向同一子网内所有设备发送数据
- DHCP 客户端在获取 IP 前就是用广播来寻找 DHCP 服务器
子网掩码与 CIDR
Section titled “子网掩码与 CIDR”子网掩码决定 IP 地址中哪些位是网络位、哪些是主机位。
传统写法 vs CIDR 写法
Section titled “传统写法 vs CIDR 写法”传统:192.168.1.0 子网掩码 255.255.255.0CIDR:192.168.1.0/24 ← /24 表示前 24 位是网络位常用 CIDR 速查
Section titled “常用 CIDR 速查”| CIDR | 子网掩码 | 可用主机数 | 常见用途 |
|---|---|---|---|
| /8 | 255.0.0.0 | 16,777,214 | A 类默认 |
| /16 | 255.255.0.0 | 65,534 | B 类默认 |
| /24 | 255.255.255.0 | 254 | C 类默认,最常用 |
| /32 | 255.255.255.255 | 1 | 单台主机,安全组规则常见 |
快速计算主机数
Section titled “快速计算主机数”可用主机数 = 2^(32-掩码位数) - 2
减去的 2 个地址:网络地址(全 0)和广播地址(全 1)
例如 /24:2^(32-24) - 2 = 256 - 2 = 254 台主机
实际工作中的应用
Section titled “实际工作中的应用”云服务器(阿里云/AWS)
Section titled “云服务器(阿里云/AWS)”VPC 网段: 10.0.0.0/16 ← 私网 A 段子网 1(Web): 10.0.1.0/24 ← 254 台 Web 服务器子网 2(DB): 10.0.2.0/24 ← 254 台数据库弹性公网 IP: 47.98.x.x ← 公网 A 类地址K8s 集群
Section titled “K8s 集群”Node 网络: 10.0.0.0/16 ← 节点 IPPod 网络: 172.20.0.0/16 ← Pod IP(私网 B 段)Service 网络: 10.96.0.0/12 ← ClusterIPDocker
Section titled “Docker”默认 bridge: 172.17.0.0/16 ← 容器默认网段(私网 B 段)容器 IP 示例: 172.17.0.2宿主机访问: 127.0.0.1:8080 ← 回环地址 + 端口映射公网地址(互联网可达): A 类 1.0.0.0 ~ 126.x.x.x B 类 128.0.0.0 ~ 191.x.x.x C 类 192.0.0.0 ~ 223.x.x.x
私网地址(仅内网,需 NAT 访问外网): 10.x.x.x ← 企业/云 172.16~31.x.x ← Docker/中型 192.168.x.x ← 家庭/小型
特殊地址: 127.0.0.1 ← localhost 本机回环 169.254.x.x ← DHCP 失败,网络异常 0.0.0.0 ← 所有地址 / 未指定 255.255.255.255 ← 广播