公网 IP、私网 IP、路由表、转发表与 MAC 地址的关系

作者:小红的布丁日期:2026/4/12

引言

学习网络时,最容易混淆的不是协议流程,而是几个看起来相近、其实不在一个层面的概念,比如:

  • 私网 IP 和公网 IP
  • 路由表和转发表
  • “在链路上”到底是什么意思
  • MAC 地址和 IP 地址分别属于哪一层

这篇文章把这些概念放到同一条线上梳理清楚,尽量用能直接形成画面的方式去理解。

私网 IP、公网 IP 和 NAT 到底是什么关系

很多人第一次接触家庭网络时,容易把 192.168.x.x 这类地址叫成“虚拟 IP”。这个说法不够准确,更准确的叫法应该是:

  • 公网 IP
  • 私网 IP
  • NAT

什么是公网 IP

公网 IP 是可以在互联网范围内参与路由的地址。通常一个家庭宽带、一个企业出口、一个云服务器,都会有一个或多个公网 IP。

从互联网的视角看,真正能被外部网络直接识别和访问的,通常是这个公网 IP。

什么是私网 IP

私网 IP 是保留给局域网内部使用的地址,不能直接在公网中路由。最常见的私网地址范围有三段:

  1. 10.0.0.0/8
  2. 172.16.0.0/12172.31.255.255
  3. 192.168.0.0/16

家里的手机、电脑、平板连上同一个路由器后,通常拿到的就是私网 IP,比如:

  • 192.168.1.2
  • 192.168.1.3
  • 192.168.1.4

路由器在这里做了什么

可以把家用路由器理解成“局域网出口”。

路由器通常同时扮演两个角色:

  1. 在内网一侧给设备分配私网 IP
  2. 在外网一侧使用公网 IP 和互联网通信

当内网设备访问外网时,数据会先发给路由器,然后由路由器通过 NAT 转换,把“内网地址 + 端口”映射成“公网地址 + 端口”,再发到互联网。

外部响应返回时,路由器再根据 NAT 映射表,把数据转回对应的内网设备。

所以“虚拟 IP”这个说法哪里不准确

在家庭路由器场景里,192.168.x.x 更准确的名称是“私网 IP”或“内网 IP”,而不是“虚拟 IP”。

因为这里的重点不是“虚拟化”,而是:

  • 这些地址只在局域网内部有效
  • 真正和公网通信时,需要借助 NAT

所以更准确的理解应该是:

“路由器用一个公网 IP 对外通信,同时在局域网内部管理一批私网 IP,并通过 NAT 帮这些内网设备和互联网交换数据。”

路由表里显示“在链路上”是什么意思

在 Windows 的 route print 输出中,经常能看到网关一栏显示“在链路上”。

这个词的核心含义其实很简单:

“这个目标是直连可达的,不需要再交给下一跳网关。”

也可以理解成英文里的 on-link

什么叫直连可达

假设你的电脑地址是:

1192.168.1.100/24
2

那么 192.168.1.0/24 这个网段就是你当前网卡直连的本地网络。

这时如果你要访问:

1192.168.1.50
2

目标就在同一个网段里,所以不需要把数据先交给路由器。系统会直接:

  1. 查路由表,发现目标网络是直连网络
  2. 看到网关显示“在链路上”
  3. 通过 ARP 查询对方 MAC 地址
  4. 直接把帧发给目标设备

这里没有“下一跳路由器”这个环节,所以网关列不会出现一个真正的网关 IP。

常见几类“在链路上”路由

在 Windows 路由表里,下面几类条目很常见:

  • 本地局域网网段,比如 192.168.1.0/24
  • 本机地址,比如 192.168.1.100/32
  • 广播地址,比如 192.168.1.255/32
  • 回环地址,比如 127.0.0.0/8

它们的共同点都是:

  • 数据不需要经过外部网关转发
  • 系统自己就能直接处理,或者直接在当前链路内发送

所以“在链路上”不是说“链路里有很多网关”,而是说:

“这个目标本来就在当前链路上,可以直接到达。”

路由表和转发表有什么区别

这两个概念很像,但职责并不完全相同。

路由表是什么

路由表更偏“控制平面”。

它保存的是路由信息,用来决定:

  • 某个目标网络应该怎么走
  • 下一跳是谁
  • 应该从哪个接口发出

典型字段包括:

  • 目标网络
  • 子网掩码
  • 下一跳
  • 出接口
  • Metric

简单说,路由表回答的是:

“去这个目标网络,原则上该走哪条路?”

转发表是什么

转发表更偏“数据平面”。

当数据包真正到达路由器,需要立即转发时,设备不会每次都拿复杂的路由信息重新计算,而是直接查更适合快速匹配的数据结构,这就是转发表。

它更像是:

“最终给硬件或转发引擎使用的快速查表结果。”

两者的关系

可以这样理解:

  1. 路由表负责产出转发决策
  2. 转发表负责执行快速转发

在很多设备里,转发表往往是由路由表计算、筛选、收敛之后生成的。

