IP路由基础
什么是路由
当路由器(或其他三层设备)收到一个IP数据包时,会查看数据包的IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优的路由后,将数据包扔给该路由所指出接口或者下一跳。
路由器的工作内容
| 工作内容 | 具体描述 |
|---|---|
| 建立并维护路由表(RIB) | - 自动添加直连路由:路由器直接连接的网络会自动加入路由表,标记为Direct。 - 配置静态路由:网络管理员手动添加的固定路由条目,适用于简单网络环境。 - 动态路由协议:运行RIP、OSPF、BGP等动态路由协议,与其他路由器交换路由信息,自动学习和更新非直连网络的路由。 |
| 根据路由表转发数据 | - 查找路由表:接收到数据包时,路由器检查目的IP地址,寻找匹配的路由条目。 - 选择最佳路径:依据路由条目中的下一跳地址或出接口,决定数据包转发方向。 - 转发数据包:将数据包从合适的接口转发出去,直至到达目标网络或下一跳路由器。 - 默认路由处理:当路由表中无明确匹配的条目时,使用默认路由将数据转发至默认网关。 |
注意:
直连网络出现在路由表中的前提,是该网络的接口物理及协议状态都UP,如下表所示:
| 接口状态 | 说明 |
|---|---|
| 物理状态(PHY) | 必须为UP,表明接口硬件连接正常 |
| 协议状态(Protocol) | 也必须为UP,表示接口的网络层协议(如IP)配置正确且可以通信 |
若接口UP,协议DOWN,则可能原因如下表所示:
| 接口UP,协议DOWN可能原因 | 具体描述 |
|---|---|
| 1. IP地址冲突 | - 该接口配置的IP地址与网络中其他设备冲突 - 子网掩码设置错误 |
| 2. 没有设置DCE时钟 | 在串行接口情况下,如果要求本端作为DCE设备提供时钟信号而未配置,则协议层无法激活 |
| 3. 封装类型问题 | 对于帧中继(FR)、点对点协议(PPP)等,未正确配置相应的封装类型 |
| 4. Hello和Dead间隔不匹配 | 使用某些动态路由协议时,如OSPF或EIGRP,接口上的Hello时间和Dead时间设置与邻居路由器不一致,导致邻接关系无法建立 |
查看路由表
1 | [Huawei]dis ip routing-table |

路由条目的来源
| 路由类型 | 定义 | 特点 |
|---|---|---|
| 直连路由 | 路由器物理接口直接连接的网络的路由 | - 自动添加到路由表 - 无需手动配置 - 链路状态影响路由存在 |
| 静态路由 | 网络管理员手动配置的路由条目 | - 由管理员固定指定下一跳或出接口 - 不随网络变化自动更新 - 适用于简单拓扑或特殊需求 |
| 动态路由 | 路由器通过运行路由协议(如RIP, OSPF, BGP)从其他路由器学习到的路由 | - 自动发现和维护路由 - 能适应网络拓扑变化 - 减少管理负担,但消耗更多资源 |
动态路由协议的分类

根据协议工作机制分类
| 协议类型 | 协议 |
|---|---|
| 距离矢量协议 | RIP, BGP |
| 链路状态协议 | OSPF, IS-IS |
根据协议使用场景分类
| 协议类型 | 协议 |
|---|---|
| 内部网关协议 | RIP, OSPF, IS-IS |
| 外部网关协议 | BGP |
静态路由与默认路由
静态路由
静态路由简介
静态路由:采用手工配置方式,为路由器创建静态路由表项
静态路由的特点
配置简单
手工配置,可控性高
节省网络带宽
如果网络大,那么工作量大。
如果网络故障,无法响应拓扑动态变化
静态路由配置命令
静态路由的配置(关联下一跳IP的方式)
1 | [Router] ip route-static 网络号 掩码 下一跳IP地址 |
静态路由的配置(关联出接口的方式)
1 | [Router] ip route-static 网络号 掩码 出接口 |
静态路由的配置(关联出接口和下一跳IP的方式)
1 | [Router] ip route-static 网络号 掩码 出接口 下一跳IP地址 |
配置示例
1 | [R1] ip route-static 192.168.100.0 255.255.255.0 192.168.12.2 |
静态路由配置实验

