返回技术博客

SKNK 中文技术指南

什么是 IPv4?地址、子网、耗尽,以及网络为什么还在用它

IPv4 是什么?32 位地址怎么读、/24 到底量的是什么、地址为什么不够用,以及 NAT、租赁、CIDR 和双栈是怎么让这套老协议撑到今天的。

周五要上线,工单是周一大早提的:新服务器,要一个公网 IPv4。你以为这是个采购问题,结果报价单看完更糊涂了——ISP 说整段 /24 拿不出来,只能给几个地址;租赁中介报了个 /25,价格便宜一半;云厂商那边倒是爽快,点几下控制台,一小时 IP 就弹出来了。同一样东西,三种说法,价差快一个数量级。

更糟的是聊天记录里的术语。"这个 /25 能用你自己的 ASN 宣告吗?""ROA 登记了吗?"地址、前缀、宣告、授权,全搅在一句话里。这篇文章把这些东西一件件拆开:IPv4 本身是什么、斜杠后的数字量的是什么、地址为什么不够用、不够了大家靠什么继续跑。BGP 配置不在范围内——它只出现到"地址在哪结束、路由从哪开始"为止。

开篇定义: IPv4(Internet Protocol version 4)是网络层协议,今天仍广泛运行在互联网中。每个数据包都发往一个 32 位地址,写成点分十进制就是 192.0.2.1 这样的形式。在特定网络上下文里,一个地址通常对应一个网络接口——它不是前缀,不是路由,也不是公司。

1. 32 个格子,四个数字

先看一个你每天都在见的东西:192.168.1.1。家用路由器的管理页面,十个人里有八个是在这个地址上输密码的。它就是一个 IPv4 地址——32 个二进制位,每 8 位一组,共四组,每组换算成 0 到 255 的十进制数,中间拿点隔开:

192.0.2.1
= 192 . 0 . 2 . 1
= 11000000 . 00000000 . 00000010 . 00000001

这 32 位在实际使用中分成两段:前面一段是网络部分,说明这个地址属于哪个网络;后面一段是主机部分,说明是这张网里的哪台设备。切分点落在哪一位,地址本身不写——那是前缀长度的事,也是这套体系里最值得搞懂的一个概念,什么是 IP Prefix?有完整展开。

白脸小鹿展开一条完整的 32 格地址纸带,纸带分成四组、每组八格,小鹿举起末端单独的一格,标出一台设备的地址。

一个 IPv4 地址就是 32 位:四个八位组,写成四个 0–255 的十进制数。

顺带说一句,IPv4 交付数据是"尽力而为":不保证到、不保证只到一次、不保证按顺序到。可靠性是上层的 TCP 在兜底。这套设计 1981 年写进 RFC 791,四十多年了,骨架没变过。

2. /24 量的是范围,不是地址

报价单上那个 /24,量的从来不是"256 台服务器"。斜杠后面的数字叫前缀长度——网络部分固定多少位。固定的位数越多,剩下的自由位越少,范围就越小。每多固定一位,范围砍一半。

写法 范围内的地址数 常见语境
/8 16,777,216 早期的大块分配,整个运营商级别
/16 65,536 大型企业地址块
/24 256 广泛传播时常见的实际边界
/32 1 单个地址

/24 是 256 个地址,/25 是它的一半,128 个。还有一笔账要单独算:当一个 /24 被当作局域网子网用的时候,第一个地址是网络地址、最后一个是广播地址,真正能配给机器的是 254 个。当它作为路由块被宣告时,算法又不一样。别把"256"直接当成"256 台可用服务器"。

白脸小鹿在两条平行的地址纸带上滑动黑色夹子:上面的纸带留下较长的自由段,下面的纸带只留下较短的尾巴。

前缀长度固定前 N 位:固定的位数越多,剩下的地址越少——每加一位,砍一半。

3. 地址、前缀、路由、宣告,四个词四种活

前面报价单的混乱,根子在于四个概念被当成了一个。它们各自回答不同的问题:

概念 回答的问题
IPv4 地址 这个接口用哪个地址
IPv4 Prefix 这段地址覆盖哪个范围
Route 去这个范围的流量该往哪送
BGP 宣告 哪个网络正在声明"到我这有路"

四行各自独立,各自可能对、也可能坏。你可以持有地址但从没宣告过;可以宣告一段根本不属于你的范围(这会出事,但技术上拦不住你配置);也可以手里有合法的前缀,路由却没人帮你传播。记住这个"各自独立",后面每一节都是它的变体。

4. 公网、私网、NAT:一张表说清

再讲一个实际场景。你在家查"我的 IP",网页显示 100.64.x.x——这通常说明你的宽带在运营商级 NAT(CGNAT)后面,很多用户共享几个公网地址,100.64.0.0/10 这段地址就是专门为这事留的。手机流量也一样,不少 4G/5G 用户会经过 CGNAT。

