网关 (Gateway)
1. 定义
网关 (Gateway) 是连接两个不同网络、在它们之间转发流量的网络节点。日常最常用的是默认网关 (Default Gateway)——你的设备要访问”本局域网之外”的任何地址(比如互联网)时,包都会先发给它,由它再往外出。它是你这台设备和外部世界之间的”出口”。
类比:网关像小区的大门 / 出口。你家和邻居(同一局域网的各设备)互相串门,在小区内部直接走(二层直连,不用出门);但你要出小区去外面上网、点外卖,必须经过大门(网关),由它把你的包转发出去再路由到目的地。
⚠️ “Gateway” 这词被复用了好几层,别混:
- 网络层网关(本笔记主角):L3 路由器角色,转发 IP 包,是网络的”出口设备”。
- API 网关:应用层(L7)架构组件,管 API 流量(认证/路由/限流),见
server.md反向代理一节。- OpenClaw 的 Gateway:某个应用(OpenClaw)内部的中央服务进程(WebSocket 服务),和我们这里的网络网关不是一回事,见
../ai-agent-guide/openclaw.md。
2. 核心概念
| 概念 | 含义 |
|---|---|
| 默认网关 | 设备的”下一跳”,通常是家庭/公司路由器的 LAN IP(如 192.168.1.1) |
| 路由表 (Routing Table) | 系统里”去某网段走哪个出口”的规则表;匹配不到具体路由的流量,一律走默认网关 |
| 子网 (Subnet) | 同一子网内设备靠 MAC 二层直连;跨子网才需要经过网关(三层转发) |
| NAT | 家庭网关常顺手做 NAT:把内网私有 IP 转成公网 IP 再出网,让多台设备共用一个公网地址 |
| 下一跳 (Next Hop) | 网关收到包后,按自己的路由表决定转发给谁(可能是另一个网关,直至抵达目标) |
3. 工作原理:一个包怎么”出门”
设备A 192.168.1.10 ─┐
设备B 192.168.1.11 ─┼─▶ 交换机(二层) ─▶ 网关 192.168.1.1 ─▶ 互联网 / 其他网络
设备C 192.168.1.12 ─┘ (同网段直连) (三层转发,跨网段才走这)
设备发包时的判断逻辑:
目标 IP 与我很子网?
├─ 是(同网段)──▶ ARP 查对方 MAC,二层直送,不过网关
└─ 否(跨网段/外网)──▶ 发给默认网关,由网关继续路由出去
网关自己也有路由表:它收到跨网包后,看目标网段该走哪个”下一跳”,逐跳转发,直到到达目标网络(或目标主机)。你用
traceroute(Windowstracert)看到的第一跳通常就是你的默认网关。
4. 怎么看 / 配置网关
# Linux / macOS:看路由表,default via 后面就是默认网关
ip route # 或老命令 route -n
# 输出示例:default via 192.168.1.1 dev eth0
# Windows:看 "默认网关"
ipconfig
# 验证第一跳是不是网关(traceroute 首跳)
traceroute 8.8.8.8 # macOS/Linux
tracert 8.8.8.8 # Windows
# 网关通常由 DHCP 自动分配;也可手动设静态 IP 时填"默认网关"一栏家庭里网关几乎就是那台无线路由器的 LAN 口 IP;它一身兼多职(路由 + 网关 + NAT + 交换机 + AP),所以你感觉不到”网关”是个独立设备。
5. 辨析:网关 vs 路由器 vs 交换机 vs API 网关
| 概念 | 工作层 | 干什么 | 例子 |
|---|---|---|---|
| 交换机 (Switch) | L2(数据链路) | 同网段内靠 MAC 转发 | 家里那台接很多网线的盒子 |
| 路由器 / 网关 | L3(网络) | 跨网段靠 IP 转发,连接不同网络 | 无线路由器、企业核心路由器 |
| API 网关 | L7(应用) | 管 API 流量:认证、路由、限流、聚合 | Nginx、Kong、云 API Gateway |
| 应用内 Gateway 组件 | 应用层 | 某应用内部的中央服务(如 OpenClaw) | ../ai-agent-guide/openclaw.md |
一句话:交换机管”小区内部串门”,网关/路由器管”出小区去外网”,API 网关管”应用接口的进出口”。 家庭路由器把前两者(交换机+网关)物理上合在一个盒子里了。
6. 典型场景
- 家庭上网:手机/电脑 → 网关(路由器) → ISP → 互联网。路由器还做 NAT 让全家共用一个公网 IP。
- 企业网:办公 PC → 三层网关(VLAN 间互访) → 核心网关 → 出口防火墙 → 互联网。
- 云上:VPC 的 Internet Gateway / NAT Gateway 是云网络里”出网”的网关角色。
7. 常见坑 / 误区
- ❌ “网关就是路由器” → 网关是角色(网络边界出口),路由器是实现它的设备;家庭路由器同时还是 NAT、交换机、AP。别把角色和设备划等号(呼应
server.md里”服务器三层含义”的坑)。 - ❌ “同网段通信也要过网关” → 同子网内是二层直连,不过网关;只有跨子网/出网才走网关。
- ❌ “网关一定是硬件” → 网关是逻辑角色,软件也能当网关(Linux 开
ip_forward+ iptables 转发、容器网络的网关 IP 都是软网关)。 - ❌ “API 网关和本笔记的网关一样” → 层级不同:网络网关在 L3 转发 IP 包;API 网关在 L7 管 API 流量(见
server.md反向代理)。 - ❌ “配了默认网关就一定能上网” → 还要有正确 DNS(域名解析,见
dns-binding.md)和到外网的路由/NAT,三者齐了才通。 - ❌ “把 OpenClaw 的 Gateway 当成网络网关” → 它只是 OpenClaw 应用里的中央服务进程(WebSocket 服务),不是网络层的出口设备,见
../ai-agent-guide/openclaw.md。
8. 延伸阅读 / 关联概念
- Socket(套接字) — 通信端点,
bind/listen/accept的底座;见socket.md - TCP / UDP — 网关转发的是这两个传输层协议的包;见
tcp-udp.md - HTTP / HTTPS — 出网关后跑的应用层协议;见
http.md - DNS 解析绑定 — “配了网关还上不了网”常是 DNS 没配好;见
dns-binding.md - ping / traceroute —
traceroute首跳即默认网关,用来验证出口;见ping.md - 服务器原理 — 反向代理/负载均衡是应用层的”流量入口”,与 API 网关呼应;见
server.md - 网络安全 — 网关常和防火墙、NAT 一起构成网络出口的安全边界;见
network-security.md - OpenClaw 的 Gateway 组件 — 同名但属应用层,别混淆;见
../ai-agent-guide/openclaw.md