注意︰
- 通信是双向的,因此要留意往返流量(的路由)
- 路由行为是逐跳的,因此需要保证沿途每一台路由器都有路由
默认路由
默认路由简介
默认路由:对于具有相同下一跳的不同目的网络的路由条目,我们可以用一条默认路由条目来替代。
默认路由条目中表项目如下表所示
| 表项 | 字段值 |
|---|---|
| 目的网络地址(Destination) | 0.0.0.0 |
| 掩码(Mask) | 0.0.0.0(即32个0) |
| 目的网络地址/掩码(Destination/Mask) | 0.0.0.0/0 |
| 下一跳(NextHop) | 默认路由出口地址 |
| 接口(Interface) | 默认路由出接口 |
默认路由小结
| 特点 | 描述 |
|---|---|
| 定义 | 特殊的静态路由,作为数据包无法匹配其他路由规则时的默认转发路径。 |
| 作用 | 网络出口的必经之路,简化复杂网络中的路由配置与管理。 |
| 优势 | - 简化管理:减少路由条目数量,易于维护。 - 资源优化:降低对路由器CPU和内存资源的需求。 |
| 应用场景 | - 网络出口设备:路由器、防火墙、核心交换机等,作为数据出口策略。 - 故障恢复:某些情况下作为备份路径,提供网络连通性保障。 |
| 配置考虑 | - 选择合适下一跳:确保数据包能正确转发至外部网络。 - 安全考量:在出口设备上配置,默认路由需谨慎,以防数据泄露风险。 |
此表格总结了默认路由的主要特点、作用、优势、应用场景,以及配置时的考虑因素,全面概括了默认路由的小结内容。
Loopback环回接口
Loopback接口简介
定义:Loopback接口,又称环回口,是一个逻辑的、虚拟的网络接口,不由物理硬件直接支持,而是通过软件配置实现。
Loopback接口配置
创建与配置:通过在设备的命令行界面执行全局命令interface loopback <接口编号>来创建,之后可为该接口分配IP地址,配置完成后,Loopback接口保持恒定的UP状态,除非手动关闭。
稳定性:因其不依赖物理链路,Loopback接口极其稳定,即便网络遇到物理故障,该接口依然保持活跃,这使得它成为理想的管理接口选择。
Loopback接口主要用途
| 用途 | 说明 |
|---|---|
| 测试与调试 | 作为模拟直连网络的工具,便于进行网络软件和服务的测试,无需依赖物理连接。 |
| 设备管理 | 作为设备的管理地址,由于其高可用性,常被用作远程登录(如SSH、Telnet)的源地址,便于网络管理员进行远程管理和监控。 |
| 路由协议标识 | 在诸如OSPF、BGP等动态路由协议中,Loopback接口的IP地址经常被用作Router ID,确保即使物理接口故障,Router ID仍然有效,维持路由协议的连续性和稳定性。 |
| SNMP及其他协议源 | 作为SNMP Traps和其他网络监控协议的消息来源地址,确保监控系统的可靠通信。 |
| 节省地址空间 | 由于可以配置/32的掩码,Loopback接口能有效利用IP地址空间,每个设备仅需一个独立的IP地址。 |
| 多用途角色 | 因其灵活性和稳定性,Loopback接口还广泛应用于网络地址转换(NAT)、ACL规则配置、VRF(虚拟路由转发实例)绑定等多种高级网络配置中。 |
路由查看及排错常用命令
| 命令 | 功能描述 |
|---|---|
Ping |
测试网络连接的连通性,验证与目标主机的可达性,常用以检查网络层及以下层级的问题。 |
Tracert |
跟踪数据包从源到目的地经过的路由节点(每一跳),帮助识别数据传输中的网络延迟或丢包位置。 |
Display ip routing table |
查看设备当前的IP路由表,包含所有活动路由条目,用以验证路由配置是否生效或排查路由丢失问题。 |
Display ip interface brief |
显示所有接口的简要信息,包括接口状态(Up/Down)、IP地址、子网掩码等,快速检查接口配置与状态。 |
此表格总结了路由查看及排错中常用的四个命令及其功能描述,便于网络管理员快速参考与应用。
本地路由表研究
在链路上
Windows路由表的“在链路上”
在Windows操作系统中,路由表是操作系统用来决定数据包如何通过网络发送到目的地的一个关键组件。路由表中的每一项通常包含以下信息:
- 目的网络:数据包需要到达的网络地址。
- 子网掩码:用于确定目的网络的地址范围。
- 网关(下一跳地址):数据包在发送到目的网络之前需要经过的下一个设备(通常是路由器)的IP地址。
- 接口指标:发送数据包的网络接口的指标,如跃点数(hop count)或成本。
- 在链路上:这个术语指的是数据包的目的地在本地网络(局域网)上,不需要通过网关转发。
当Windows路由表中的某个条目标记为“在链路上”时,它意味着:
- 数据包的目的地是与本地计算机直接连接的同一网络上的设备。
- 因此,数据包不需要经过任何路由器或网关,而是直接发送到目的地。
- 这通常适用于本地网络内的通信,例如,当一台计算机尝试连接到同一局域网内的另一台计算机或网络打印机时。
例如,如果Windows路由表中有这样一条目:
1
2 目的网络 子网掩码 网关 接口指标 跃点数
192.168.1.1 255.255.255.0 192.168.1.1 (本地接口) 在链路上这表示:
- 目的IP地址是
192.168.1.1,这是本地网络中的一个地址。- 子网掩码
255.255.255.0表明这是针对单个主机的路由,而不是一个网络。- 网关地址与目的网络相同,这表明数据包将直接发送到该地址,而不是通过另一个路由器。
- “在链路上”表明目的地址是本地网络的一部分,数据包将直接在本地网络上发送。
这种路由表条目对于局域网内的通信非常重要,因为它允许设备之间直接通信,而不需要通过外部路由器,这可以提高效率并减少网络延迟。
224.0.0.0多播地址
224.0.0.0多播地址介绍
在Windows路由表中,当你看到一个目的地址为
224.0.0.0和掩码为240.0.0.0的条目时,这表示一个特定的多播地址范围。让我们来详细解释一下:
多播地址范围:IPv4的多播地址范围从
224.0.0.0到239.255.255.255。这些地址不用于传统的单播通信,而是用于多播通信,即数据包被发送到多个预定的接收者。目的地址
224.0.0.0:这是多播地址范围的起始地址。子网掩码
240.0.0.0:在CIDR表示法中,这个掩码等同于/4,意味着前4位(即前一个字节224)被用来标识多播网络。由于224是二进制1111000,所以这个掩码表示224.0.0.0到224.0.255.255这个范围内的所有地址都属于同一个多播网络。多播路由条目:在路由表中,这个条目可能指示操作系统如何处理发往该多播网络的数据包。如果该条目指向一个特定的网络接口,那么发往这个多播网络的数据包将通过这个接口发送。
多播通信:多播用于各种网络服务,如网络会议、IPTV、某些类型的网络发现协议等,它允许有效的带宽使用,因为相同的数据包只需发送一次,就可以被多个感兴趣的接收者接收。
路由表中的意义:在路由表中,这个多播路由条目可能表明操作系统已经配置了支持多播的网络接口,或者它可能与多播路由协议(如IGMP或PIM)有关,这些协议负责管理多播流量的分发。
总的来说,路由表中的
224.0.0.0目的地址和240.0.0.0掩码表示操作系统已经识别了这个特定的多播网络,并配置了相应的路由规则来处理发往这个网络的数据包。
本地路由表研究
查本地IP地址
1 | D:\Program Files\cmder |
可见0、37、56、174都分配给了本地物理或虚拟网卡
查路由表
1 | D:\Program Files\cmder |
路由汇总(路由聚合)
路由汇总(路由聚合)简介
到达每一个远端网络都要配置一条明细路由,最终导致路由条目过多,路由表庞大,增加路由器负担。
路由汇总方法:找这两个或多个网络地址的共同前缀,然后将共同前缀保持不变,将剩余比特全部取0,写成点分十进制形式,在其后面写上斜线,斜线后面写上共同前缀的数量。
不仅仅静态路由能够部署路由汇总,动态路由协议也都支持路由汇总功能。
路由汇总的计算

