网络基础系列第 9 篇:子网掩码------IP 地址的"小区围墙"
上一篇我们讲了 IP 地址:互联网的门牌号。今天继续问一个更容易把人绕晕的问题:同样是 IP 地址,系统到底怎么判断"你和我是不是同一个网段"?
开场:为什么 192.168.1.10 和 192.168.1.20 算邻居?
你可能见过这样的 IP 配置:
text
192.168.1.10/24
192.168.1.20/24
很多人会下意识觉得:
这俩一看就是同一个网段。
再看这个:
text
192.168.1.10/24
192.168.2.10/24
又会觉得:
这俩应该不是同一个网段。
直觉通常没错。
但问题是:
操作系统不是靠"看起来像不像"判断同网段的。
它不懂你的直觉。
它只认规则。
这个规则,就是子网掩码。
子网掩码的核心作用:
它告诉操作系统:一个 IP 地址里,哪部分是"小区地址"(网络号),哪部分是"房间号"(主机号)。
一句话总结:
子网掩码决定 IP 地址的网络边界,用来判断两个 IP 是否在同一个网段。
再通俗一点:
IP 地址像门牌号,子网掩码决定这个"小区"有多大。
同一个门牌号前缀,不一定就同小区。
同一个小区,也不一定是你肉眼看到的前三段一样。
网络世界不按眼缘分组。它按二进制。这就很工程,也很不浪漫。
🔧 核心概念:为什么需要子网掩码?
在 IPv4 地址的 32 位中,子网掩码用连续的 1 表示网络部分,连续的 0 表示主机部分。
text
IP 地址: 192.168.1.10 (11000000.10101000.00000001.00001010)
子网掩码: 255.255.255.0 (11111111.11111111.11111111.00000000)
└───────── 网络位 ─────────┘ └─ 主机位 ─┘
为什么要划分网络位和主机位?
因为路由器需要聚合路由。如果每个 IP 都单独一条路由,互联网瞬间瘫痪。
路由表按"网段"组织,而不是按"单个 IP":
text
去 192.168.1.0/24 → 走 A 方向
去 10.0.0.0/8 → 走 B 方向
这就像快递分拣:
先按"省 → 市 → 区 → 小区",最后才到"门牌号"。
子网掩码的根本价值:
- 路由聚合:减少路由表条目
- 广播域控制:隔离广播流量
- 地址规划:合理分配有限 IPv4 资源
🔧 同网段判断:系统到底怎么算的?
当一个 IP 包要发出时,操作系统执行以下精确判断流程:
text
Step 1: 取出本机 IP 和本机掩码
Step 2: 本机网络地址 = 本机 IP & 本机掩码(按位与)
Step 3: 目标网络地址 = 目标 IP & 本机掩码
Step 4: 比较两个网络地址是否相等
按位与规则(只有两个都是 1,结果才是 1):
text
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
举例:判断 192.168.1.10/24 和 192.168.1.20/24
text
本机 IP: 192.168.1.10 → 11000000.10101000.00000001.00001010
本机掩码: 255.255.255.0 → 11111111.11111111.11111111.00000000
按位与: 11000000.10101000.00000001.00000000 → 192.168.1.0
目标 IP: 192.168.1.20 → 11000000.10101000.00000001.00010100
本机掩码: 255.255.255.0 → 11111111.11111111.11111111.00000000
按位与: 11000000.10101000.00000001.00000000 → 192.168.1.0
网络地址相同 → 同网段 ✅
举例:判断 192.168.1.10/24 和 192.168.2.10/24
text
本机网络地址: 192.168.1.0
目标网络地址: 192.168.2.0(计算过程同上)
网络地址不同 → 不同网段 ❌
#mermaid-svg-nYLSJHNj1U08498z{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-nYLSJHNj1U08498z .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-nYLSJHNj1U08498z .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-nYLSJHNj1U08498z .error-icon{fill:#552222;}#mermaid-svg-nYLSJHNj1U08498z .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-nYLSJHNj1U08498z .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-nYLSJHNj1U08498z .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-nYLSJHNj1U08498z .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-nYLSJHNj1U08498z .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-nYLSJHNj1U08498z .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-nYLSJHNj1U08498z .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-nYLSJHNj1U08498z .marker{fill:#333333;stroke:#333333;}#mermaid-svg-nYLSJHNj1U08498z .marker.cross{stroke:#333333;}#mermaid-svg-nYLSJHNj1U08498z svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-nYLSJHNj1U08498z p{margin:0;}#mermaid-svg-nYLSJHNj1U08498z .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-nYLSJHNj1U08498z .cluster-label text{fill:#333;}#mermaid-svg-nYLSJHNj1U08498z .cluster-label span{color:#333;}#mermaid-svg-nYLSJHNj1U08498z .cluster-label span p{background-color:transparent;}#mermaid-svg-nYLSJHNj1U08498z .label text,#mermaid-svg-nYLSJHNj1U08498z span{fill:#333;color:#333;}#mermaid-svg-nYLSJHNj1U08498z .node rect,#mermaid-svg-nYLSJHNj1U08498z .node circle,#mermaid-svg-nYLSJHNj1U08498z .node ellipse,#mermaid-svg-nYLSJHNj1U08498z .node polygon,#mermaid-svg-nYLSJHNj1U08498z .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-nYLSJHNj1U08498z .rough-node .label text,#mermaid-svg-nYLSJHNj1U08498z .node .label text,#mermaid-svg-nYLSJHNj1U08498z .image-shape .label,#mermaid-svg-nYLSJHNj1U08498z .icon-shape .label{text-anchor:middle;}#mermaid-svg-nYLSJHNj1U08498z .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-nYLSJHNj1U08498z .rough-node .label,#mermaid-svg-nYLSJHNj1U08498z .node .label,#mermaid-svg-nYLSJHNj1U08498z .image-shape .label,#mermaid-svg-nYLSJHNj1U08498z .icon-shape .label{text-align:center;}#mermaid-svg-nYLSJHNj1U08498z .node.clickable{cursor:pointer;}#mermaid-svg-nYLSJHNj1U08498z .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-nYLSJHNj1U08498z .arrowheadPath{fill:#333333;}#mermaid-svg-nYLSJHNj1U08498z .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-nYLSJHNj1U08498z .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-nYLSJHNj1U08498z .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nYLSJHNj1U08498z .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-nYLSJHNj1U08498z .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nYLSJHNj1U08498z .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-nYLSJHNj1U08498z .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-nYLSJHNj1U08498z .cluster text{fill:#333;}#mermaid-svg-nYLSJHNj1U08498z .cluster span{color:#333;}#mermaid-svg-nYLSJHNj1U08498z 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-nYLSJHNj1U08498z .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-nYLSJHNj1U08498z rect.text{fill:none;stroke-width:0;}#mermaid-svg-nYLSJHNj1U08498z .icon-shape,#mermaid-svg-nYLSJHNj1U08498z .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nYLSJHNj1U08498z .icon-shape p,#mermaid-svg-nYLSJHNj1U08498z .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-nYLSJHNj1U08498z .icon-shape .label rect,#mermaid-svg-nYLSJHNj1U08498z .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nYLSJHNj1U08498z .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-nYLSJHNj1U08498z .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-nYLSJHNj1U08498z :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 相等
不相等
本机 IP: 192.168.1.10/24
本机网络地址
192.168.1.0
目标 IP: 192.168.1.20
目标网络地址
192.168.1.0
目标 IP: 192.168.2.10
目标网络地址
192.168.2.0
比较
同网段
直接通信
比较
不同网段
走网关
这个判断的结果直接影响转发行为:
| 判断结果 | 下一跳 | 通信方式 |
|---|---|---|
| 同网段 | 目标 IP 本身 | ARP 找目标 MAC,二层转发 |
| 不同网段 | 网关 IP | ARP 找网关 MAC,三层路由 |
子网掩码不只考试用。它直接决定数据包第一跳发给谁。掩码配错,包可能第一步就走错。
子网掩码的两种写法
子网掩码常见有两种写法,完全等价。
写法一:点分十进制
text
255.255.255.0
写法二:CIDR 前缀长度
text
/24
为什么 255.255.255.0 = /24?
写二进制就清楚了:
text
255.255.255.0 = 11111111.11111111.11111111.00000000
└────────────── 24 个 1 ──────────────┘
常见掩码对照表(建议熟记):
| CIDR | 点分十进制 | 二进制 | 总地址数 | 可用主机数 |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 11111111.00000000.00000000.00000000 | 16,777,216 | 16,777,214 |
| /16 | 255.255.0.0 | 11111111.11111111.00000000.00000000 | 65,536 | 65,534 |
| /24 | 255.255.255.0 | 11111111.11111111.11111111.00000000 | 256 | 254 |
| /25 | 255.255.255.128 | 11111111.11111111.11111111.10000000 | 128 | 126 |
| /26 | 255.255.255.192 | 11111111.11111111.11111111.11000000 | 64 | 62 |
| /27 | 255.255.255.224 | 11111111.11111111.11111111.11100000 | 32 | 30 |
| /28 | 255.255.255.240 | 11111111.11111111.11111111.11110000 | 16 | 14 |
| /29 | 255.255.255.248 | 11111111.11111111.11111111.11111000 | 8 | 6 |
| /30 | 255.255.255.252 | 11111111.11111111.11111111.11111100 | 4 | 2 |
| /32 | 255.255.255.255 | 11111111.11111111.11111111.11111111 | 1 | 1 |
⚠️ 重要 :可用主机数 = 总地址数 - 2(网络地址 + 广播地址)。但
/31和/32有特殊用途(点对点链路),这里暂不展开。
🔧 为什么不能只看前三段?(打破直觉的案例)
案例一:/23 打破"第三段不同"的直觉
text
192.168.1.10/23
192.168.0.20/23
很多人第一反应:第三段不一样,不同网段。
但 /23 的掩码是 255.255.254.0,网络位是 23 位:
text
192.168.1.10: 11000000.10101000.00000001.00001010
192.168.0.20: 11000000.10101000.00000000.00010100
掩码/23: 11111111.11111111.11111110.00000000
网络位(23位) 主机位(9位)
比较前 23 位:完全相同 → 同一个网段 ✅
这个网段的地址范围是:192.168.0.0 - 192.168.1.255
#mermaid-svg-96Yc2iPiX9iDKsfr{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-96Yc2iPiX9iDKsfr .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-96Yc2iPiX9iDKsfr .error-icon{fill:#552222;}#mermaid-svg-96Yc2iPiX9iDKsfr .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-96Yc2iPiX9iDKsfr .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-96Yc2iPiX9iDKsfr .marker{fill:#333333;stroke:#333333;}#mermaid-svg-96Yc2iPiX9iDKsfr .marker.cross{stroke:#333333;}#mermaid-svg-96Yc2iPiX9iDKsfr svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-96Yc2iPiX9iDKsfr p{margin:0;}#mermaid-svg-96Yc2iPiX9iDKsfr .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr .cluster-label text{fill:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr .cluster-label span{color:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr .cluster-label span p{background-color:transparent;}#mermaid-svg-96Yc2iPiX9iDKsfr .label text,#mermaid-svg-96Yc2iPiX9iDKsfr span{fill:#333;color:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr .node rect,#mermaid-svg-96Yc2iPiX9iDKsfr .node circle,#mermaid-svg-96Yc2iPiX9iDKsfr .node ellipse,#mermaid-svg-96Yc2iPiX9iDKsfr .node polygon,#mermaid-svg-96Yc2iPiX9iDKsfr .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-96Yc2iPiX9iDKsfr .rough-node .label text,#mermaid-svg-96Yc2iPiX9iDKsfr .node .label text,#mermaid-svg-96Yc2iPiX9iDKsfr .image-shape .label,#mermaid-svg-96Yc2iPiX9iDKsfr .icon-shape .label{text-anchor:middle;}#mermaid-svg-96Yc2iPiX9iDKsfr .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-96Yc2iPiX9iDKsfr .rough-node .label,#mermaid-svg-96Yc2iPiX9iDKsfr .node .label,#mermaid-svg-96Yc2iPiX9iDKsfr .image-shape .label,#mermaid-svg-96Yc2iPiX9iDKsfr .icon-shape .label{text-align:center;}#mermaid-svg-96Yc2iPiX9iDKsfr .node.clickable{cursor:pointer;}#mermaid-svg-96Yc2iPiX9iDKsfr .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-96Yc2iPiX9iDKsfr .arrowheadPath{fill:#333333;}#mermaid-svg-96Yc2iPiX9iDKsfr .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-96Yc2iPiX9iDKsfr .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-96Yc2iPiX9iDKsfr .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-96Yc2iPiX9iDKsfr .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-96Yc2iPiX9iDKsfr .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-96Yc2iPiX9iDKsfr .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-96Yc2iPiX9iDKsfr .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-96Yc2iPiX9iDKsfr .cluster text{fill:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr .cluster span{color:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr 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-96Yc2iPiX9iDKsfr .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-96Yc2iPiX9iDKsfr rect.text{fill:none;stroke-width:0;}#mermaid-svg-96Yc2iPiX9iDKsfr .icon-shape,#mermaid-svg-96Yc2iPiX9iDKsfr .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-96Yc2iPiX9iDKsfr .icon-shape p,#mermaid-svg-96Yc2iPiX9iDKsfr .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-96Yc2iPiX9iDKsfr .icon-shape .label rect,#mermaid-svg-96Yc2iPiX9iDKsfr .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-96Yc2iPiX9iDKsfr .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-96Yc2iPiX9iDKsfr .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-96Yc2iPiX9iDKsfr :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 192.168.0.0/23
范围: 192.168.0.0 - 192.168.1.255
192.168.0.20
192.168.1.10
案例二:/25 打破"前三段相同"的直觉
text
192.168.1.10/25
192.168.1.200/25
前三段完全一样。
但 /25 的掩码是 255.255.255.128,把 /24 切成两个子网:
text
192.168.1.0/25 范围:192.168.1.0 - 192.168.1.127
192.168.1.128/25 范围:192.168.1.128 - 192.168.1.255
192.168.1.10→ 属于192.168.1.0/25192.168.1.200→ 属于192.168.1.128/25
不是同一个网段 ❌
#mermaid-svg-TLq27kAviSHH28ue{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-TLq27kAviSHH28ue .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TLq27kAviSHH28ue .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TLq27kAviSHH28ue .error-icon{fill:#552222;}#mermaid-svg-TLq27kAviSHH28ue .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TLq27kAviSHH28ue .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TLq27kAviSHH28ue .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TLq27kAviSHH28ue .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TLq27kAviSHH28ue .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TLq27kAviSHH28ue .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TLq27kAviSHH28ue .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TLq27kAviSHH28ue .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TLq27kAviSHH28ue .marker.cross{stroke:#333333;}#mermaid-svg-TLq27kAviSHH28ue svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TLq27kAviSHH28ue p{margin:0;}#mermaid-svg-TLq27kAviSHH28ue .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-TLq27kAviSHH28ue .cluster-label text{fill:#333;}#mermaid-svg-TLq27kAviSHH28ue .cluster-label span{color:#333;}#mermaid-svg-TLq27kAviSHH28ue .cluster-label span p{background-color:transparent;}#mermaid-svg-TLq27kAviSHH28ue .label text,#mermaid-svg-TLq27kAviSHH28ue span{fill:#333;color:#333;}#mermaid-svg-TLq27kAviSHH28ue .node rect,#mermaid-svg-TLq27kAviSHH28ue .node circle,#mermaid-svg-TLq27kAviSHH28ue .node ellipse,#mermaid-svg-TLq27kAviSHH28ue .node polygon,#mermaid-svg-TLq27kAviSHH28ue .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TLq27kAviSHH28ue .rough-node .label text,#mermaid-svg-TLq27kAviSHH28ue .node .label text,#mermaid-svg-TLq27kAviSHH28ue .image-shape .label,#mermaid-svg-TLq27kAviSHH28ue .icon-shape .label{text-anchor:middle;}#mermaid-svg-TLq27kAviSHH28ue .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TLq27kAviSHH28ue .rough-node .label,#mermaid-svg-TLq27kAviSHH28ue .node .label,#mermaid-svg-TLq27kAviSHH28ue .image-shape .label,#mermaid-svg-TLq27kAviSHH28ue .icon-shape .label{text-align:center;}#mermaid-svg-TLq27kAviSHH28ue .node.clickable{cursor:pointer;}#mermaid-svg-TLq27kAviSHH28ue .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TLq27kAviSHH28ue .arrowheadPath{fill:#333333;}#mermaid-svg-TLq27kAviSHH28ue .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TLq27kAviSHH28ue .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TLq27kAviSHH28ue .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TLq27kAviSHH28ue .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TLq27kAviSHH28ue .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TLq27kAviSHH28ue .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TLq27kAviSHH28ue .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TLq27kAviSHH28ue .cluster text{fill:#333;}#mermaid-svg-TLq27kAviSHH28ue .cluster span{color:#333;}#mermaid-svg-TLq27kAviSHH28ue 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-TLq27kAviSHH28ue .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TLq27kAviSHH28ue rect.text{fill:none;stroke-width:0;}#mermaid-svg-TLq27kAviSHH28ue .icon-shape,#mermaid-svg-TLq27kAviSHH28ue .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TLq27kAviSHH28ue .icon-shape p,#mermaid-svg-TLq27kAviSHH28ue .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TLq27kAviSHH28ue .icon-shape .label rect,#mermaid-svg-TLq27kAviSHH28ue .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TLq27kAviSHH28ue .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TLq27kAviSHH28ue .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TLq27kAviSHH28ue :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 192.168.1.0/24
192.168.1.0/25
0-127
192.168.1.128/25
128-255
192.168.1.10
192.168.1.200
工程教训:永远不要靠"看起来像"判断网段。/24 的巧合让"前三段相同"成了伪规律,一换掩码就翻车。
🔧 特殊地址:网络地址和广播地址
在一个传统 IPv4 子网中,有两个地址不能分配给普通主机:
以 192.168.1.0/24 为例:
| 类型 | 地址 | 二进制(最后 8 位) | 用途 |
|---|---|---|---|
| 网络地址 | 192.168.1.0 | 00000000 | 标识整个网段 |
| 可用主机 | 192.168.1.1 - 254 | 00000001 - 11111110 | 分配给设备 |
| 广播地址 | 192.168.1.255 | 11111111 | 发给网段内所有主机 |
#mermaid-svg-OIuSccQjYclWVIKJ{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-OIuSccQjYclWVIKJ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-OIuSccQjYclWVIKJ .error-icon{fill:#552222;}#mermaid-svg-OIuSccQjYclWVIKJ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-OIuSccQjYclWVIKJ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-OIuSccQjYclWVIKJ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-OIuSccQjYclWVIKJ .marker.cross{stroke:#333333;}#mermaid-svg-OIuSccQjYclWVIKJ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-OIuSccQjYclWVIKJ p{margin:0;}#mermaid-svg-OIuSccQjYclWVIKJ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-OIuSccQjYclWVIKJ .cluster-label text{fill:#333;}#mermaid-svg-OIuSccQjYclWVIKJ .cluster-label span{color:#333;}#mermaid-svg-OIuSccQjYclWVIKJ .cluster-label span p{background-color:transparent;}#mermaid-svg-OIuSccQjYclWVIKJ .label text,#mermaid-svg-OIuSccQjYclWVIKJ span{fill:#333;color:#333;}#mermaid-svg-OIuSccQjYclWVIKJ .node rect,#mermaid-svg-OIuSccQjYclWVIKJ .node circle,#mermaid-svg-OIuSccQjYclWVIKJ .node ellipse,#mermaid-svg-OIuSccQjYclWVIKJ .node polygon,#mermaid-svg-OIuSccQjYclWVIKJ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-OIuSccQjYclWVIKJ .rough-node .label text,#mermaid-svg-OIuSccQjYclWVIKJ .node .label text,#mermaid-svg-OIuSccQjYclWVIKJ .image-shape .label,#mermaid-svg-OIuSccQjYclWVIKJ .icon-shape .label{text-anchor:middle;}#mermaid-svg-OIuSccQjYclWVIKJ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-OIuSccQjYclWVIKJ .rough-node .label,#mermaid-svg-OIuSccQjYclWVIKJ .node .label,#mermaid-svg-OIuSccQjYclWVIKJ .image-shape .label,#mermaid-svg-OIuSccQjYclWVIKJ .icon-shape .label{text-align:center;}#mermaid-svg-OIuSccQjYclWVIKJ .node.clickable{cursor:pointer;}#mermaid-svg-OIuSccQjYclWVIKJ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-OIuSccQjYclWVIKJ .arrowheadPath{fill:#333333;}#mermaid-svg-OIuSccQjYclWVIKJ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-OIuSccQjYclWVIKJ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-OIuSccQjYclWVIKJ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-OIuSccQjYclWVIKJ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-OIuSccQjYclWVIKJ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-OIuSccQjYclWVIKJ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-OIuSccQjYclWVIKJ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-OIuSccQjYclWVIKJ .cluster text{fill:#333;}#mermaid-svg-OIuSccQjYclWVIKJ .cluster span{color:#333;}#mermaid-svg-OIuSccQjYclWVIKJ 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-OIuSccQjYclWVIKJ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-OIuSccQjYclWVIKJ rect.text{fill:none;stroke-width:0;}#mermaid-svg-OIuSccQjYclWVIKJ .icon-shape,#mermaid-svg-OIuSccQjYclWVIKJ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-OIuSccQjYclWVIKJ .icon-shape p,#mermaid-svg-OIuSccQjYclWVIKJ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-OIuSccQjYclWVIKJ .icon-shape .label rect,#mermaid-svg-OIuSccQjYclWVIKJ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-OIuSccQjYclWVIKJ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-OIuSccQjYclWVIKJ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-OIuSccQjYclWVIKJ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 192.168.1.0/24
网络地址
192.168.1.0
标识网段
可用主机
192.168.1.1 - 192.168.1.254
广播地址
192.168.1.255
发给所有主机
网络地址的作用:
- 在路由表中表示"这个网段的存在"
- 不能配置在普通网卡上作为通信地址
广播地址的作用:
- 目标 MAC =
FF:FF:FF:FF:FF:FF - 网段内所有设备都会接收并处理
- ARP 请求就是典型例子
⚠️ 工程提醒 :虽然某些特殊场景(如
/31点对点链路)可以不遵守这个规则,但入门和多数生产环境请严格遵守。如果你把服务器配成192.168.1.255/24然后问为什么不通------先深呼吸,再改 IP。
子网大小怎么算?
核心公式:
text
总地址数 = 2^(32 - 前缀长度)
可用主机数 = 总地址数 - 2(网络地址 + 广播地址)
为什么 2^(32 - 前缀长度)?
IPv4 共 32 位,前缀长度 = 网络位数量,剩余 = 主机位数量。每个主机位可以取 0 或 1,所以总地址数 = 2^主机位数。
举例:
| 前缀 | 主机位数 | 计算 | 总地址数 | 可用主机数 |
|---|---|---|---|---|
| /24 | 32-24=8 | 2^8 | 256 | 254 |
| /26 | 32-26=6 | 2^6 | 64 | 62 |
| /16 | 32-16=16 | 2^16 | 65,536 | 65,534 |
#mermaid-svg-k6xdIwwpYCQxm7iz{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-k6xdIwwpYCQxm7iz .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-k6xdIwwpYCQxm7iz .error-icon{fill:#552222;}#mermaid-svg-k6xdIwwpYCQxm7iz .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-k6xdIwwpYCQxm7iz .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-k6xdIwwpYCQxm7iz .marker{fill:#333333;stroke:#333333;}#mermaid-svg-k6xdIwwpYCQxm7iz .marker.cross{stroke:#333333;}#mermaid-svg-k6xdIwwpYCQxm7iz svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-k6xdIwwpYCQxm7iz p{margin:0;}#mermaid-svg-k6xdIwwpYCQxm7iz .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz .cluster-label text{fill:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz .cluster-label span{color:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz .cluster-label span p{background-color:transparent;}#mermaid-svg-k6xdIwwpYCQxm7iz .label text,#mermaid-svg-k6xdIwwpYCQxm7iz span{fill:#333;color:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz .node rect,#mermaid-svg-k6xdIwwpYCQxm7iz .node circle,#mermaid-svg-k6xdIwwpYCQxm7iz .node ellipse,#mermaid-svg-k6xdIwwpYCQxm7iz .node polygon,#mermaid-svg-k6xdIwwpYCQxm7iz .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-k6xdIwwpYCQxm7iz .rough-node .label text,#mermaid-svg-k6xdIwwpYCQxm7iz .node .label text,#mermaid-svg-k6xdIwwpYCQxm7iz .image-shape .label,#mermaid-svg-k6xdIwwpYCQxm7iz .icon-shape .label{text-anchor:middle;}#mermaid-svg-k6xdIwwpYCQxm7iz .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-k6xdIwwpYCQxm7iz .rough-node .label,#mermaid-svg-k6xdIwwpYCQxm7iz .node .label,#mermaid-svg-k6xdIwwpYCQxm7iz .image-shape .label,#mermaid-svg-k6xdIwwpYCQxm7iz .icon-shape .label{text-align:center;}#mermaid-svg-k6xdIwwpYCQxm7iz .node.clickable{cursor:pointer;}#mermaid-svg-k6xdIwwpYCQxm7iz .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-k6xdIwwpYCQxm7iz .arrowheadPath{fill:#333333;}#mermaid-svg-k6xdIwwpYCQxm7iz .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-k6xdIwwpYCQxm7iz .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-k6xdIwwpYCQxm7iz .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-k6xdIwwpYCQxm7iz .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-k6xdIwwpYCQxm7iz .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-k6xdIwwpYCQxm7iz .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-k6xdIwwpYCQxm7iz .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-k6xdIwwpYCQxm7iz .cluster text{fill:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz .cluster span{color:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz 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-k6xdIwwpYCQxm7iz .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-k6xdIwwpYCQxm7iz rect.text{fill:none;stroke-width:0;}#mermaid-svg-k6xdIwwpYCQxm7iz .icon-shape,#mermaid-svg-k6xdIwwpYCQxm7iz .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-k6xdIwwpYCQxm7iz .icon-shape p,#mermaid-svg-k6xdIwwpYCQxm7iz .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-k6xdIwwpYCQxm7iz .icon-shape .label rect,#mermaid-svg-k6xdIwwpYCQxm7iz .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-k6xdIwwpYCQxm7iz .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-k6xdIwwpYCQxm7iz .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-k6xdIwwpYCQxm7iz :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 前缀长度越短
网络位越少
主机位越多
总地址数越多
前缀长度越长
网络位越多
主机位越少
总地址数越少
⚠️ 易错点 :
/24比/16小,不是大。前缀长度数字越大,网段越小。别记反。
子网划分:把大网段切成小网段
子网划分的核心:从主机位借位,变成网络位。
案例:把 /24 切成四个 /26
text
原始: 192.168.1.0/24
网络位24位,主机位8位
需要4个子网 → 4 = 2^2 → 借2位 → 网络位变成26位
划分结果:
| 子网 | 地址范围 | 可用主机数 | 二进制(最后 8 位) |
|---|---|---|---|
| 192.168.1.0/26 | 192.168.1.0 - 1.63 | 62 | 00xxxxxx |
| 192.168.1.64/26 | 192.168.1.64 - 1.127 | 62 | 01xxxxxx |
| 192.168.1.128/26 | 192.168.1.128 - 1.191 | 62 | 10xxxxxx |
| 192.168.1.192/26 | 192.168.1.192 - 1.255 | 62 | 11xxxxxx |
#mermaid-svg-7VQUF1EkYHN2SCgs{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-7VQUF1EkYHN2SCgs .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-7VQUF1EkYHN2SCgs .error-icon{fill:#552222;}#mermaid-svg-7VQUF1EkYHN2SCgs .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-7VQUF1EkYHN2SCgs .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-7VQUF1EkYHN2SCgs .marker{fill:#333333;stroke:#333333;}#mermaid-svg-7VQUF1EkYHN2SCgs .marker.cross{stroke:#333333;}#mermaid-svg-7VQUF1EkYHN2SCgs svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-7VQUF1EkYHN2SCgs p{margin:0;}#mermaid-svg-7VQUF1EkYHN2SCgs .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs .cluster-label text{fill:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs .cluster-label span{color:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs .cluster-label span p{background-color:transparent;}#mermaid-svg-7VQUF1EkYHN2SCgs .label text,#mermaid-svg-7VQUF1EkYHN2SCgs span{fill:#333;color:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs .node rect,#mermaid-svg-7VQUF1EkYHN2SCgs .node circle,#mermaid-svg-7VQUF1EkYHN2SCgs .node ellipse,#mermaid-svg-7VQUF1EkYHN2SCgs .node polygon,#mermaid-svg-7VQUF1EkYHN2SCgs .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-7VQUF1EkYHN2SCgs .rough-node .label text,#mermaid-svg-7VQUF1EkYHN2SCgs .node .label text,#mermaid-svg-7VQUF1EkYHN2SCgs .image-shape .label,#mermaid-svg-7VQUF1EkYHN2SCgs .icon-shape .label{text-anchor:middle;}#mermaid-svg-7VQUF1EkYHN2SCgs .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-7VQUF1EkYHN2SCgs .rough-node .label,#mermaid-svg-7VQUF1EkYHN2SCgs .node .label,#mermaid-svg-7VQUF1EkYHN2SCgs .image-shape .label,#mermaid-svg-7VQUF1EkYHN2SCgs .icon-shape .label{text-align:center;}#mermaid-svg-7VQUF1EkYHN2SCgs .node.clickable{cursor:pointer;}#mermaid-svg-7VQUF1EkYHN2SCgs .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-7VQUF1EkYHN2SCgs .arrowheadPath{fill:#333333;}#mermaid-svg-7VQUF1EkYHN2SCgs .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-7VQUF1EkYHN2SCgs .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-7VQUF1EkYHN2SCgs .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-7VQUF1EkYHN2SCgs .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-7VQUF1EkYHN2SCgs .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-7VQUF1EkYHN2SCgs .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-7VQUF1EkYHN2SCgs .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-7VQUF1EkYHN2SCgs .cluster text{fill:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs .cluster span{color:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs 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-7VQUF1EkYHN2SCgs .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-7VQUF1EkYHN2SCgs rect.text{fill:none;stroke-width:0;}#mermaid-svg-7VQUF1EkYHN2SCgs .icon-shape,#mermaid-svg-7VQUF1EkYHN2SCgs .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-7VQUF1EkYHN2SCgs .icon-shape p,#mermaid-svg-7VQUF1EkYHN2SCgs .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-7VQUF1EkYHN2SCgs .icon-shape .label rect,#mermaid-svg-7VQUF1EkYHN2SCgs .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-7VQUF1EkYHN2SCgs .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-7VQUF1EkYHN2SCgs .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-7VQUF1EkYHN2SCgs :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 192.168.1.0/24
256个地址
192.168.1.0/26
办公网
192.168.1.64/26
服务器网
192.168.1.128/26
访客网
192.168.1.192/26
摄像头网
划分的好处:
- 控制广播域大小(减少广播影响范围)
- 便于安全隔离(不同子网间走路由,可加防火墙)
- 便于路由聚合(减小路由表)
- 地址规划更清晰
🔧 掩码配错会发生什么?(典型故障案例)
掩码配错是非常经典的网络故障来源。来看两个典型案例:
案例一:掩码配得太大(/24 配成 /16)
text
正确配置:A: 192.168.1.10/24 网关: 192.168.1.1
错误配置:A: 192.168.1.10/16 ← 掩码从 /24 被改成了 /16
故障现象:
- A ping 192.168.2.20 失败
- A 的
ip neigh显示 192.168.2.20 的条目为 FAILED - 抓包能看到 A 发出 ARP 请求
who-has 192.168.2.20
根本原因:
A 用 /16 掩码计算后发现 192.168.2.20 和自己同网段(都在 192.168.0.0/16 内),于是尝试 ARP 直连。但 B 实际在另一个二层网络,ARP 永远没人回复。
#mermaid-svg-ZI26sKXnVz5U6q0a{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-ZI26sKXnVz5U6q0a .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ZI26sKXnVz5U6q0a .error-icon{fill:#552222;}#mermaid-svg-ZI26sKXnVz5U6q0a .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ZI26sKXnVz5U6q0a .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ZI26sKXnVz5U6q0a .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ZI26sKXnVz5U6q0a .marker.cross{stroke:#333333;}#mermaid-svg-ZI26sKXnVz5U6q0a svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ZI26sKXnVz5U6q0a p{margin:0;}#mermaid-svg-ZI26sKXnVz5U6q0a .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a .cluster-label text{fill:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a .cluster-label span{color:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a .cluster-label span p{background-color:transparent;}#mermaid-svg-ZI26sKXnVz5U6q0a .label text,#mermaid-svg-ZI26sKXnVz5U6q0a span{fill:#333;color:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a .node rect,#mermaid-svg-ZI26sKXnVz5U6q0a .node circle,#mermaid-svg-ZI26sKXnVz5U6q0a .node ellipse,#mermaid-svg-ZI26sKXnVz5U6q0a .node polygon,#mermaid-svg-ZI26sKXnVz5U6q0a .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ZI26sKXnVz5U6q0a .rough-node .label text,#mermaid-svg-ZI26sKXnVz5U6q0a .node .label text,#mermaid-svg-ZI26sKXnVz5U6q0a .image-shape .label,#mermaid-svg-ZI26sKXnVz5U6q0a .icon-shape .label{text-anchor:middle;}#mermaid-svg-ZI26sKXnVz5U6q0a .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ZI26sKXnVz5U6q0a .rough-node .label,#mermaid-svg-ZI26sKXnVz5U6q0a .node .label,#mermaid-svg-ZI26sKXnVz5U6q0a .image-shape .label,#mermaid-svg-ZI26sKXnVz5U6q0a .icon-shape .label{text-align:center;}#mermaid-svg-ZI26sKXnVz5U6q0a .node.clickable{cursor:pointer;}#mermaid-svg-ZI26sKXnVz5U6q0a .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ZI26sKXnVz5U6q0a .arrowheadPath{fill:#333333;}#mermaid-svg-ZI26sKXnVz5U6q0a .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ZI26sKXnVz5U6q0a .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ZI26sKXnVz5U6q0a .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZI26sKXnVz5U6q0a .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ZI26sKXnVz5U6q0a .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZI26sKXnVz5U6q0a .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ZI26sKXnVz5U6q0a .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ZI26sKXnVz5U6q0a .cluster text{fill:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a .cluster span{color:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a 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-ZI26sKXnVz5U6q0a .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ZI26sKXnVz5U6q0a rect.text{fill:none;stroke-width:0;}#mermaid-svg-ZI26sKXnVz5U6q0a .icon-shape,#mermaid-svg-ZI26sKXnVz5U6q0a .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZI26sKXnVz5U6q0a .icon-shape p,#mermaid-svg-ZI26sKXnVz5U6q0a .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ZI26sKXnVz5U6q0a .icon-shape .label rect,#mermaid-svg-ZI26sKXnVz5U6q0a .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZI26sKXnVz5U6q0a .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ZI26sKXnVz5U6q0a .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ZI26sKXnVz5U6q0a :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 主机A
192.168.1.10/16
掩码配大了
误判:目标 192.168.2.20
和我同网段
直接 ARP 问 192.168.2.20 的 MAC
对方不在同一二层网络
ARP 无响应
通信失败 ❌
案例二:掩码配得太小(/24 配成 /25)
text
主机A: 192.168.1.10/25 网关: 192.168.1.1/25
主机B: 192.168.1.200/25 网关: 192.168.1.129/25(假设)
故障现象:
- A 和 B 互相 ping 不通
- 但 A 能 ping 通自己的网关
- B 能 ping 通自己的网关
根本原因:
/25 将原来的 /24 切成了两个子网,A 和 B 不在同一个子网,需要经过路由器才能通信。但如果路由器没配置两个子网之间的路由,就无法通信。
排障提示:掩码配错时,IP 看起来没错,网关也配了,但系统根本没打算用网关。它以为对方就在隔壁,结果隔壁其实是另一个城市。掩码错了,世界观就错了。
🔧 Linux 命令速查
查看本机 IP 和掩码:
bash
ip addr
输出示例:
text
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
| 字段 | 含义 |
|---|---|
| 192.168.1.10/24 | 本机 IP + 前缀长度 |
| brd 192.168.1.255 | 广播地址 |
| scope global | 全局有效(非本地回环) |
查看路由表(确认直连网段和默认网关):
bash
ip route
输出示例:
text
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
default via 192.168.1.1 dev eth0
| 字段 | 含义 |
|---|---|
| 192.168.1.0/24 dev eth0 | 直连网段,从 eth0 出去 |
| default via 192.168.1.1 | 默认网关 |
判断两个 IP 是否同网段(手动计算):
bash
# 安装工具(如果需要)
sudo apt install ipcalc # Debian/Ubuntu
# 或
sudo yum install ipcalc # CentOS/RHEL
ipcalc 192.168.1.10/24 192.168.1.20
排查掩码问题的检查清单:
ip addr里的/xx是否符合预期?ip route里的直连路由是否符合预期?- 访问同网段目标时,
ip neigh能否解析到 MAC? - 访问不同网段目标时,包是否走了网关?(用
tcpdump确认) - ARP 是否在错误地找远端 IP?
排障时不要只盯着 IP。IP 后面的
/24、/16、/26有时候才是真凶。它们很短,但很能惹事。
🔧 与前几篇的关系:完整的数据发送流程
现在可以把前几篇的知识完整串起来了:
#mermaid-svg-eWy4xqYGsA7KGKDy{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-eWy4xqYGsA7KGKDy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-eWy4xqYGsA7KGKDy .error-icon{fill:#552222;}#mermaid-svg-eWy4xqYGsA7KGKDy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-eWy4xqYGsA7KGKDy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-eWy4xqYGsA7KGKDy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-eWy4xqYGsA7KGKDy .marker.cross{stroke:#333333;}#mermaid-svg-eWy4xqYGsA7KGKDy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-eWy4xqYGsA7KGKDy p{margin:0;}#mermaid-svg-eWy4xqYGsA7KGKDy .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy .cluster-label text{fill:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy .cluster-label span{color:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy .cluster-label span p{background-color:transparent;}#mermaid-svg-eWy4xqYGsA7KGKDy .label text,#mermaid-svg-eWy4xqYGsA7KGKDy span{fill:#333;color:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy .node rect,#mermaid-svg-eWy4xqYGsA7KGKDy .node circle,#mermaid-svg-eWy4xqYGsA7KGKDy .node ellipse,#mermaid-svg-eWy4xqYGsA7KGKDy .node polygon,#mermaid-svg-eWy4xqYGsA7KGKDy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-eWy4xqYGsA7KGKDy .rough-node .label text,#mermaid-svg-eWy4xqYGsA7KGKDy .node .label text,#mermaid-svg-eWy4xqYGsA7KGKDy .image-shape .label,#mermaid-svg-eWy4xqYGsA7KGKDy .icon-shape .label{text-anchor:middle;}#mermaid-svg-eWy4xqYGsA7KGKDy .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-eWy4xqYGsA7KGKDy .rough-node .label,#mermaid-svg-eWy4xqYGsA7KGKDy .node .label,#mermaid-svg-eWy4xqYGsA7KGKDy .image-shape .label,#mermaid-svg-eWy4xqYGsA7KGKDy .icon-shape .label{text-align:center;}#mermaid-svg-eWy4xqYGsA7KGKDy .node.clickable{cursor:pointer;}#mermaid-svg-eWy4xqYGsA7KGKDy .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-eWy4xqYGsA7KGKDy .arrowheadPath{fill:#333333;}#mermaid-svg-eWy4xqYGsA7KGKDy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-eWy4xqYGsA7KGKDy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-eWy4xqYGsA7KGKDy .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-eWy4xqYGsA7KGKDy .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-eWy4xqYGsA7KGKDy .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-eWy4xqYGsA7KGKDy .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-eWy4xqYGsA7KGKDy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-eWy4xqYGsA7KGKDy .cluster text{fill:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy .cluster span{color:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy 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-eWy4xqYGsA7KGKDy .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-eWy4xqYGsA7KGKDy rect.text{fill:none;stroke-width:0;}#mermaid-svg-eWy4xqYGsA7KGKDy .icon-shape,#mermaid-svg-eWy4xqYGsA7KGKDy .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-eWy4xqYGsA7KGKDy .icon-shape p,#mermaid-svg-eWy4xqYGsA7KGKDy .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-eWy4xqYGsA7KGKDy .icon-shape .label rect,#mermaid-svg-eWy4xqYGsA7KGKDy .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-eWy4xqYGsA7KGKDy .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-eWy4xqYGsA7KGKDy .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-eWy4xqYGsA7KGKDy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
否
应用要访问目标 IP
系统查看本机 IP 和掩码
计算目标是否同网段
同网段?
下一跳 = 目标 IP
查路由表获取网关 IP
下一跳 = 网关 IP
ARP:下一跳 IP → 下一跳 MAC
封装以太网帧
目标 MAC = 下一跳 MAC
交换机根据目标 MAC 转发
到达下一跳设备
各层职责总结:
| 角色 | 负责的问题 | 上一篇 |
|---|---|---|
| IP 地址 | 最终目标是谁 | 第 8 篇 |
| 子网掩码 | 目标是否和我同网段 | 本篇 |
| 路由表 | 不同网段时,下一跳 IP 是谁 | 第 10 篇预告 |
| ARP | 下一跳 IP 对应哪个 MAC | 第 6 篇 |
| 交换机 | 目标 MAC 在哪个端口 | 第 7 篇 |
这张表非常重要。如果你能把这几个角色分清,很多网络问题会从"一团乱麻"变成"按流程排查"。排障不是玄学,排障是把问题放回正确的层次。
常见误区
误区一:前三段一样就是同网段
❌ 不对。
这只在 /24 下巧合成立。
/25:前三段一样可能不同网段/23:第三段不一样可能是同网段
判断同网段要看掩码,不要只看眼缘。网络不相信缘分。
误区二:/24 比 /16 大
❌ 不对。
/24 前 24 位是网络位,主机位 8 位 → 256 个地址
/16 前 16 位是网络位,主机位 16 位 → 65536 个地址
前缀长度越短,网段越大;前缀长度越长,网段越小。 前缀长度不是衣服尺码。
误区三:有默认网关就一定会走网关
❌ 不对。
只有当目标不在本机直连网段时,才会查路由表找网关。
如果掩码配错,系统误判目标是直连网段,就会尝试 ARP 直连,网关配置了也没用。
网关坐在那里等半天,包根本没来。
误区四:网络地址和广播地址可以随便分配给主机
❌ 通常不行。
- 网络地址(如
192.168.1.0/24的.0)用于标识网段 - 广播地址(如
.255)用于发给网段内所有主机
虽然点对点链路(/31)等特殊场景有例外,但入门和多数生产环境请严格遵守。
生产环境最怕"我看网上有人这么干"。网上还有人把数据库端口开公网裸奔,不能学。
小结
这一篇我们讲了子网掩码。
核心知识点:
- 子网掩码决定 IP 地址中哪部分是网络位、哪部分是主机位。
/24表示前 24 位是网络位,等价于255.255.255.0。- 判断同网段:
(本机 IP & 本机掩码) == (目标 IP & 本机掩码) - 网络地址相同才是同网段,不能单看前三段。
- 前缀越短(如
/16)网段越大,前缀越长(如/30)网段越小。 - 一个子网通常有:网络地址、可用主机地址、广播地址。
- 掩码配错会导致主机误判目标是否直连,引发通信失败。
- 同网段 → ARP 找目标 MAC;不同网段 → ARP 找网关 MAC。
ip addr和ip route是排查掩码问题的关键命令。
一句话总结:
IP 地址告诉你门牌号,子网掩码告诉你这个门牌属于哪个小区。 判断清楚"小区边界",系统才知道该直接敲门还是先去物业。
和前几篇连起来:
IP 管远方,MAC 管眼前;ARP 找脸面,交换机找门牌;掩码划边界,路由定方向。
下一篇预告
下一篇我们继续讲:
第 10 篇:路由表------数据包的导航仪
当目标不在同一个网段时,系统怎么决定下一跳是谁?
默认路由是什么?
为什么有时候明明配置了网关,包却不从那里走?
路由表和掩码、ARP、交换机如何协作?
下一篇,我们把数据包出门前看的那张"导航地图"讲清楚。