公网 IPv4 私网 IPv4(RFC 1918) NAT
例子 203.0.113.7 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 一个公网地址带一群私网设备
互联网可路由? 有路由就可以 不行,保留给内部用 只有公网那一侧可以
谁在用 服务器、路由器 所有局域网、办公室、家里的路由器 家庭宽带、移动网络、不少云默认配置

三个误区值得当场拆掉,因为每一个都会让人花冤枉钱:

  • 私网地址不是"质量差的公网地址"。 它是刻意保留、可重复使用的空间。全世界千万个网络里同时存在 192.168.1.1,这不是浪费,是设计。
  • NAT 解决的是地址复用,不是公网可达。 它让几十亿设备挤在缩水的地址池后面,但 NAT 后面的设备默认从外面进不来。
  • 有公网 IPv4 不等于全球能访问你。 可达性是路由的属性:没有宣告、没人接受、没人传播,就没有访客——哪怕地址登记在你名下。

5. /24 在全球路由里为什么被反复提到

聊 BGP 的地方迟早会冒出 /24 这道坎。实际的情况比传说要窄:

  • 很多网络对 IPv4 设置了前缀长度过滤,比 /24 更具体的——也就是 /25、/26——直接不收。
  • 于是 /24 成了全球 IPv4 路由里一个约定俗成的实际边界:通常能指望被广泛传播的最具体长度。
  • /25 技术上完全可以配置、可以宣告,你的路由器不会报半个错。但它能不能传出你的上游,取决于路径上每一个网络自己的过滤策略。

所以"能宣告"和"全球可见"是两句话,说话的人都不一样——前者你自己就能说,后者要路径上所有人点头。这个缝隙正是 IPv4 小于 /24 的租赁那篇的主角;同一串条件放到 IPv6 世界里长什么样,看怎么通过 BGP 宣告 IPv6 /48。

6. 地址是怎么"用完"的,现在从哪来

43 亿个地址,对上几十亿部手机,再算上服务器、路由器、摄像头、汽车,这笔账从来就没宽裕过。时间线不复杂:2011 年,IANA 把中央池里最后几个 /8 分给了各区域注册机构;随后几年,各 RIR 一个接一个见底——负责欧洲、中东和中亚的 RIPE NCC 在 2019 年宣布可分配的 IPv4 清零。

从那以后,供给就变成了二级市场。地址被租赁(按合同期限取得使用权)、转让(按注册政策永久过户)、回收(从沉睡的分配里抠出来)、复用(靠 NAT 和 CGNAT 把一个地址掰成一片用)。没有任何一步凭空变出新地址,变的只是谁持有、用得多狠。

层级上记住四个词就够:IANA 管全球总池,RIR 按区域分,LIR(比如 SKNK)在区域内持有和分配资源、帮用户走注册流程,End User 从前面某一层拿到使用权。再深就轮到另一篇文章了。

而"拿到地址"这件事,含义差别大到能在你搬家那天引爆:

来源 你实际拿到的是什么
ISP 提供 随接入服务一起的使用权——换 ISP 就得重新编号
云厂商 绑定在云资源上的地址——资源释放,地址回收
IPv4 租赁 固定期限内的合同使用权——注册关系始终在持有方手里
PI 资源 登记在你名下的独立资源,管理关系更直接
PA 资源 挂在某个 LIR 之下的分配——依附于这层关系

几句必须说透的话:有 ASN 不等于有 IPv4 地址,两样东西谁也不送谁。租赁不转移所有权,期限内注册记录一直在持有方那里。能在 BGP 里宣告一段前缀,也不代表这段资源以后能跟着你走。签合同之前,把合同、RPKI 记录、IRR 对象、上游授权四样东西分开核对——任何一样都能独立地让另外三样的承诺作废。

7. 从一个地址到全球可见,中间隔着什么

地址躺在注册表里和它在公网可达,中间隔着一条链,每一环都可能单独断掉:

白脸小鹿把一封没有文字的信依次递过三道闸门,闸门之后,信的副本沿四条独立路径继续往前走。

从地址资源到全球可见:授权记录、路由器配置、上游过滤,各自独立决定这条路由走不走得远。

  1. 资源存在——你持有、租赁或从 LIR 获得了一段前缀。
  2. 授权被登记——ROA 声明预期起源 ASN,IRR Route Object 登记路由意图供过滤器参考。
  3. BGP 宣告——你的路由器配置以你的 ASN 为起源把前缀发给上游。
  4. 上游过滤与接受——每个网络按自己的策略,组合核对 ROA、IRR、前缀长度和本地规则,再决定传不传。
  5. 传播并被观测到——looking glass、路由采集器里能看到这条路由了。

