目录
[2.route指令及ip route指令简介](#2.route指令及ip route指令简介)
[2.3.ip route](#2.3.ip route)
1.路由器
(1)定义
路由器 主要是一种网络层设备,负责连接两个或多个不同子网,根据路由表 和目的IP地址,将数据包从源子网转发到目标子网
(2)路由器工作的层级(OSI模型)
| OSI层级 | 设备 | 处理单位 | 依据 |
|---|---|---|---|
| 网络层(第三层) | 路由器 | IP报文 | IP地址、路由表 |
| 数据链路层(第二层) | 交换机 | 帧 | MAC地址 |
| 物理层(第一层) | 集线器 | 比特 | 无 |
路由器是典型的三层设备:
- 转发决策(去哪个子网):看第三层(IP)
- 帧封装与物理发送:依赖第二层和第一层
路由器在转发IP报文时,会丢弃原数据帧的二层头部(源/目的MAC) ,然后在出接口上根据下一跳IP的ARP结果重新封装一个新的二层帧
广播帧不会跨路由器转发, 路由器会隔离广播域
(3)从硬件架构上看,路由器和通用计算机没有本质区别
| 组件 | 通用计算机 | 路由器 |
|---|---|---|
| CPU | Intel/AMD 处理器 | MIPS、ARM、x86 处理器 |
| 内存 | DRAM | DRAM(存储路由表、缓存包) |
| 存储 | 硬盘/SSD | Flash(存储操作系统和配置) |
| 网络接口 | 网卡(1-2个) | 多个网络接口(WAN/LAN) |
| 操作系统 | Windows/Linux/macOS | 路由器OS(IOS、VRP、OpenWrt等)(专用) |
举例说明
| 设备类型 | 能否当路由器用? | 说明 |
|---|---|---|
| 家用路由器 | 本身就是 | 专用计算机,带路由功能 |
| 旧电脑 + 两张网卡 | 可以 | 安装Linux/软路由系统(如OpenWrt、pfSense) |
| 普通PC | 默认不行 | 默认没有开启IP转发功能 |
()路由器IP

路由器有两个关键IP:LAN口IP(私网,如192.168.1.1)和 WAN口IP(运营商分配,可能是公网或运营商私网)
| 场景分类 | 子场景 | 获取/配置方式 | 典型用途 | 常见设备 |
|---|---|---|---|---|
| LAN侧多IP | 多VLAN子网 | 一个LAN口配置多个VLAN子接口 | 隔离办公网、访客网、IoT设备网 | 企业级路由器、支持VAC的交换机 |
| 多物理LAN口 | 路由器提供多个独立LAN接口 | 不同物理区域划分不同子网 | 多口企业路由器 | |
| 单口辅助IP | 同一接口绑定多个IP地址(如eth0:1) |
临时地址、过渡期配置、多服务监听 | 软路由、Linux服务器 | |
| WAN侧多IP | 多WAN口 | 连接多个不同运营商的宽带线路 | 带宽叠加、链路冗余、负载均衡 | 多WAN企业路由器 |
| 单WAN多PPPoE会话 | 同一物理端口建立多个拨号连接 | 单线路多IP、带宽叠加(需运营商支持) | 软路由、高配企业路由 | |
| 单WAN多静态IP | 运营商分配一个主IP及多个附加IP | 托管多个SSL网站、运行多个服务 | 企业专线场景 |
- 不同的路由器, 子网IP可以相同
- 子网内的主机IP地址不能重复,但是子网之间的IP地址可以重复
- 每一个家用路由器,其实又作为运营商路由器的子网中的一个节点。 这样的运营商路由器可能会有很多级,最外层的运营商路由器的WAN口IP就是一个公网IP
- 子网内的主机需要和外网进行通信时, 路由器将IP首部中的IP地址进行替换(替换成WAN口IP),这样逐级替换, 最终数据包中的IP地址成为一个公网IP
(4)路由器的核心功能
| 功能 | 说明 |
|---|---|
| 路由 | 建立和维护路由表(静态路由或通过OSPF/BGP等动态学习) |
| 转发 | 根据路由表,将IP报文从入接口转到出接口 |
| 子网隔离 | 连接不同子网,隔离广播域 |
| DHCP | 给子网内设备自动分配IP(常见于家用/边缘路由器) |
| NAT | 让私有IP设备通过公网IP上网(源地址转换) |
| ACL(访问控制列表) | 控制哪些数据包能通过(可基于MAC、IP、端口进行无状态过滤) |
(5)路由器的本质性结论
| 属性 | 核心结论 |
|---|---|
| 主机属性 | 路由器本质也是某个子网中的一台主机,必须配置IP地址 |
| 多接口属性 | 路由器至少连接两个子网,必须拥有多个IP地址 |
| 世界观属性 | 子网掩码和路由表定义了路由器眼中的网络世界 |
| 转发引擎属性 | 核心任务是IP报文转发,路由是"修路",转发是"走路" |
(6)一句话总结
路由器是一台专门用于连接子网、转发IP报文的网络专用计算机,它运行着路由器操作系统(如IOS、OpenWrt),拥有CPU、内存、存储和多个网络接口
本质上,它就是一台"只有网卡和CPU、专门用来指路"的计算机
2.route指令及ip route指令简介
route [-f] [-n] [-C] [-v] add|del [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
常用选项:
| 选项 | 说明 |
|---|---|
-n |
不解析主机名(直接显示IP地址),速度更快 |
-v |
显示详细信息 |
-e |
以netstat格式显示路由表(等同于netstat -r) |
add |
添加一条路由 |
del |
删除一条路由 |
-net |
目标是一个网络 |
-host |
目标是一个主机 |
(1)基本查看命令
# 基本查看(会尝试解析主机名,较慢)
route
# 推荐方式:不解析主机名,直接显示IP
route -n

各列含义:
| 列名 | 含义 | 说明 |
|---|---|---|
| Destination | 目标网络/主机 | 数据包要到达的目的地 |
| Gateway | 网关地址 | 下一跳路由器的IP,0.0.0.0或*表示直连 |
| Genmask | 子网掩码 | 用于判断目标地址属于哪个网络 |
| Flags | 路由标志 | 见下表详细说明 |
| Metric | 路由度量值 | 越小优先级越高,用于多路径选择 |
| Ref | 引用计数 | 当前路由被使用的次数(通常不用关心) |
| Use | 查找次数 | 通过该路由发送的数据包数量 |
| Iface | 网络接口 | 从哪个网卡发送(eth0, wlan0等) |
2.2.Flags(标志位)详解
这是Linux route命令输出中最重要的一列:
| Flag | 全称 | 含义 |
|---|---|---|
| U | Up | 路由处于活动状态(可用) |
| G | Gateway | 使用网关(非直连网络)。没有G表示目标网络直连 |
| H | Host | 目标是一个主机(而不是网络) |
| R | Reinstate | 动态路由恢复标志(通常不用) |
| D | Dynamic | 由路由守护进程动态添加 |
| M | Modified | 由路由守护进程修改 |
| A | Address | 由地址配置添加 |
| C | Cache | 路由缓存条目 |
| ! | Reject | 路由被拒绝,数据包会被丢弃 |
- U:直连网络(如本地局域网)
- UG:默认路由或远程网络(需要通过网关转发)
- UH:主机路由(到单个IP的精确路径)
- UGH:通过网关访问的特定主机
(3)注意事项
- 使用route命令添加的路由重启后丢失,要永久保存,需要写入配置文件
- 所有修改操作(add/del)都需要root权限,查看操作不需要root
- 主机路由(-host,掩码/32)优先级最高
- 网络路由(根据掩码长度,越长越优先)
- 默认路由(0.0.0.0/0)优先级最低
2.3.ip route
ip route { add | del | change | append | replace | show | flush | get } ROUTE
- 查看选项
| 选项/参数 | 说明 | 示例 |
|---|---|---|
show |
显示路由表(默认命令) | ip route show |
list |
等同于 show |
ip route list |
-n / -numeric |
不解析主机名,直接显示IP | ip -n route show |
-c / -color |
彩色输出,不同类型路由用不同颜色 | ip -c route show |
-j / -json |
JSON格式输出(便于脚本处理) | ip -j route show |
-p / -pretty |
美化输出(与JSON配合使用) | ip -j -p route show |
-0 |
不显示协议信息(加快显示速度) | ip -0 route show |
-4 |
仅显示IPv4路由 | ip -4 route show |
-6 |
仅显示IPv6路由 | ip -6 route show |
-s / -stats |
显示统计信息(数据包计数等) | ip -s route show |
-d / -details |
显示详细信息 | ip -d route show |
-f / -family |
指定地址族(inet/inet6) | ip -f inet route show |
-o / -oneline |
每条路由输出为单行 | ip -o route show |
-t / -timestamp |
显示时间戳(用于监控) | ip -t route show |

输出字段详解:
| 字段 | 含义 | 示例 |
|---|---|---|
default |
默认路由(等同于0.0.0.0/0) | default |
via |
下一跳网关IP | via 192.168.1.1 |
dev |
输出接口 | dev eth0 |
proto |
路由协议类型 | proto static, proto kernel, proto dhcp |
scope |
路由作用域 | scope global, scope link, scope host |
src |
首选源地址 | src 192.168.1.100 |
metric |
路由度量值 | metric 100 |
blackhole |
黑洞路由 | blackhole 10.0.0.0/8 |
常用子命令:
| 命令 | 说明 |
|---|---|
ip route show |
查看路由表 |
ip route add |
添加路由 |
ip route del |
删除路由 |
ip route replace |
替换路由(不存在则添加) |
ip route get |
模拟路由查询 |
ip route flush |
批量删除路由 |
ip route save/restore |
保存/恢复路由表 |
2.4.路由表

路由表的核心作用是:当一个数据包需要被转发时,查找路由表,决定应该从哪个接口(网卡)发出去,以及发往哪个"下一跳"路由器
2.4.1路由表的工作原理(最长前缀匹配)
- 提取数据包的目标IP地址(例如:192.168.1.100)
- 遍历路由表中的每一条记录
- 对于每条记录,将目标IP地址与记录的网络掩码进行"按位与"运算,得到一个结果
- 检查这个结果是否等于该记录的目的地/目标网络。如果相等,则说明这条记录匹配
- 从所有匹配的记录中,选择网络掩码最长(即最精确)的那一条。这就是最长前缀匹配规则
- 根据选中的记录,把数据包从接口发往网关/下一跳
2.4.2特殊且重要的路由条目
(1)默认路由(Default Route)
- 形式:目的地 0.0.0.0,掩码 0.0.0.0
- 作用:当数据包的目标地址不匹配路由表中任何其他更具体的条目时,就走这条路由。它相当于"所有其他地方的包裹,都发往这个总出口"。
- 网关:通常是你的"默认网关"(比如家里的路由器地址 192.168.1.1),它再负责帮你把数据转发到外网(互联网)
(2)本地直连路由
- 形式:当你给电脑的网卡配置一个IP(如 192.168.1.10/24)时,系统会自动生成两条直连路由
- 一条:到达该网段(192.168.1.0/24)的路由,网关是 * 或 0.0.0.0,接口是本地网卡。这意味着发往 192.168.1.x 的数据包,直接从本地网卡发出去,不需要找网关
- 另一条:到达本机IP(192.168.1.10)的主机路由,用于访问自己
(3)主机路由
- 形式:目的地是一个具体的IP地址,掩码是 255.255.255.255
- 作用:指定到某一个特定主机的精确路径。它比任何网段路由都优先
2.4.3路由表来源
- 直连路由:自动生成。给接口配置IP和掩码后,系统自动添加
- 静态路由:网络管理员手动添加。适合小型、稳定的网络
- 动态路由:通过路由协议(如OSPF、BGP、RIP)在路由器之间自动学习、交换而来的。适合大型、复杂、会变化的网络
3.运营商
3.1 我们是怎么上网的(接入流程)
- 物理接入:城镇联系工作人员网线入户,城市规定光纤入户,光纤传递光信号
- 信号转换:调制解调器(光猫)将光信号转换为数字信号
- 认证上网:上网可能需要WIFI账号密码,运营商验证PPPoE账号和密码
- 家庭组网:家用路由器构建局域网(LAN),可设置WIFI账号密码,对上网用户做认证
| 对比项 | PPPoE 账号密码 | WiFi 账号密码 |
| 作用位置 | 路由器 ↔ 运营商(BRAS) | 手机/电脑 ↔ 路由器 |
| 目的 | 认证用户身份,允许上网 | 加密无线连接,防止蹭网 |
| 谁设置 | 运营商提供(办理宽带时给用户) | 你自己在路由器后台设置 |
| 验证方 | 运营商的认证服务器 | 路由器本身 |
| 是否必须 | 必须(否则无法上网) | 可选(有线连接不需要) |
| 修改方式 | 路由器 WAN 口设置 | 路由器 WiFi 设置 |
| 典型形式 | 139****1234 + 短信密码 |
MyHome_5G + Abc123456 |
|---|
3.2运营商做了什么
运营商 = 物理基础设施的建设者 + 公网IP资源的管理者 + 报文跨网络传输的调度者
(1)物理层:把网络铺到你家里
- 拉光纤、建机房、设BRAS、部署骨干网
- 国家扶持:重资产、回报慢,私企不愿干
(2)资源层:管理公网IP和路由
- 向国际组织申请大段公网IP(如中国电信AS4134拥有约1.2亿个公网IP)
- 按国家→省→市→区县层级分配IP前缀(可理解为:前x位国家,再y位省市,再若干位市区县)
- 通过BGP协议(了解、不做展开)与其他运营商交换路由
(3)业务层:认证、计费、NAT
- 验证你的宽带账号密码
- 给用户分配一个动态公网IP(或运营商级私网IP)
- 在你访问外网时做必要的地址转换
| 层面 | 主要事项 | 类比概况 |
|---|---|---|
| 物理层 | 把网络铺到你家里 | "路"的建设者 |
| 资源层 | 管理公网IP和路由 | "门牌号"的分配者 |
| 业务层 | 认证、计费、NAT | "通行证"的管理者 |
运营商 = 修路的 + 发门牌号的 + 查票的
3.3报文跨网络传输的完整路径(用户→百度)
用户的私有IP经过家用路由器NAT变成运营商分配的公网IP,然后这个公网IP在运营商构建的骨干网中逐级路由(通过最长前缀匹配:先比较国家IP,再比较省市IP,最终到主机),最终到达目标服务器;返回时反向NAT回到你的私有IP
运营商负责这一切的物理网、路由表和认证计费
| 阶段 | 位置 | 源IP | 目标IP | 关键动作 |
|---|---|---|---|---|
| ① | 用户的电脑 | 192.168.1.2 | 110.242.68.66(百度) | 发请求 |
| ② | 家用路由器 | 做SNAT:源IP→123.123.123.123(WAN口公网IP) | 不变 | NAT转换 |
| ③ | 运营商接入网(BRAS) | 123.123.123.123 | 不变 | 认证、限速、计费 |
| ④ | 运营商城域网 | 同上 | 不变 | 查路由表,下一跳 |
| ⑤ | 运营商骨干网/国际出口 | 同上 | 不变 | 跨省/跨国转发 |
| ⑥ | 百度服务器 | 123.123.123.123 | 百度自己的IP | 收到请求,返回数据 |
| ⑦ | 原路返回(路径可能不同) | 百度IP | 123.123.123.123 | 反向转发 |
| ⑧ | 用户家路由器 | 做DNAT:目标IP→192.168.1.2 | 不变 | 反向NAT |
-
只有第一跳(家用路由器)和最后一跳(用户家路由器)处理私有IP
-
中间所有运营商路由器只看见公网IP
-
用户在云服务器上自定义的服务器程序想要被外网访问,必须使用云服务器的公网IP(其他主机根据云服务器公网IP+程序对应端口号访问服务)
-
XShell客户端通过云服务器公网IP发起ssh连接请求,服务器上的sshd进程响应连接,连接建立后,用户获得一个虚拟终端,可以像操作本地电脑一样执行命令、编辑文件、运行程序
-
云服务器是互联网厂商使用虚拟化技术提供的虚拟电脑
万台物理服务器(宿主机)
↓ 虚拟化软件(KVM)
创建大量虚拟机
↓ 自动化平台(OpenStack / 自研)
用户网页点击 → 自动分配资源
↓ 配置网络、公网IP、安全组
用户得到一个云服务器