网工面试必考的子网划分,一张速算表搞定
文章目录
- 网工面试必考的子网划分,一张速算表搞定
-
- [一、开场:面试官一句"/22 有多少可用地址",我愣住了](#一、开场:面试官一句“/22 有多少可用地址”,我愣住了)
- [二、IP 地址:网络位 + 主机位](#二、IP 地址:网络位 + 主机位)
-
- [1. 类比:门牌号分"小区名"和"几号房"](#1. 类比:门牌号分“小区名”和“几号房”)
- [2. 网络位和主机位](#2. 网络位和主机位)
- [3. 子网掩码:那条"切分线"](#3. 子网掩码:那条“切分线”)
- [4. 分类地址和私网段](#4. 分类地址和私网段)
- 三、可用地址数:一个公式就够
-
- [1. 公式:2 的主机位次方,再减 2](#1. 公式:2 的主机位次方,再减 2)
- [2. 常见掩码速算表](#2. 常见掩码速算表)
- 四、子网划分:把大网"借位"切成小网
-
- [1. 类比:把大房间隔成小房间](#1. 类比:把大房间隔成小房间)
- [2. 借位:掩码变长,网变多、每个变小](#2. 借位:掩码变长,网变多、每个变小)
- [3. 子网划分怎么算(以 /26 为例)](#3. 子网划分怎么算(以 /26 为例))
- 五、VLSM:同一个网里,按需给不同大小
-
- [1. 类比:按人数分房间,别浪费](#1. 类比:按人数分房间,别浪费)
- [2. 园区网段规划](#2. 园区网段规划)
- [3. 网段规划的几条经验](#3. 网段规划的几条经验)
- [4. 一个完整的 VLSM 分配实例](#4. 一个完整的 VLSM 分配实例)
- [六、命令落点:给接口配地址(华为 VRP)](#六、命令落点:给接口配地址(华为 VRP))
-
- [1. 给 VLANIF 配 IP](#1. 给 VLANIF 配 IP)
- [2. 给物理口配 IP(路由器/三层口)](#2. 给物理口配 IP(路由器/三层口))
- [3. 异常与排查](#3. 异常与排查)
- 思科对照
- [七、🔧 运维视角 & 📐 设计视角](#七、🔧 运维视角 & 📐 设计视角)
- 八、小结与命令速查表
- 九、面试题完整解一遍:192.168.10.0/22
- [十、思考题 & 评论区接招](#十、思考题 & 评论区接招)
一、开场:面试官一句"/22 有多少可用地址",我愣住了
前几年面试,技术面聊得挺顺,最后面试官随手写了个地址:192.168.10.0/22,问我:"这个网段,有多少个可用地址?范围是多少?"
我当时脑子里光记得"/24 是 254",一到 /22 就开始打磕巴,又是拿 256 减、又是数借位,半天没算利索。面试官没为难我,但那一下我特别清楚:子网划分这东西,不是背概念,是要能秒算、能在规划里用。
后来做项目,规划地址是家常便饭:一栋楼多少人、一个部门划多大、设备互联留多少、要不要预留扩容,全靠这一套。
这一课我把 IP 地址、掩码、CIDR、子网划分、VLSM 一次讲透,再给你一张"可用地址速算表",把面试和干活都用得上的算法彻底捋顺。
二、IP 地址:网络位 + 主机位
1. 类比:门牌号分"小区名"和"几号房"
- 一个地址,比如"阳光小区 3 栋 502",前半段告诉你是哪个小区 ,后半段告诉你是小区里哪一户;
- IP 地址也一样:
192.168.10.20,前半段"网络位"指明是哪个网 ,后半段"主机位"指明是网里哪台设备; - 网络位相同的设备,才算在同一个网段里,能直接二层互通。
2. 网络位和主机位

- 一个 IPv4 地址是 32 位,分成四段,每段 8 位,用点隔开,比如
192.168.10.20; - 这 32 位里,多少位是网络位、多少位是主机位,由子网掩码决定;
- 以最常见的 /24 为例,前 24 位是网络位,最后 8 位是主机位。
3. 子网掩码:那条"切分线"
- 子网掩码也是 32 位,用连续的 1 表示网络位、连续的 0 表示主机位;
- /24 对应掩码
255.255.255.0,即前 24 位是 1; - 更省事的写法是 CIDR 前缀 :直接写
/24,表示前 24 位是网络位; - 所以
192.168.10.20/24和掩码255.255.255.0是一回事。
4. 分类地址和私网段
早年地址按"类"分,了解一下不亏:
- A 类:第一段 1~126,默认 /8,地址空间巨大;
- B 类:第一段 128~191,默认 /16;
- C 类:第一段 192~223,默认 /24,企业内网最常见;
- 现在普遍用 CIDR,不再死板按类,掩码可以任意长度。
内网规划主要用三段私网地址:
10.0.0.0/8:空间最大,大型网络随便切;172.16.0.0/12:覆盖 172.16~172.31;192.168.0.0/16:小园区最常用,系列例子基本都在这一段。
私网地址在公网上不可路由,出口靠 NAT 转换,这也是内网能反复用同一批地址的原因。
三、可用地址数:一个公式就够
1. 公式:2 的主机位次方,再减 2
- 主机位有 n 位,就能编出 2^n 个地址;
- 但每个网段里,主机位全 0 是网络地址、全 1 是广播地址,这两个不能分给设备;
- 所以可用地址数 = 2^n − 2。
怎么从掩码看出借了几位?
掩码末段是二进制的连续 1,记住几个值:
- 128 = 10000000,借 1 位;
- 192 = 11000000,借 2 位;
- 224 = 11100000,借 3 位;
- 240 = 11110000,借 4 位。
比如 255.255.255.224,末段 224 是 3 个 1,说明借了 3 位、主机位剩 5 位,可用 2^5−2 = 30。看到掩码先换算成"几个 1",后面就顺了。
2. 常见掩码速算表
| 前缀 | 掩码 | 主机位 | 可用地址 |
|---|---|---|---|
| /24 | 255.255.255.0 | 8 | 254 |
| /25 | 255.255.255.128 | 7 | 126 |
| /26 | 255.255.255.192 | 6 | 62 |
| /27 | 255.255.255.224 | 5 | 30 |
| /28 | 255.255.255.240 | 4 | 14 |
| /29 | 255.255.255.248 | 3 | 6 |
| /30 | 255.255.255.252 | 2 | 2 |
| /31 | 255.255.255.254 | 1 | 2(点对点) |
记住 /30 最常用:设备互联只要两个地址,2^2−2=2,正好。/31 是给点对点链路的特殊用法,省地址,具体要看设备支持。
四、子网划分:把大网"借位"切成小网
为什么非得划分子网?一个大网不行吗?
- 控制广播:一个网段设备越多,广播帧(ARP、DHCP)越多,几百台在一个网里,广播能把性能拖下来;
- 安全隔离:财务、服务器、办公分开,一个网段出问题不至于全网连坐,也方便做访问控制;
- 便于管理:按部门、按区域划段,看地址就知道位置,故障定位快;
- 子网划分不是"为划而划",是为了把网络做得更稳、更清楚。
1. 类比:把大房间隔成小房间
- 一个大房间(大网段),住的人太杂、广播太吵;
- 就借一点空间砌墙,隔成几个小房间(小网段),每个房间独立、互不干扰;
- 这道"墙",就是往主机位借位,让网络位变长。
2. 借位:掩码变长,网变多、每个变小

- 以
192.168.10.0/24为例,借 1 位主机位当网络位,掩码变成 /25; - 就切成了两个网段:
192.168.10.0/25和192.168.10.128/25,每个可用 126; - 规律:每借 1 位,网段数量翻倍,每个网段的可用地址减半;
- 掩码越长,网段越多,每个网段越小。
3. 子网划分怎么算(以 /26 为例)
- 借 2 位,掩码 /26,每个网段 64 个地址(2^6),可用 62;
- 从 0 开始,每 64 一个网段:
192.168.10.0/26:范围 0~63,可用 1~62;192.168.10.64/26:范围 64~127,可用 65~126;192.168.10.128/26、192.168.10.192/26,依此类推;
- 窍门:先确定"块大小"(256 − 掩码末段),再从 0 按块排。
五、VLSM:同一个网里,按需给不同大小
1. 类比:按人数分房间,别浪费
- 有的部门 200 人,要大房间;有的部门 5 个人,小房间就够;
- 如果一律给一样大,小部门也占个大房间,地址全浪费了;
- VLSM(可变长子网掩码)就是:在同一个大网里,不同网段用不同长度的掩码,按需分配。
2. 园区网段规划

- 办公区 200 人,给 /24(可用 254);
- 财务部 30 人,给 /27(可用 30);
- 设备互联只要 2 个地址,给 /30(可用 2);
- 原则:按规模给、连续分配、留足扩容、便于汇总。
3. 网段规划的几条经验
- 先算总数再切:把每个区域的人数、设备数、未来扩容算清楚,再决定掩码;
- 连续分配:同一类业务的网段尽量连号,将来好汇总成一条路由,减少路由表条目;
- 预留扩容:别把地址分得刚刚好,给每个区域留增长空间,否则扩人时要重新规划;
- 分类分块:业务、管理、设备互联、服务器分开用不同地址段,一目了然。
几个最常见的规划坑,能避就避:
- 地址浪费:几个人的小部门也给个 /24,一大片地址空着,后期地址不够用;
- 不连续:同一业务的网段东一块西一块,没法汇总,路由表越堆越长;
- 没预留:现在 30 人就给 30 个,过两个月加人,只能重新割接;
- 公私混用:随手拿公网地址当内网用,将来真要访问那个公网站点就冲突,内网老老实实从私网段取。
按"设备数量"选掩码
#mermaid-svg-KqdDb8ssVsfa6dEh{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-KqdDb8ssVsfa6dEh .error-icon{fill:#552222;}#mermaid-svg-KqdDb8ssVsfa6dEh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-KqdDb8ssVsfa6dEh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-KqdDb8ssVsfa6dEh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-KqdDb8ssVsfa6dEh .marker.cross{stroke:#333333;}#mermaid-svg-KqdDb8ssVsfa6dEh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-KqdDb8ssVsfa6dEh p{margin:0;}#mermaid-svg-KqdDb8ssVsfa6dEh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh .cluster-label text{fill:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh .cluster-label span{color:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh .cluster-label span p{background-color:transparent;}#mermaid-svg-KqdDb8ssVsfa6dEh .label text,#mermaid-svg-KqdDb8ssVsfa6dEh span{fill:#333;color:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh .node rect,#mermaid-svg-KqdDb8ssVsfa6dEh .node circle,#mermaid-svg-KqdDb8ssVsfa6dEh .node ellipse,#mermaid-svg-KqdDb8ssVsfa6dEh .node polygon,#mermaid-svg-KqdDb8ssVsfa6dEh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-KqdDb8ssVsfa6dEh .rough-node .label text,#mermaid-svg-KqdDb8ssVsfa6dEh .node .label text,#mermaid-svg-KqdDb8ssVsfa6dEh .image-shape .label,#mermaid-svg-KqdDb8ssVsfa6dEh .icon-shape .label{text-anchor:middle;}#mermaid-svg-KqdDb8ssVsfa6dEh .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-KqdDb8ssVsfa6dEh .rough-node .label,#mermaid-svg-KqdDb8ssVsfa6dEh .node .label,#mermaid-svg-KqdDb8ssVsfa6dEh .image-shape .label,#mermaid-svg-KqdDb8ssVsfa6dEh .icon-shape .label{text-align:center;}#mermaid-svg-KqdDb8ssVsfa6dEh .node.clickable{cursor:pointer;}#mermaid-svg-KqdDb8ssVsfa6dEh .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-KqdDb8ssVsfa6dEh .arrowheadPath{fill:#333333;}#mermaid-svg-KqdDb8ssVsfa6dEh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-KqdDb8ssVsfa6dEh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-KqdDb8ssVsfa6dEh .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-KqdDb8ssVsfa6dEh .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-KqdDb8ssVsfa6dEh .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-KqdDb8ssVsfa6dEh .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-KqdDb8ssVsfa6dEh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-KqdDb8ssVsfa6dEh .cluster text{fill:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh .cluster span{color:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-KqdDb8ssVsfa6dEh .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-KqdDb8ssVsfa6dEh rect.text{fill:none;stroke-width:0;}#mermaid-svg-KqdDb8ssVsfa6dEh .icon-shape,#mermaid-svg-KqdDb8ssVsfa6dEh .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-KqdDb8ssVsfa6dEh .icon-shape p,#mermaid-svg-KqdDb8ssVsfa6dEh .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-KqdDb8ssVsfa6dEh .icon-shape .label rect,#mermaid-svg-KqdDb8ssVsfa6dEh .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-KqdDb8ssVsfa6dEh .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-KqdDb8ssVsfa6dEh .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-KqdDb8ssVsfa6dEh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 200左右
30左右
2台互联
要给多少台设备地址
数量多大
用斜杠24
用斜杠27
用斜杠30
可用254
可用30
可用2
连续分配预留扩容
4. 一个完整的 VLSM 分配实例
假设你拿到 192.168.20.0/24,要分给四块:办公 100 人、研发 50 人、财务 25 人、设备互联 4 条链路。怎么分?
先从最大的需求开始切(VLSM 要先大后小,避免碎片):
- 办公 100 人,要 128 个地址,给
192.168.20.0/25(可用 126); - 研发 50 人,要 64 个地址,从剩下的一半里给
192.168.20.128/26(可用 62); - 财务 25 人,要 32 个地址,给
192.168.20.192/27(可用 30); - 4 条互联链路,每条 2 个地址,给 4 个 /30:
192.168.20.224/30、228/30、232/30、236/30; - 最后还剩一点(240~255),留作以后扩容。
一个 /24 就把 100 人、50 人、25 人办公和 4 条互联全装下了,基本没浪费。如果一律给 /24,四块业务就得占四个 C,地址开销大得多。这就是 VLSM 的价值。
六、命令落点:给接口配地址(华为 VRP)
1. 给 VLANIF 配 IP
shell
<SW> system-view
[SW] vlan batch 10
[SW] interface Vlanif 10
[SW-Vlanif10] ip address 192.168.10.1 24
[SW-Vlanif10] quit
[SW] return
<SW> save
2. 给物理口配 IP(路由器/三层口)
shell
[R] interface GigabitEthernet 0/0/0
[R-GigabitEthernet0/0/0] ip address 10.0.0.1 255.255.255.252
验证:
shell
<R> display ip interface brief
text
Interface IP Address Physical Protocol
Vlanif10 192.168.10.1 up up
GigabitEthernet0/0/0 10.0.0.1 up up
3. 异常与排查
| 现象 | 命令 | 看到什么 | 判断 | 动作 |
|---|---|---|---|---|
| 同网段不通 | 看双方 IP/掩码 | 掩码不一致 | 不在同一网段 | 统一掩码 |
| 地址冲突 | 看日志 | 地址被占用 | 重复分配 | 改地址、查台账 |
| 配不上 IP | 看提示 | 地址已存在 | 网段重叠 | 重新规划 |
| 互联不通 | 看接口 | 两端不在同段 | 掩码/地址错 | 对齐 /30 地址 |
思科对照
| 动作 | 华为 | 思科 |
|---|---|---|
| 配 IP | ip address 192.168.10.1 24 |
ip address 192.168.10.1 255.255.255.0 |
| 看接口 | display ip interface brief |
show ip interface brief |
| 看路由 | display ip routing-table |
show ip route |
七、🔧 运维视角 & 📐 设计视角
🔧 运维视角:
- 同网段不通,先核对双方 IP 和掩码是不是一致,别光看地址前三段;
- 地址冲突有日志,按冲突的地址查是哪台设备,台账要及时更新;
- 设备互联统一用 /30,一眼能看出哪些是点对点链路。
📐 设计视角:
- 地址规划先上"总表":按区域、部门、规模、扩容列清楚,再划网段;
- 业务、管理、互联、服务器分块,网段连续、便于汇总;
- 用 VLSM 按需分配,避免小部门浪费大段地址,同时留足增长。
八、小结与命令速查表
- IP 地址 = 网络位 + 主机位,掩码决定切分位置;
- 可用地址数 = 2^主机位 − 2,常见掩码要能背;
- 子网划分就是借主机位,掩码变长、网变多、每个变小;
- VLSM 按规模给不同大小,连续分配、留足扩容。
本篇命令速查表:
| 目的 | 华为命令 | 思科对照 |
|---|---|---|
| 配 IP | ip address 192.168.10.1 24 |
ip address 192.168.10.1 255.255.255.0 |
| 看接口 | display ip interface brief |
show ip interface brief |
| 看路由 | display ip routing-table |
show ip route |
| 看 VLANIF | display interface Vlanif 10 |
show interface vlan 10 |
九、面试题完整解一遍:192.168.10.0/22
把开头那道题的答案写清楚,方便对照:
- 看主机位:/22 表示前 22 位是网络位,主机位 = 32 − 22 = 10 位;
- 算可用数 :总地址 = 2^10 = 1024,减去网络地址和广播地址,可用 1022 个;
- 找块边界:/22 在第三段每 4 个 C 一块(256 − 252 = 4),10 落在 8 这个块里;
- 定范围 :网络地址是
192.168.8.0,覆盖192.168.8.0 ~ 192.168.11.255,可用地址是192.168.8.1 ~ 192.168.11.254。
这就是完整答案。面试时按"主机位 → 可用数 → 块边界 → 范围"四步走,基本不会错。
十、思考题 & 评论区接招
💬 互动题(评论区对答案):
192.168.10.0/22有多少个可用地址?覆盖的地址范围是多少?给个提示,分三步算:
1)/22 的主机位是多少位?
2)可用地址 = 2^主机位 − 2,等于多少?
3)块大小是多少?这个网段从哪个地址开始、到哪个地址结束?
把你的答案和算法写在评论区,我会逐条核对,看看谁算得又快又准。
系列导航:
- 上一课:第 32 课《接入保护与二层排障》
- 下一课:第 34 课《路由原理与路由表》
- 专栏主页:网络工程师进阶:企业组网实战------从交换机配置到园区网交付
我是你们的老网工。地址这关过了,接下来才是真正的"让网络四通八达"------路由。下一课《路由原理与路由表》,我们逐行看
display ip routing-table:路由是怎么进来的、两条路由凭什么选它不选我、最长匹配是什么意思,搞懂这些,你才真正知道"一个包到底走了哪条路"。下一课见。