所以如果要一句话区分:

  • 路由表偏“怎么选路”
  • 转发表偏“怎么转包”

MAC 地址和 IP 地址分别属于哪一层

这一点也很容易记混。

MAC 地址属于数据链路层

MAC 地址是网卡层面的硬件地址,用于局域网内的二层通信。

它解决的问题是:

“这一帧数据,当前这一跳到底发给哪块网卡?”

注意,MAC 地址属于数据链路层,不属于物理层。物理层负责的是比特流、电信号、光信号和传输介质,而不是地址编址。

IP 地址属于网络层

IP 地址用于跨网络定位主机,解决的是:

“这个包最终要送到哪台主机?”

所以 IP 地址的作用范围比 MAC 地址更高一层,也更广。

为什么既需要 MAC,又需要 IP

因为它们解决的不是同一个问题。

  • IP 负责“最终送到谁”
  • MAC 负责“这一跳交给谁”

例如从你电脑访问公网服务器时:

  1. IP 头里的目标 IP 可能是远端服务器地址
  2. 但二层帧里的目标 MAC,往往先写的是你家路由器的 MAC

也就是说,IP 决定终点,MAC 决定当前这一跳。

把这些概念串起来理解

假设你的电脑地址是 192.168.1.100,家里路由器 LAN 口是 192.168.1.1,路由器对外有一个公网 IP。

当你访问外网服务器时,大致过程如下:

  1. 电脑查路由表,发现目标不在本地网段
  2. 因此走默认路由,把数据交给网关 192.168.1.1
  3. 电脑通过 ARP 获得路由器的 MAC 地址
  4. 数据帧先发给路由器
  5. 路由器执行 NAT,把私网地址转换为公网地址
  6. 路由器根据自己的路由信息继续转发到互联网
  7. 返回流量再通过 NAT 映射回到内网主机

如果访问的是同网段设备,比如 192.168.1.50,流程就不一样:

  1. 电脑查路由表,发现目标“在链路上”
  2. 不需要经过网关
  3. 直接 ARP 查询目标 MAC
  4. 直接发送二层帧

这样就把私网 IP、公网 IP、NAT、路由表、MAC 地址这些概念串起来了。

总结

这篇文章的重点可以压缩成四句话:

  1. 192.168.x.x 这类地址更准确地叫“私网 IP”,不是“虚拟 IP”
  2. “在链路上”表示目标是直连可达的,不需要经过下一跳网关
  3. 路由表负责选路,转发表负责高速转发
  4. MAC 地址属于数据链路层,IP 地址属于网络层

把这四点想清楚,后面再看 ARP、默认网关、NAT、路由转发时,很多原来容易混的概念都会一下子顺起来。

参考资料


如果这篇文章对你有帮助,欢迎继续阅读本系列后续内容。若文中有不准确或需要补充的地方,也欢迎指出。


公网 IP、私网 IP、路由表、转发表与 MAC 地址的关系》 是转载文章,点击查看原文


相关推荐


大模型推理凭什么这么贵?从GRPO到BCR,推理效率之战全解析
陆业聪2026/4/4

一个反常识的观察:推理越强,账单越贵 DeepSeek-R1 横空出世之后,"o1-style 推理"几乎成了大模型进化的标配动作。CoT、长思考链、自我反思……这些机制确实让模型在数学、代码、逻辑推理上表现亮眼。但随之而来的问题是——每一次"深度思考",都是在烧钱。 最极端的案例:让 o1 解一道简单的小学数学题,它会生成好几百个 token 的"内心独白",然后给出一个一眼就能看出来的答案。这就像雇了个博士级顾问,让他帮你决定午饭吃什么——能力没问题,但成本不对等。 这个问题的本质不是"推理


SwiftUI 如何实现 Infinite Scroll?
RickeyBoy2026/3/27

欢迎点个 star:github.com/RickeyBoy/R… 面试题:用 SwiftUI 实现一个无限滚动列表,支持分页加载。 这道题我在面试中遇到过好几次,说实话第一次答的时候以为随便写个 LazyVStack + onAppear 就完事了。后来才发现,面试官真正想考的不是你会不会用 API,而是你对状态管理、性能优化、Task 生命周期这些东西到底理解多深。 我的思路是从最简方案出发,一步步暴露问题、一步步优化。在开始写代码之前,先聊一下架构选型。 为什么选 MVVM? 先说一下


基于 Cloudflare 生态的 AI Agent 实现
Surmon2026/3/19

2026 新年的一个夜晚,窗外炮竹烟花争相闪耀,脑海里灵光一闪:我这快十年的老博客能不能也赶一波时髦,实现一个真正「有用」的智能助手? 有用 的意思是,它不能是一个只会随便聊天的机器人,而是一个真正了解我(博主)、了解博客内容的 AI 分身。它最好能事无巨细地知道我写过哪些文章,了解我的观点、立场和经历,能根据访客的问题去知识库里精准地找到最相关的内容,再结合上下文给出自然又富有意义的回答。 它应该是一张鲜活、灵动的个人名片。 这并不是一个多么复杂的需求,开源工具和商业基建也已经很成熟了,但真正