路由汇总带来的问题
| 问题 | 描述 |
|---|---|
| 路由环路风险 | 汇总路由太“粗犷”,不精确的路由汇总可能导致包含了实际上不存在的子网,引起数据包在路由器间循环转发,直至TTL耗尽丢弃,影响网络通信。 |
| 黑洞路由问题 | 若汇总路由未正确指向包含所有具体子网的路径,部分流量可能被错误引导至无法到达目标网络的路由器,形成“黑洞”,导致数据丢失。 |
| 子网丢失问题 | 过度的路由汇总可能掩盖了具体子网路由,使得某些特定子网对外不可见,影响对该子网的正常访问。 |
| 管理复杂度增加 | 需要精心规划和维护路由汇总规则,避免因汇总不当引入的网络问题,增加了网络配置与故障排查的复杂度。 |
| 影响路径选择 | 路由汇总可能改变数据流的最优路径选择,导致网络流量分布不均,影响网络性能与效率。 |
IP路由的最长匹配原则
路由常见故障分析
路由常见故障及其解决方案可以总结如下:
| 故障现象 | 故障分析 | 解决方案 |
|---|---|---|
| PC间无法互相通信 | - 网络配置错误 - 路由不正确或缺失 - 设备接口故障 |
- 检查并修正网络配置 - 添加或修正路由条目 - 维修或更换故障接口 |
| 路由器间ping不通 | - 链路问题 - 路由条目配置错误 - 安全策略阻止 |
- 检查物理连接 - 核对路由配置 - 调整安全策略 |
| 浮动静态路由负载不均衡 | - 配置的静态路由优先级与cost相同,导致负载均衡不稳定 | - 调整静态路由的优先级或cost,确保有主备关系 |
| 路由汇总引发的问题 | - 聚合了不存在的网络,导致数据包环路 - 汇总路由指向不正确,形成黑洞 |
- 实施精确汇总,避免包含无效网络 - 配置黑洞路由,吞噬无效流量 |
| 网络速度慢、延时高 | - 路由环路导致数据包重复转发 - 黑洞路由造成数据丢失 |
- 检查并修正路由配置,避免环路 - 添加正确的黑洞路由规则 |
| 部分应用无法使用 | - 路由器上的应用限制或防火墙策略过于严格 | - 调整路由器上的互联网行为管理设置,取消不必要的应用限制 |
| 无法获取IP地址 | - DHCP服务器故障或配置错误 - IP地址池耗尽 |
- 检查并修复DHCP服务器 - 扩展IP地址池 |
| 硬件故障 | - 设备供电异常 - 端口物理损坏 |
- 检查电源供应与线路连接 - 更换故障硬件部件 |
| 软件故障 | - 系统软件损坏 - 配置错误或冲突 |
- 重置或升级路由器软件 - 仔细检查并修正配置 |
以上故障分析及解决方案涵盖了从物理层到应用层的多种可能问题,具体解决时应结合实际情况,逐步排查并采取相应措施。