路由器的第一件工作对象不是包,是网段。 地址管理就是「哪个前缀在哪一边」——这一层错一位,后面全错。
03.04 讲完产品目录,从这一节进「路由器内部到底在管什么」。 这一节算子网,是后面所有路由选择的地基。
一、前缀每加一位,主机数减半
一个 /24 是 256 个地址,能用的只有 254 个:首地址是网络号、末地址是广播地址, 两个都不能分给主机。
前缀 地址数 可用主机 典型用途
/24 256 254 办公网段 /25 128 126 半个办公网段 /26 64 62 /27 32 30 /28 16 14 小部门 /29 8 6 /30 4 2 点对点互联 /31 2 0(RFC 3021 后可 2) 点对点链路 /32 1 0 环回/主机路由
表里 /31 那一行是最容易被老资料带偏的地方:按老规矩它「可用 0」, 因为两个地址被网络号与广播占了。但 RFC 3021 之后,/31 可以专用于点对点链路,两个地址都能用。
二、点对点链路为什么偏爱 /30 和 /31
两台路由器直连,只需要两个地址。用 /24 就浪费了 252 个。
/30 是「保守做法」:两个可用地址,加网络号与广播,正好 4 个,不违反老规矩,任何设备都认。 /31 是「省地址做法」:2 个地址全用,省一半, 代价是要求两端都支持 RFC 3021——老设备可能直接拒绝配。
所以现场的做法是:运营商互联优先 /30(兼容性第一),地址紧张时再上 /31。 这也是为什么「互联段要用 /30」这句话在教材里反复出现。
三、地址规划要留白
网络里最贵的操作不是加设备,是重排地址。加一台设备改一行配置; 重排地址要改主机、改防火墙、改 NAT、改监控、改文档。
所以规划按两维切:一维是「区域」(楼层、机房、分支),一维是「功能」(办公、服务器、管理、 语音、监控)。每一维都预留一段空着。
留白的比例经验值是 30% 到 50%:一个部门现在 40 人,就给 /26(62 个可用),不是给 /27。 多给的那 30 个地址是「以后不用重排」的保险费。
四、动手 Demo:子网划分,一个 /24 能切出几个 /30
这段列出 /24 到 /32 的地址数与可用主机数,再按「一个 /24 切 /30」算最多能切几段, 并把浪费率算出来。
for p in range(24, 33):
n = 2 ** (32 - p)
T([u"/%d" % p, u"%d" % n, u"%d" % max(n - 2, 0)], [0, 0, 0])
P(u" 一个 /24 最多切 %d 个 /30。" % (256 // 4))
实跑输出:
--------------------------------------------------------------------
子网划分,一个 /24 能切出几个 /30
--------------------------------------------------------------------
**路由器的第一件工作对象是「网段」。**这一节把子网划分算清。
**前缀长度与可用主机数**:
前缀 地址数 可用主机 典型用途
-------------------------------------------------------
/24 256 254 办公网段
/25 128 126
/26 64 62
/27 32 30
/28 16 14 小部门
/29 8 6
/30 4 2 点对点互联
/31 2 0 点对点(RFC 3021)
/32 1 0 环回/主机路由
**注意 /31 与 /32 那两行「可用 0」是旧规矩**:RFC 3021 之后 /31 可以用于点对点链路,
**两个地址都能用,省一半地址。**
**所以「每个网段必须浪费两个地址」这句话在今天不成立。**
**算一个实际问题:一个 /24 要切成多少个 /30 的互联段?**
/24 有 256 个地址,一个 /30 占 4 个,所以最多 64 个 /30。
**但实际上切不出这么多**:路由器互联通常只需要几个 /30,剩下的地址要留给主机。
**所以真实做法是「先规划拓扑,再倒推子网」**,不是「先切满再说」。
**最后一条实践**:地址规划要「留白」。
**每个区域预留一段、每个功能预留一段**,**这样以后加设备不用重排——重排是网络里最贵的操作。**
256 除以 4 是 64 段,但真没人这么用:切满之后一个主机地址都不剩, 这个 /24 就只剩互联功能了。
/30 的浪费率是 50%(4 个地址只用 2 个)。 所以点对点链路一多,地址就紧张——这就是 /31 被提出来的直接原因。
「留白」在表里看不出来,但它是这张表最重要的用法:表告诉你「每种前缀能装多少人」, 规划时要拿它去反推「该给多大」,而不是「能切多细就切多细」。
30 秒实验
- 看你电脑的 IP 与掩码,算出它所在网段的首地址与末地址。
- 数一下这个网段里现在有几台设备在用,算一下占用率。
- 想一想:如果要把这个网段从 /24 扩成 /23,要改哪些东西?
常见误区
- 以为 /24 就是 255 个地址。是 256 个,可用 254 个。
- 以为点对点互联也要给 /24。两个地址就够,浪费 252 个。
- 以为地址随便先用,以后再整理。重排是全网级动作,最贵。
自测三问(点开对答案)
1. /24 为什么只能分给主机 254 个地址? —— 首地址是网络号、末地址是广播地址,两个都不能分配给主机。 2. /31 为什么能省一半地址? —— RFC 3021 允许点对点链路把两个地址都当主机地址用。 3. 为什么地址规划要留 30% 到 50% 空白? —— 以后加设备不用重排,重排地址是网络里最贵的操作。下一节:地址分好了,看一个包怎么按这些地址走完全程。
- ☐ (本节完,下一节 03.05.02 IP路由选择)