目录

1.路由器

(4)路由器的核心功能

(6)一句话总结

2.route指令及ip route指令简介

2.2.Flags(标志位)详解

2.3.ip route

2.4.路由表

2.4.1路由表的工作原理(最长前缀匹配)

3.运营商

3.3报文跨网络传输的完整路径(用户→百度)


1.路由器

(1)定义

路由器 主要是一种网络层设备,负责连接两个或多个不同子网,根据路由表和目的IP地址,将数据包从源子网转发到目标子网

(2)路由器工作的层级(OSI模型)

OSI层级设备处理单位依据
网络层(第三层)路由器IP报文IP地址、路由表
数据链路层(第二层)交换机帧MAC地址
物理层(第一层)集线器比特无

路由器是典型的三层设备:

  • 转发决策(去哪个子网):看第三层(IP)
  • 帧封装与物理发送:依赖第二层和第一层

路由器在转发IP报文时,会丢弃原数据帧的二层头部(源/目的MAC),然后在出接口上根据下一跳IP的ARP结果重新封装一个新的二层帧
广播帧不会跨路由器转发, 路由器会隔离广播域

(3)从硬件架构上看,路由器和通用计算机没有本质区别

组件通用计算机路由器
CPUIntel/AMD 处理器MIPS、ARM、x86 处理器
内存DRAMDRAM(存储路由表、缓存包)
存储硬盘/SSDFlash(存储操作系统和配置)
网络接口网卡(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全称含义
UUp路由处于活动状态(可用)
GGateway使用网关(非直连网络)。没有G表示目标网络直连
HHost目标是一个主机(而不是网络)
RReinstate动态路由恢复标志(通常不用)
DDynamic由路由守护进程动态添加
MModified由路由守护进程修改
AAddress由地址配置添加
CCache路由缓存条目
!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等同于 showip route list
-n / -numeric不解析主机名,直接显示IPip -n route show
-c / -color彩色输出,不同类型路由用不同颜色ip -c route show
-j / -jsonJSON格式输出(便于脚本处理)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下一跳网关IPvia 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路由表的工作原理(最长前缀匹配)

  1. 提取数据包的目标IP地址(例如:192.168.1.100)
  2. 遍历路由表中的每一条记录
  3. 对于每条记录,将目标IP地址与记录的网络掩码进行“按位与”运算,得到一个结果
  4. 检查这个结果是否等于该记录的目的地/目标网络。如果相等,则说明这条记录匹配
  5. 从所有匹配的记录中,选择网络掩码最长(即最精确)的那一条。这就是最长前缀匹配规则
  6. 根据选中的记录,把数据包从接口发往网关/下一跳

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路由表来源

  1. 直连路由:自动生成。给接口配置IP和掩码后,系统自动添加
  2. 静态路由:网络管理员手动添加。适合小型、稳定的网络
  3. 动态路由:通过路由协议(如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.2110.242.68.66(百度)发请求
②家用路由器做SNAT:源IP→123.123.123.123(WAN口公网IP)不变NAT转换
③运营商接入网(BRAS)123.123.123.123不变认证、限速、计费
④运营商城域网同上不变查路由表,下一跳
⑤运营商骨干网/国际出口同上不变跨省/跨国转发
⑥百度服务器123.123.123.123百度自己的IP收到请求,返回数据
⑦原路返回(路径可能不同)百度IP123.123.123.123反向转发
⑧用户家路由器做DNAT:目标IP→192.168.1.2不变反向NAT
  • 只有第一跳(家用路由器)和最后一跳(用户家路由器)处理私有IP
  • 中间所有运营商路由器只看见公网IP
  • 用户在云服务器上自定义的服务器程序想要被外网访问,必须使用云服务器的公网IP(其他主机根据云服务器公网IP+程序对应端口号访问服务)
  • XShell客户端通过云服务器公网IP发起ssh连接请求,服务器上的sshd进程响应连接,连接建立后,用户获得一个虚拟终端,可以像操作本地电脑一样执行命令、编辑文件、运行程序
  • 云服务器是互联网厂商使用虚拟化技术提供的虚拟电脑
万台物理服务器(宿主机)
    ↓ 虚拟化软件(KVM)
创建大量虚拟机
    ↓ 自动化平台(OpenStack / 自研)
用户网页点击 → 自动分配资源
    ↓ 配置网络、公网IP、安全组
用户得到一个云服务器

更多推荐