适用对象:网络通信初学者、嵌入式设备和 GNSS 终端开发人员
讨论范围:以常见的以太网、Wi-Fi 和 IPv4 网络为主
1. 先建立整体认识
家庭或小型办公网络通常可以表示为:
#mermaid-svg-98a3l2ssCBL1uPhD{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-98a3l2ssCBL1uPhD .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-98a3l2ssCBL1uPhD .error-icon{fill:#552222;}#mermaid-svg-98a3l2ssCBL1uPhD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-98a3l2ssCBL1uPhD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-98a3l2ssCBL1uPhD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-98a3l2ssCBL1uPhD .marker.cross{stroke:#333333;}#mermaid-svg-98a3l2ssCBL1uPhD svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-98a3l2ssCBL1uPhD p{margin:0;}#mermaid-svg-98a3l2ssCBL1uPhD .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-98a3l2ssCBL1uPhD .cluster-label text{fill:#333;}#mermaid-svg-98a3l2ssCBL1uPhD .cluster-label span{color:#333;}#mermaid-svg-98a3l2ssCBL1uPhD .cluster-label span p{background-color:transparent;}#mermaid-svg-98a3l2ssCBL1uPhD .label text,#mermaid-svg-98a3l2ssCBL1uPhD span{fill:#333;color:#333;}#mermaid-svg-98a3l2ssCBL1uPhD .node rect,#mermaid-svg-98a3l2ssCBL1uPhD .node circle,#mermaid-svg-98a3l2ssCBL1uPhD .node ellipse,#mermaid-svg-98a3l2ssCBL1uPhD .node polygon,#mermaid-svg-98a3l2ssCBL1uPhD .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-98a3l2ssCBL1uPhD .rough-node .label text,#mermaid-svg-98a3l2ssCBL1uPhD .node .label text,#mermaid-svg-98a3l2ssCBL1uPhD .image-shape .label,#mermaid-svg-98a3l2ssCBL1uPhD .icon-shape .label{text-anchor:middle;}#mermaid-svg-98a3l2ssCBL1uPhD .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-98a3l2ssCBL1uPhD .rough-node .label,#mermaid-svg-98a3l2ssCBL1uPhD .node .label,#mermaid-svg-98a3l2ssCBL1uPhD .image-shape .label,#mermaid-svg-98a3l2ssCBL1uPhD .icon-shape .label{text-align:center;}#mermaid-svg-98a3l2ssCBL1uPhD .node.clickable{cursor:pointer;}#mermaid-svg-98a3l2ssCBL1uPhD .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-98a3l2ssCBL1uPhD .arrowheadPath{fill:#333333;}#mermaid-svg-98a3l2ssCBL1uPhD .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-98a3l2ssCBL1uPhD .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-98a3l2ssCBL1uPhD .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-98a3l2ssCBL1uPhD .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-98a3l2ssCBL1uPhD .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-98a3l2ssCBL1uPhD .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-98a3l2ssCBL1uPhD .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-98a3l2ssCBL1uPhD .cluster text{fill:#333;}#mermaid-svg-98a3l2ssCBL1uPhD .cluster span{color:#333;}#mermaid-svg-98a3l2ssCBL1uPhD 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-98a3l2ssCBL1uPhD .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-98a3l2ssCBL1uPhD rect.text{fill:none;stroke-width:0;}#mermaid-svg-98a3l2ssCBL1uPhD .icon-shape,#mermaid-svg-98a3l2ssCBL1uPhD .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-98a3l2ssCBL1uPhD .icon-shape p,#mermaid-svg-98a3l2ssCBL1uPhD .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-98a3l2ssCBL1uPhD .icon-shape .label rect,#mermaid-svg-98a3l2ssCBL1uPhD .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-98a3l2ssCBL1uPhD .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-98a3l2ssCBL1uPhD .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-98a3l2ssCBL1uPhD :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 网线或Wi-Fi
Wi-Fi
网线或Wi-Fi
WAN侧
电脑
家用无线路由器
手机
GNSS终端
运营商网络
因特网
日常所说的"家用无线路由器",通常是一台集成设备,内部可能同时包含:
text
二层交换机
无线接入点 AP
DHCP 服务器
三层路由
NAT/NAPT
基础防火墙
因此,应区分:
- 设备名称:家用无线路由器;
- 具体功能:交换、无线接入、地址分配、路由、地址转换和安全控制。
2. 静态 IP 与动态 IP 到底在区分什么
静态 IP 和动态 IP 描述的是:
网络参数由谁配置,以及地址是否由自动分配机制管理。
这与"公网 IP、私网 IP"是两个不同的分类维度。
2.1 设备进行 IPv4 通信需要哪些参数
最基本的参数是:
- IP 地址;
- 子网掩码或前缀长度。
根据实际通信目标,还可能需要:
- 路由或默认网关:访问其他网络时使用;
- DNS:使用域名访问时使用。
因此:
text
只访问同一子网中的设备
→ 不一定需要默认网关
直接使用IP地址访问
→ 不一定需要DNS
3. 静态 IP
静态 IP 通常是指:
管理员在终端网络接口上手工配置 IP 地址及相关参数,配置不会因普通的断线重连而自动改变。
例如:
text
IP地址:192.168.1.100
前缀长度:/24
默认网关:192.168.1.1
DNS服务器:192.168.1.1
3.1 优点
- 地址稳定;
- 便于其他设备长期访问;
- 便于配置白名单、监控和端口转发;
- 不依赖 DHCP 服务。
3.2 缺点
- 需要人工规划;
- 容易填错地址、前缀、网关或 DNS;
- 地址重复时可能发生 IP 冲突;
- 设备换到其他网络后,原配置可能不再适用。
3.3 典型场景
- 服务器;
- 网络打印机;
- 摄像头;
- 路由器和交换机管理接口;
- GNSS 基准站;
- 固定安装的嵌入式终端。
4. 动态 IP 与 DHCP
在常见 IPv4 网络中,动态 IP 通常是指:
终端通过 DHCP 自动获得 IP 地址和其他网络参数。
DHCP 可下发:
- IP 地址;
- 子网掩码或前缀长度;
- 默认网关;
- DNS 服务器;
- 租约时间;
- 其他可选参数。
4.1 为什么大量终端更适合 DHCP
假设一个单位有 500 台终端。全部手工配置时,管理员需要持续保证:
- 地址不重复;
- 前缀和网关正确;
- DNS 正确;
- 设备搬迁后及时修改;
- 离线设备的地址及时回收。
DHCP 可以自动完成大部分地址管理工作。
4.2 动态 IP 不等于每次都变化
DHCP 分配的地址带有租约。
在以下条件下,终端可能继续获得原来的地址:
- 原租约仍有效;
- 地址仍可用;
- 客户端标识没有变化;
- DHCP 服务器策略允许续租或重新分配原地址。
因此:
text
动态IP
≠
每次联网必然变化
4.3 DHCP 的典型交互过程
首次申请 IPv4 地址时,常见过程是:
DHCP服务器 DHCP客户端 DHCP服务器 DHCP客户端 #mermaid-svg-OTyUUQSZ96JAK4xd{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-OTyUUQSZ96JAK4xd .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-OTyUUQSZ96JAK4xd .error-icon{fill:#552222;}#mermaid-svg-OTyUUQSZ96JAK4xd .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-OTyUUQSZ96JAK4xd .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-OTyUUQSZ96JAK4xd .marker{fill:#333333;stroke:#333333;}#mermaid-svg-OTyUUQSZ96JAK4xd .marker.cross{stroke:#333333;}#mermaid-svg-OTyUUQSZ96JAK4xd svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-OTyUUQSZ96JAK4xd p{margin:0;}#mermaid-svg-OTyUUQSZ96JAK4xd .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-OTyUUQSZ96JAK4xd text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-OTyUUQSZ96JAK4xd .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-OTyUUQSZ96JAK4xd .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-OTyUUQSZ96JAK4xd #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-OTyUUQSZ96JAK4xd .sequenceNumber{fill:white;}#mermaid-svg-OTyUUQSZ96JAK4xd #sequencenumber{fill:#333;}#mermaid-svg-OTyUUQSZ96JAK4xd #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-OTyUUQSZ96JAK4xd .messageText{fill:#333;stroke:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-OTyUUQSZ96JAK4xd .labelText,#mermaid-svg-OTyUUQSZ96JAK4xd .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .loopText,#mermaid-svg-OTyUUQSZ96JAK4xd .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-OTyUUQSZ96JAK4xd .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-OTyUUQSZ96JAK4xd .noteText,#mermaid-svg-OTyUUQSZ96JAK4xd .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-OTyUUQSZ96JAK4xd .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-OTyUUQSZ96JAK4xd .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-OTyUUQSZ96JAK4xd .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-OTyUUQSZ96JAK4xd .actorPopupMenu{position:absolute;}#mermaid-svg-OTyUUQSZ96JAK4xd .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-OTyUUQSZ96JAK4xd .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-OTyUUQSZ96JAK4xd .actor-man circle,#mermaid-svg-OTyUUQSZ96JAK4xd line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-OTyUUQSZ96JAK4xd :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} DHCPDISCOVER寻找服务器DHCPOFFER提供地址DHCPREQUEST请求该地址DHCPACK确认租约
这通常称为 DORA:
text
Discover
Offer
Request
Acknowledge
需要注意:
续租、重新绑定等过程不一定完整重复上述四步。
5. DHCP 地址保留是不是静态 IP
DHCP 服务器可以把某个固定地址保留给指定客户端:
text
指定客户端
→ 每次通过DHCP获得192.168.1.100
它的效果接近固定地址,但配置方式仍是 DHCP 自动下发。
| 配置方式 | 终端是否手工填写 | 地址是否通常固定 |
|---|---|---|
| 手工静态配置 | 是 | 是 |
| 普通 DHCP | 否 | 不保证 |
| DHCP 地址保留 | 否 | 通常是 |
DHCP 地址保留兼顾了:
- 地址稳定;
- 集中管理;
- 终端无需手工配置。
因此,"地址固定"不一定等于"终端手工配置"。
6. 静态/动态与公网/私网不是一回事
以下两个问题彼此独立:
text
地址怎样配置?
→ 静态配置或动态分配
地址在哪个范围使用?
→ 私网地址或公网地址
| 地址类型 | 可以手工静态配置 | 可以动态分配 |
|---|---|---|
| 私网 IP | 可以 | 可以 |
| 公网 IP | 可以 | 可以 |
例如:
text
192.168.1.100
既可能是手工配置的静态私网地址,也可能是 DHCP 分配的动态私网地址。
不能认为:
text
静态IP = 公网IP
动态IP = 私网IP
7. 路由器的本质作用
路由器最核心的作用是:
根据目标 IP 地址查询路由表,在不同 IP 网络之间转发数据包。
例如:
text
家庭网络:192.168.1.0/24
运营商接入网络:另一个IP网络
#mermaid-svg-1oF73CLNXT2GQb9G{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-1oF73CLNXT2GQb9G .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-1oF73CLNXT2GQb9G .error-icon{fill:#552222;}#mermaid-svg-1oF73CLNXT2GQb9G .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-1oF73CLNXT2GQb9G .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-1oF73CLNXT2GQb9G .marker{fill:#333333;stroke:#333333;}#mermaid-svg-1oF73CLNXT2GQb9G .marker.cross{stroke:#333333;}#mermaid-svg-1oF73CLNXT2GQb9G svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-1oF73CLNXT2GQb9G p{margin:0;}#mermaid-svg-1oF73CLNXT2GQb9G .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-1oF73CLNXT2GQb9G .cluster-label text{fill:#333;}#mermaid-svg-1oF73CLNXT2GQb9G .cluster-label span{color:#333;}#mermaid-svg-1oF73CLNXT2GQb9G .cluster-label span p{background-color:transparent;}#mermaid-svg-1oF73CLNXT2GQb9G .label text,#mermaid-svg-1oF73CLNXT2GQb9G span{fill:#333;color:#333;}#mermaid-svg-1oF73CLNXT2GQb9G .node rect,#mermaid-svg-1oF73CLNXT2GQb9G .node circle,#mermaid-svg-1oF73CLNXT2GQb9G .node ellipse,#mermaid-svg-1oF73CLNXT2GQb9G .node polygon,#mermaid-svg-1oF73CLNXT2GQb9G .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-1oF73CLNXT2GQb9G .rough-node .label text,#mermaid-svg-1oF73CLNXT2GQb9G .node .label text,#mermaid-svg-1oF73CLNXT2GQb9G .image-shape .label,#mermaid-svg-1oF73CLNXT2GQb9G .icon-shape .label{text-anchor:middle;}#mermaid-svg-1oF73CLNXT2GQb9G .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-1oF73CLNXT2GQb9G .rough-node .label,#mermaid-svg-1oF73CLNXT2GQb9G .node .label,#mermaid-svg-1oF73CLNXT2GQb9G .image-shape .label,#mermaid-svg-1oF73CLNXT2GQb9G .icon-shape .label{text-align:center;}#mermaid-svg-1oF73CLNXT2GQb9G .node.clickable{cursor:pointer;}#mermaid-svg-1oF73CLNXT2GQb9G .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-1oF73CLNXT2GQb9G .arrowheadPath{fill:#333333;}#mermaid-svg-1oF73CLNXT2GQb9G .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-1oF73CLNXT2GQb9G .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-1oF73CLNXT2GQb9G .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1oF73CLNXT2GQb9G .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-1oF73CLNXT2GQb9G .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1oF73CLNXT2GQb9G .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-1oF73CLNXT2GQb9G .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-1oF73CLNXT2GQb9G .cluster text{fill:#333;}#mermaid-svg-1oF73CLNXT2GQb9G .cluster span{color:#333;}#mermaid-svg-1oF73CLNXT2GQb9G 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-1oF73CLNXT2GQb9G .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-1oF73CLNXT2GQb9G rect.text{fill:none;stroke-width:0;}#mermaid-svg-1oF73CLNXT2GQb9G .icon-shape,#mermaid-svg-1oF73CLNXT2GQb9G .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1oF73CLNXT2GQb9G .icon-shape p,#mermaid-svg-1oF73CLNXT2GQb9G .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-1oF73CLNXT2GQb9G .icon-shape .label rect,#mermaid-svg-1oF73CLNXT2GQb9G .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1oF73CLNXT2GQb9G .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-1oF73CLNXT2GQb9G .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-1oF73CLNXT2GQb9G :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 家庭IP网络
192.168.1.0/24
路由器
运营商网络
其他网络
路由器需要回答:
text
目标IP匹配哪条路由?
数据应从哪个接口发出?
是否需要交给下一跳?
路由选择通常遵循最长前缀匹配:匹配目标地址的路由中,前缀越长,优先级通常越高。
8. "路由器给电脑分配 IP"怎样理解
严格来说:
给电脑分配 IP 的是家用路由器内部的 DHCP 服务器,而不是路由功能本身。
假设:
text
路由器LAN地址:192.168.1.1/24
DHCP地址池:192.168.1.100 ~ 192.168.1.200
电脑可能获得:
text
电脑IP:192.168.1.100
前缀长度:/24
默认网关:192.168.1.1
DNS服务器:192.168.1.1
租约时间:24小时
含义是:
- 电脑在自己的网卡上使用
192.168.1.100; - DHCP 服务器保存该租约;
- 电脑根据路由表决定是否把数据交给
192.168.1.1; - 路由器再根据自己的路由表继续转发。
"路由器分配 IP"并不表示该地址由路由器接口占用,而是 DHCP 服务允许客户端在租约期内使用该地址。
8.1 路由器不一定运行 DHCP
企业网络中可能采用:
text
路由器或三层交换机
→ 负责跨网段转发
独立DHCP服务器
→ 负责地址分配
当 DHCP 服务器位于其他网段时,还可以使用 DHCP Relay 转发 DHCP 报文。
因此:
text
路由器
≠
必然是DHCP服务器
9. 路由器与交换机的区别
9.1 二层交换机
传统二层交换机根据 MAC 地址表转发以太网帧。
例如:
text
MAC A → 端口1
MAC B → 端口2
MAC C → 端口3
它主要解决:
同一 VLAN 或二层广播域内,多台设备怎样互相连接。
9.2 路由器
路由器根据 IP 路由表转发 IP 数据包。
它主要解决:
不同 IP 网络之间怎样通信。
9.3 对比表
| 对比项 | 二层交换机 | 路由器 |
|---|---|---|
| 主要工作层次 | 数据链路层 | 网络层 |
| 主要转发依据 | MAC 地址表 | IP 路由表 |
| 主要处理对象 | 二层帧 | IP 数据包 |
| 核心用途 | 连接同一二层网络中的设备 | 连接不同 IP 网络 |
| 二层广播 | 在同一 VLAN 内传播 | 默认不会跨三层接口转发 |
| 是否通常提供 DHCP | 普通二层型号通常不提供 | 家用集成设备通常提供 |
| 是否通常执行 NAT | 通常不执行 | 家用边界路由器通常执行 |
| 是否负责跨网段转发 | 否 | 是 |
9.4 VLAN 对交换机的影响
一台物理交换机可以被 VLAN 划分成多个二层广播域:
text
VLAN 10 → 办公网
VLAN 20 → 设备网
VLAN 10 和 VLAN 20 之间需要三层设备转发,例如:
- 路由器;
- 三层交换机;
- 防火墙或其他三层网关。
因此:
接在同一台交换机上,不代表一定处于同一 VLAN 或同一 IP 子网。
9.5 三层交换机
三层交换机同时具备:
- 二层交换;
- 三层路由。
它常用于:
- VLAN 间路由;
- 园区网内部高速转发;
- 多子网互联。
所以,应根据设备实际功能区分路由器和交换机,不能只看名称、外观或端口数量。
10. 一个路由器就是一个局域网吗
不是。
10.1 LAN、广播域和 IP 子网不是同一个概念
- 局域网 LAN:强调有限地理范围内的网络;
- 二层广播域:二层广播能够直接到达的范围;
- IP 子网:由 IP 地址和前缀长度定义的网络范围。
在简单家庭网络中,这三者经常近似重合:
text
一个家庭网络
一个主要VLAN
一个主要IPv4子网
但企业局域网可以包含:
- 多台交换机;
- 多个 VLAN;
- 多个 IP 子网;
- 多台路由器或三层交换机。
10.2 局域网可以没有路由器
两台电脑连接同一交换机:
#mermaid-svg-aICsSJp16rLIAI5z{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-aICsSJp16rLIAI5z .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-aICsSJp16rLIAI5z .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-aICsSJp16rLIAI5z .error-icon{fill:#552222;}#mermaid-svg-aICsSJp16rLIAI5z .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-aICsSJp16rLIAI5z .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-aICsSJp16rLIAI5z .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-aICsSJp16rLIAI5z .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-aICsSJp16rLIAI5z .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-aICsSJp16rLIAI5z .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-aICsSJp16rLIAI5z .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-aICsSJp16rLIAI5z .marker{fill:#333333;stroke:#333333;}#mermaid-svg-aICsSJp16rLIAI5z .marker.cross{stroke:#333333;}#mermaid-svg-aICsSJp16rLIAI5z svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-aICsSJp16rLIAI5z p{margin:0;}#mermaid-svg-aICsSJp16rLIAI5z .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-aICsSJp16rLIAI5z .cluster-label text{fill:#333;}#mermaid-svg-aICsSJp16rLIAI5z .cluster-label span{color:#333;}#mermaid-svg-aICsSJp16rLIAI5z .cluster-label span p{background-color:transparent;}#mermaid-svg-aICsSJp16rLIAI5z .label text,#mermaid-svg-aICsSJp16rLIAI5z span{fill:#333;color:#333;}#mermaid-svg-aICsSJp16rLIAI5z .node rect,#mermaid-svg-aICsSJp16rLIAI5z .node circle,#mermaid-svg-aICsSJp16rLIAI5z .node ellipse,#mermaid-svg-aICsSJp16rLIAI5z .node polygon,#mermaid-svg-aICsSJp16rLIAI5z .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-aICsSJp16rLIAI5z .rough-node .label text,#mermaid-svg-aICsSJp16rLIAI5z .node .label text,#mermaid-svg-aICsSJp16rLIAI5z .image-shape .label,#mermaid-svg-aICsSJp16rLIAI5z .icon-shape .label{text-anchor:middle;}#mermaid-svg-aICsSJp16rLIAI5z .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-aICsSJp16rLIAI5z .rough-node .label,#mermaid-svg-aICsSJp16rLIAI5z .node .label,#mermaid-svg-aICsSJp16rLIAI5z .image-shape .label,#mermaid-svg-aICsSJp16rLIAI5z .icon-shape .label{text-align:center;}#mermaid-svg-aICsSJp16rLIAI5z .node.clickable{cursor:pointer;}#mermaid-svg-aICsSJp16rLIAI5z .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-aICsSJp16rLIAI5z .arrowheadPath{fill:#333333;}#mermaid-svg-aICsSJp16rLIAI5z .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-aICsSJp16rLIAI5z .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-aICsSJp16rLIAI5z .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-aICsSJp16rLIAI5z .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-aICsSJp16rLIAI5z .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-aICsSJp16rLIAI5z .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-aICsSJp16rLIAI5z .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-aICsSJp16rLIAI5z .cluster text{fill:#333;}#mermaid-svg-aICsSJp16rLIAI5z .cluster span{color:#333;}#mermaid-svg-aICsSJp16rLIAI5z 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-aICsSJp16rLIAI5z .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-aICsSJp16rLIAI5z rect.text{fill:none;stroke-width:0;}#mermaid-svg-aICsSJp16rLIAI5z .icon-shape,#mermaid-svg-aICsSJp16rLIAI5z .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-aICsSJp16rLIAI5z .icon-shape p,#mermaid-svg-aICsSJp16rLIAI5z .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-aICsSJp16rLIAI5z .icon-shape .label rect,#mermaid-svg-aICsSJp16rLIAI5z .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-aICsSJp16rLIAI5z .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-aICsSJp16rLIAI5z .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-aICsSJp16rLIAI5z :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 电脑A
192.168.1.10/24
二层交换机
电脑B
192.168.1.20/24
若它们位于同一 VLAN、IP 配置正确且没有安全策略阻断,就可以直接通信。
没有路由器时,它们仍构成局域网,只是不能依靠该网络访问其他 IP 网络。
10.3 一个路由器可以连接多个网络
例如:
text
接口1 → 192.168.10.0/24
接口2 → 192.168.20.0/24
接口3 → 192.168.30.0/24
10.4 一个局域网也可能连接多个路由器
例如:
text
路由器A → 因特网出口
路由器B → 企业专网出口
也可以部署多台路由器实现:
- 冗余;
- 故障切换;
- 负载分担。
11. 局域网与因特网的关系
11.1 局域网
局域网通常覆盖:
- 家庭;
- 办公室;
- 实验室;
- 楼宇;
- 厂区。
家庭 IPv4 网络常使用以下私网地址范围:
text
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
这些私网地址不能在公共 IPv4 因特网中直接路由。
11.2 因特网
因特网不是一台服务器,也不是一台超级路由器。
它是大量独立网络通过路由器和运营商互联形成的全球网络:
#mermaid-svg-kFZlUBF3RXxHUiEZ{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-kFZlUBF3RXxHUiEZ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-kFZlUBF3RXxHUiEZ .error-icon{fill:#552222;}#mermaid-svg-kFZlUBF3RXxHUiEZ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-kFZlUBF3RXxHUiEZ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .marker.cross{stroke:#333333;}#mermaid-svg-kFZlUBF3RXxHUiEZ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-kFZlUBF3RXxHUiEZ p{margin:0;}#mermaid-svg-kFZlUBF3RXxHUiEZ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .cluster-label text{fill:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .cluster-label span{color:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .cluster-label span p{background-color:transparent;}#mermaid-svg-kFZlUBF3RXxHUiEZ .label text,#mermaid-svg-kFZlUBF3RXxHUiEZ span{fill:#333;color:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .node rect,#mermaid-svg-kFZlUBF3RXxHUiEZ .node circle,#mermaid-svg-kFZlUBF3RXxHUiEZ .node ellipse,#mermaid-svg-kFZlUBF3RXxHUiEZ .node polygon,#mermaid-svg-kFZlUBF3RXxHUiEZ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .rough-node .label text,#mermaid-svg-kFZlUBF3RXxHUiEZ .node .label text,#mermaid-svg-kFZlUBF3RXxHUiEZ .image-shape .label,#mermaid-svg-kFZlUBF3RXxHUiEZ .icon-shape .label{text-anchor:middle;}#mermaid-svg-kFZlUBF3RXxHUiEZ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .rough-node .label,#mermaid-svg-kFZlUBF3RXxHUiEZ .node .label,#mermaid-svg-kFZlUBF3RXxHUiEZ .image-shape .label,#mermaid-svg-kFZlUBF3RXxHUiEZ .icon-shape .label{text-align:center;}#mermaid-svg-kFZlUBF3RXxHUiEZ .node.clickable{cursor:pointer;}#mermaid-svg-kFZlUBF3RXxHUiEZ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .arrowheadPath{fill:#333333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-kFZlUBF3RXxHUiEZ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-kFZlUBF3RXxHUiEZ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-kFZlUBF3RXxHUiEZ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-kFZlUBF3RXxHUiEZ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .cluster text{fill:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ .cluster span{color:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ 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-kFZlUBF3RXxHUiEZ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-kFZlUBF3RXxHUiEZ rect.text{fill:none;stroke-width:0;}#mermaid-svg-kFZlUBF3RXxHUiEZ .icon-shape,#mermaid-svg-kFZlUBF3RXxHUiEZ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-kFZlUBF3RXxHUiEZ .icon-shape p,#mermaid-svg-kFZlUBF3RXxHUiEZ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-kFZlUBF3RXxHUiEZ .icon-shape .label rect,#mermaid-svg-kFZlUBF3RXxHUiEZ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-kFZlUBF3RXxHUiEZ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-kFZlUBF3RXxHUiEZ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-kFZlUBF3RXxHUiEZ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 家庭局域网
家庭路由器
接入运营商
骨干或其他运营商
目标服务器所在网络
12. 电脑访问因特网时发生了什么
假设:
text
电脑IP:192.168.1.100/24
默认网关:192.168.1.1
路由器外部地址:198.51.100.20
服务器IP:203.0.113.10
198.51.100.0/24 和 203.0.113.0/24 是专门用于文档示例的地址段。
12.1 操作系统先查询路由表
主机不是简单地"只比较目标和自己的子网",而是查询路由表。
接口配置 192.168.1.100/24 通常会自动生成一条直连路由:
text
192.168.1.0/24 → 本地接口
由于目标 203.0.113.10 不匹配该直连路由,也没有其他更具体路由,所以使用默认路由,把数据交给:
text
192.168.1.1
IPv4 网络地址可表示为:
$$
\mathbf N
\mathbf A
\operatorname{AND}
\mathbf M
$$
其中:
- N\mathbf NN:网络地址;
- A\mathbf AA:IPv4 地址的 32 位二进制表示;
- M\mathbf MM:子网掩码的 32 位二进制表示;
- AND\operatorname{AND}AND:逐位逻辑与运算。
12.2 MAC 地址负责当前一跳
电脑通过 ARP 获得默认网关的 MAC 地址。
发送时:
text
以太网目标MAC:路由器LAN接口MAC
IP目标地址:203.0.113.10
这说明:
- MAC 地址负责当前链路上的下一跳交付;
- IP 目标地址仍然是最终服务器。
12.3 路由器继续转发
路由器会:
- 接收数据包;
- 检查数据包和安全策略;
- 查询路由表;
- 选择出接口或下一跳;
- 必要时执行 NAT/NAPT;
- 转发给运营商网络。
13. NAT、NAPT 与防火墙
家庭 IPv4 网络通常使用私网地址。家用路由器常通过 NAPT,也称端口地址转换,让多台设备共享一个外部 IPv4 地址。
例如:
text
内部连接:
192.168.1.100:50000
外部映射:
198.51.100.20:62001
| 内部连接 | 外部映射 |
|---|---|
192.168.1.100:50000 |
198.51.100.20:62001 |
返回数据到达路由器后,路由器根据映射将其交给对应的内部设备。
13.1 NAT/NAPT 的作用
- 改写地址,NAPT 还会改写端口;
- 让多台内网设备共享较少的公网 IPv4 地址;
- 缓解 IPv4 公网地址不足。
需要注意:
text
NAT/NAPT
≠
路由
≠
防火墙
NAT 会使外部主动访问内部设备更困难,但它不能替代完整的访问控制。家用路由器通常还会运行状态防火墙。
13.2 为什么外部不能直接访问内部设备
常见原因包括:
- 私网地址不能在公网直接路由;
- 路由器没有对应的入站 NAT 映射;
- 状态防火墙拒绝未经请求的入站连接;
- 运营商使用 CGNAT;
- 内部服务没有监听或本机防火墙拒绝。
外部访问内部服务可能需要:
- 端口转发;
- VPN;
- 反向连接或反向代理;
- 内网穿透;
- 可用的公网地址;
- 正确的防火墙策略。
公网 IPv4 或公网 IPv6 只解决寻址问题,不代表服务会自动对外开放。
13.3 路由不一定需要 NAT
以下场景可以只路由、不做 NAT:
- 企业专网;
- 不同私有子网之间的内部路由;
- 具有全球可路由地址的 IPv6 网络;
- 运营商骨干网络。
因此:
text
路由器
≠
NAT设备
14. 手机 Wi-Fi 热点是什么
手机开启热点后,通常会创建一个小型内部网络,并提供:
text
无线AP
DHCP
IP转发
NAT/NAPT
基础防火墙
因此,手机热点可以理解为:
由手机系统实现的便携式共享网络网关。
它与家用无线路由器功能相似,但硬件能力、配置能力和运行目标不同。
14.1 共同点
| 功能 | 家用无线路由器 | 手机热点 |
|---|---|---|
| 提供 Wi-Fi 接入 | 是 | 是 |
| 创建内部网络 | 是 | 是 |
| 通常运行 DHCP | 是 | 是 |
| 通常作为默认网关 | 是 | 是 |
| 执行 IP 转发 | 是 | 是 |
| 通常执行 NAT/NAPT | 是 | 是 |
| 通常有基础防火墙 | 是 | 是 |
14.2 主要区别
| 对比项 | 家用无线路由器 | 手机热点 |
|---|---|---|
| 主要用途 | 长期家庭或办公联网 | 临时共享手机上联网 |
| 常见上联网方式 | 宽带、光猫、以太网 | 4G/5G,部分设备可共享上级 Wi-Fi |
| 供电 | 长期外接电源 | 手机电池 |
| 覆盖和天线 | 通常更强 | 受手机体积限制 |
| 并发设备数 | 通常更多 | 通常较少 |
| 长期稳定性 | 更适合持续运行 | 长期开启可能发热、耗电 |
| 有线 LAN 口 | 通常有 | 通常没有 |
| 高级配置 | 通常更多 | 通常较少 |
| 维护独立性 | 独立运行 | 受手机系统、电量和业务影响 |
| 移动性 | 较弱 | 很强 |
14.3 双层 NAT
手机移动网络经常位于运营商 CGNAT 后:
text
热点下的电脑
→ 手机NAT
→ 运营商CGNAT
→ 因特网
这会使外部主动访问热点下设备更加困难。
14.4 手机连接 Wi-Fi 后再开热点
不同手机和系统的实现可能不同:
- 继续使用移动数据;
- 共享上级 Wi-Fi;
- 不允许 Wi-Fi 客户端和热点同时工作;
- 使用虚拟接口或不同频段进行中继。
因此,应以手机实际显示的上联网方式和路由配置为准。
15. 三类设备综合对比
| 对比项 | 二层交换机 | 家用无线路由器 | 手机热点 |
|---|---|---|---|
| 核心作用 | 连接二层网络中的设备 | 连接内部网络与外部网络 | 临时共享手机的上联网 |
| 主要转发依据 | MAC 地址表 | IP 路由表,内部还含二层交换 | IP 路由表 |
| 通常提供 DHCP | 否 | 是 | 是 |
| 通常执行 NAT/NAPT | 否 | 是 | 是 |
| 通常提供 Wi-Fi | 否 | 是 | 是 |
| 多个有线端口 | 通常有 | 通常有 | 通常没有 |
| 适合长期运行 | 是 | 是 | 通常不如专用设备 |
| 高级网络管理 | 取决于型号 | 通常较丰富 | 通常有限 |
16. 常见概念误区
16.1 动态 IP 就是公网 IP 会变化
不正确。
动态只描述自动分配方式,地址既可能是私网地址,也可能是公网地址。
16.2 静态 IP 一定能被因特网访问
不一定。
还要检查:
- 是否为可路由的公网地址;
- 是否经过 NAT 或 CGNAT;
- 路由是否正确;
- 防火墙是否允许;
- 目标服务是否监听。
16.3 交换机可以单独让设备访问因特网
普通二层交换机只能扩展二层连接。
访问其他 IP 网络还需要三层网关,例如:
- 路由器;
- 三层交换机;
- 防火墙。
16.4 路由器就是 Wi-Fi
不正确。
- Wi-Fi:一组无线局域网技术和标准;
- 路由:在不同 IP 网络之间转发数据包。
设备可以只有路由功能,也可以只有无线 AP 功能,还可以把两者集成。
16.5 一个路由器就是一个局域网
不正确。
text
局域网可以没有路由器
一个路由器可以连接多个网络
一个局域网可以包含多个VLAN、子网和路由器
16.6 DHCP 分配的 IP 属于路由器
不正确。
DHCP 服务器把某个地址租给客户端,客户端在自己的网络接口上使用该地址。
17. 完整通信示例
假设:
text
电脑:192.168.1.100/24
默认网关:192.168.1.1
路由器外部地址:198.51.100.20
目标服务器:203.0.113.10
电脑访问服务器时:
- 查询路由表;
- 默认路由指向
192.168.1.1; - 使用 ARP 查询网关 MAC;
- 把以太网帧交给路由器;
- IP 目标地址仍为服务器;
- 路由器查询路由并执行安全检查;
- 必要时执行 NAT/NAPT;
- 运营商和其他路由器继续转发;
- 返回数据到达家庭路由器;
- 路由器根据连接状态和转换映射交给电脑。
目标服务器 运营商网络 家庭路由器 电脑 目标服务器 运营商网络 家庭路由器 电脑 #mermaid-svg-19XwyrnvVgPWPabZ{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-19XwyrnvVgPWPabZ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-19XwyrnvVgPWPabZ .error-icon{fill:#552222;}#mermaid-svg-19XwyrnvVgPWPabZ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-19XwyrnvVgPWPabZ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-19XwyrnvVgPWPabZ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-19XwyrnvVgPWPabZ .marker.cross{stroke:#333333;}#mermaid-svg-19XwyrnvVgPWPabZ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-19XwyrnvVgPWPabZ p{margin:0;}#mermaid-svg-19XwyrnvVgPWPabZ .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-19XwyrnvVgPWPabZ text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-19XwyrnvVgPWPabZ .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-19XwyrnvVgPWPabZ .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-19XwyrnvVgPWPabZ .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-19XwyrnvVgPWPabZ .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-19XwyrnvVgPWPabZ #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-19XwyrnvVgPWPabZ .sequenceNumber{fill:white;}#mermaid-svg-19XwyrnvVgPWPabZ #sequencenumber{fill:#333;}#mermaid-svg-19XwyrnvVgPWPabZ #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-19XwyrnvVgPWPabZ .messageText{fill:#333;stroke:none;}#mermaid-svg-19XwyrnvVgPWPabZ .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-19XwyrnvVgPWPabZ .labelText,#mermaid-svg-19XwyrnvVgPWPabZ .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-19XwyrnvVgPWPabZ .loopText,#mermaid-svg-19XwyrnvVgPWPabZ .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-19XwyrnvVgPWPabZ .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-19XwyrnvVgPWPabZ .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-19XwyrnvVgPWPabZ .noteText,#mermaid-svg-19XwyrnvVgPWPabZ .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-19XwyrnvVgPWPabZ .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-19XwyrnvVgPWPabZ .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-19XwyrnvVgPWPabZ .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-19XwyrnvVgPWPabZ .actorPopupMenu{position:absolute;}#mermaid-svg-19XwyrnvVgPWPabZ .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-19XwyrnvVgPWPabZ .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-19XwyrnvVgPWPabZ .actor-man circle,#mermaid-svg-19XwyrnvVgPWPabZ line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-19XwyrnvVgPWPabZ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 目标IP为服务器二层下一跳为路由器路由、策略检查和地址转换逐跳转发返回响应返回到路由器外部地址根据状态和映射交给电脑
18. 总结
text
手工静态配置
→ 终端自行保存固定网络参数
普通DHCP
→ 服务器自动分配地址,地址不保证永久不变
DHCP地址保留
→ 地址由DHCP下发,但通常保持固定
text
二层交换机
→ 根据MAC地址表转发二层帧
路由器
→ 根据IP路由表连接不同IP网络
text
局域网
→ 有限范围内的网络
广播域
→ 二层广播能够到达的范围
IP子网
→ 由地址和前缀定义的网络范围
text
手机热点
→ 便携式无线接入与共享上联网功能
→ 通常集成AP、DHCP、IP转发、NAT和防火墙
在家庭 IPv4 网络中,路由、DHCP、NAT 和 Wi-Fi 经常集成在一台设备中,但它们仍是不同的网络功能。