五个角色,一个不多:IPv4 地址是资源,ASN 是网络身份,BGP 是交换机制,ROA 是起源授权,IRR Route Object 是过滤参考。任何一层出问题——ROA 过期、Route Object 缺失、前缀太具体、上游卡得严——都会让你的可见性悄悄缩水,而其他所有环节看起来都健康得很。

角色分工顺带说一句:SKNK 提供 ASN 赞助和 IPv6 PA /48 分配(含 SKNK PA 资源的 RPKI ROA 管理),不销售附带全球路由保证的 IPv4,也不替客户运营 BGP——上游选择和路由器配置由客户负责,另有书面约定除外。

8. IPv4 和 IPv6,到底差在哪

IPv4 IPv6
地址长度 32 位 128 位
地址数量 约 43 亿 多到用不完
写法 点分十进制 192.0.2.1 十六进制 2001:db8::1
对 NAT 的依赖 普遍且结构性 通常很少
地址供给 已耗尽,走二级市场 新申请仍充足
路由颗粒习惯 /24 实际边界 /48 分配、/64 一个局域网
迁移方式 继续跑、加大复用 双栈起步,逐步过渡

两个极端都别信。IPv6 不"更快",IPv4 也不会哪天突然消失。现实的图景是两套协议并行跑很多年——另一边的故事,什么是 IPv6?讲得完整。

9. 六个常见误区

  1. "IPv4 地址就是 IPv4 Prefix。" 地址是一个端点,Prefix 是一段范围。宣告、ROA、租赁,操作的全是范围。
  2. "有公网地址,全世界就能访问我。" 还得有人宣告、有人接受、有人传播。地址是必要条件,不是充分条件。
  3. "有 ASN 就等于有 IPv4 资源。" ASN 是路由身份,不带地址;地址也不带 ASN。
  4. "/25 一定不能通过 BGP 宣告。" 能配置、能宣告。没保证的是能不能传过前缀长度过滤——那是每一个 transit 网络自己的决定。
  5. "ROA 是 Valid 的,路由就一定通。" Valid 只代表起源验证通过,豁免不了前缀长度过滤、本地策略和下游的配置错误。
  6. "IPv6 都出来了,IPv4 没价值了。" IPv4 仍被广泛使用,租赁市场价是真金白银,双栈意味着两边都得伺候好。

FAQ

IPv4 地址一共有多少个?

4,294,967,296 个,2 的 32 次方。其中相当一部分属于私网、组播、文档和其他特殊用途,不会作为普通公网地址出现。

192.168.1.1 是公网地址吗?

不是。192.168.0.0/16 属于 RFC 1918 私网段,同样的地址在全世界几百万个网络里同时合法存在——这正是它的用途。

/24 和 /25 差在哪?

只差大小:/24 是 256 个地址,/25 是一半,128 个。但在全球路由里这个差别不是零头——/25 比很多网络的过滤边界更具体。

IPv4 地址可以租赁吗?

可以。注册机构清零之后,租赁按合同期限提供一段已登记地址的使用权,价格由市场决定。整个租期内,注册记录通常一直留在持有方名下。

租了 IPv4 之后,能用自己的 ASN 宣告吗?

技术上可以配置 BGP 宣告,但租约不会自动授权你这样做:必须由资源持有人或服务商明确允许你的 ASN,并配套建立匹配的 ROA 和 IRR 记录。能不能全球传播,还取决于前缀长度和每个网络的过滤策略。能宣告和能到达,是两个问题。

IPv4 和 IPv6 能同时用吗?

能,而且这就是现在的标准姿势——双栈。一台服务器两边各拿一个地址,两边都服务,客户端有什么用什么。

为什么还需要 NAT?

因为它把一个公网地址变成了一整个网络的出口,也因为在二级市场上公网 IPv4 是要花真钱买的。NAT 活下来靠的是经济账,不是优雅。

IPv4 会彻底消失吗?

看不出任何值得押注的时间表。更现实的预期是相对份额长期、不均匀地下滑,IPv6 占比爬升,两套协议在可预见的将来并存。

结尾

Key Takeaways:

  • IPv4 是 32 位、尽力而为的网络层协议,一个地址对应一个接口。
  • 地址、Prefix、路由、宣告回答四个不同的问题,各自独立地坏。
  • 私网和 NAT 是设计出来的省地址手段,不是"次等地址"。
  • 前缀越长范围越小;/24 是 IPv4 全球传播的实际边界,不是物理定律。
  • 耗尽催生了二级市场:租赁、转让、复用,叠在 IANA → RIR → LIR → End User 之上。
  • 可达性是一条链,任何一环都能单独断。

一句话总结: IPv4 是互联网仍在依赖的 32 位寻址系统——但地址归谁、前缀多宽、BGP 有没有宣告、全球能不能到达,是四个独立的问题。

继续阅读:

技术资料核对: RFC 791、RFC 1918、RFC 4632(CIDR)、RFC 6598(CGNAT 共享地址空间)、RIPE NCC IPv4 耗尽说明。