从零开发一个掘金自动发布 Skill,并上架 Clawhub
小巫debug日记2026/3/10

从零开发一个掘金自动发布 Skill,并上架 Clawhub 本文记录了一次完整的 Skill 开发旅程:从一句「帮我创建一个可以自动发布文章到掘金的 skill」开始,到最终成功上架 Clawhub,全程真实还原每一个关键决策和踩坑过程。 背景:为什么要做这个 Skill? 我日常运营一个 AI 资讯账号,每天需要将 Markdown 格式的文章发布到多个平台,包括微信公众号、小红书、掘金等。其中微信公众号和小红书已经有现成的 Skill 可以用,但掘金没有。 每次发布掘金都要: 打开


Word 中 MathType 启动慢、卡顿、卡死 | 由于某种原因,PowerPoint 无法加载MathType……
斐夷所非2026/3/2

注:本文为 “office 中 MathType 启动、加载异常” 相关合辑。 图片清晰度受引文原图所限。 略作重排,如有内容异常,请看原文。 Word 2013 中 MathType 窗口启动延迟问题分析与解决方案 香蕉君达 发布于 2026-02-19 12:12 1 现象描述 通过快捷键或功能区按钮在 Word 2013 中插入公式时,编辑窗口启动延迟时长约为 3~4 秒,对文档编辑流程造成干扰。 测试表明,若系统中已存在至少一个处于打开状态的 MathType 窗口,后续公式


SpringBoot多环境配置实战指南
北极的代码2026/2/22

前言:在之前的开发环境中要跟改配置,测试环境也要改,每次切换环境都要手动修改配置文件 常常发生"我们在本地能运行,怎么部署到服务器就报错"的情况,一不小心就把测试环境的配置提交到代码库。因此我们提出了多环境开发配置。 多环境开发配置: 在SpringBoot中,多环境配置的管理核心是利用Profile机制,它允许我们为不同的运行环境(开发,测试,生产)定义独立的配置,并在应用启动时动态的激活,从而实现配置等隔离与灵活切换。 核心实现方式:Profile 特定配置文件 总之就


聊一聊 CLI:为什么真正的工程能力,都藏在命令行里?
G探险者2026/2/14

大家好,我是G探险者! 今天我们来聊一聊CLI。 在很多人眼里,命令行(CLI,Command Line Interface)是“黑框 + 英文命令”的代名词。 对普通用户来说,它晦涩、难记、不友好。 但对工程师来说—— CLI 是系统可编排能力的起点,是自动化的基础设施,是 DevOps 的地基。 今天我们不从“怎么用命令”讲起,而是聊一聊: CLI 是怎么诞生的? 为什么它没有被 GUI 取代? 为什么所有现代基础设施几乎都优先设计 CLI? 为什么 CLI 是工程能力的分水岭?


你这一生到底该如何赚钱?
袁庭新2026/2/5

大家好,我是袁庭新。 赚钱是每个成年人每天的头等大事,那你有没有认真思考过:你这一辈子到底应该如何赚钱?根据这几年的总结,我认为赚钱的方式无非以下三种: 用时间赚钱 用金钱赚钱 用金钱和时间一起赚钱 这三种赚钱方式的回报是不一样的,它们依次越来越大,最牛的就是用“时间+金钱”赚钱。 我们绝大多数人一生摆脱不了“用时间赚钱”这种模式,想要获得更多回报就低拼命上班加班。但,用时间赚钱的方式是可以改良的,最核心的策略就是“想尽一切办法把自己的同一份时间出售很多次”,举几个例子吧,比如:讲课、写书


爷爷你关注的前端博主复活了!! 他学python去了??
jinzunqinjiu2026/1/27

如何配置python环境。 hello,兄弟们马上过年了,想死你们了。转眼间就已经毕业半年。也工作了快一年了。从实习生一路跌跌撞撞,从刚开始连react的状态依赖都老是写死循环到现在已经经历过很多项目了。说来这一年也有很多成长,参与了公司很多的项目,看过各种代码。最终在ai的加持下已经能够独挡一面。但是最近公司开始掀起了一股ai风,以及网上ai全栈的兴起,我想我是坐不住了。深耕前端 or 技术转型。 小孩子才做选择,前端为主ai为辅,所以我要开始学习python逐渐开始学习ai应用了。正好我也没


【我与2025】裁员、旅游、找工作、媳妇没跑
修己xj2026/1/18

现在是2026年1月下旬。以往的年终总结总被搁置,今年却有些不同——家里添了新成员,自己的心态也悄然变化。于是决定写下这些文字,既是回顾我的2025,也是一次认真的复盘。 裁员 2021年6月,我加入上一家公司,一待就是四年。2025年收到的第一份“礼物”,竟是公司的裁员通知。我负责的是运营业务系统,因为常有线上问题需要处理,所以即便下班后、节假日也离不开电脑。几年来,我几乎没出省旅行过,每次回家都随身带着电脑,随时待命。 刚入职时,公司正处于扩张期,盈利状况很好。没过多久,就搬进了自购的整层

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客