实验十八:验证路由信息协议RIPv1

一、 实验目的与先导理论

1.1 实验目的

掌握路由信息协议RIPv1的特点和配置方法。

验证RIPv1是基于距离向量的,它认为好的路由是"RIP距离最短"的路由。

验证RIPv1的等价负载均衡。

1.2 核心理论铺垫:RIP 与 RIPv1 工作机制解析

在进行设备配置与命令行交互之前,有必要深究 RIP 协议的工作机制与核心特性。理论支撑是理解网络拓扑部署与路由选路逻辑的基础前提。
本实验的网络拓扑

1.2.1 距离矢量算法与跳数度量(Hop Count Metric)

理论基础: RIP(Routing Information Protocol)基于传统的距离矢量(Distance Vector)算法,它采用单一的度量值------跳数(Hop Count)来进行路由计算。

  • 跳数定义: 数据包从源节点到达目的节点所必须跨越的三层设备(路由器)数量。每经过一个路由器,跳数递增 1。

  • 选路原则: 在存在多条等价或非等价路径的网络环境中,RIP 的选路策略具有严格的单一性:始终优先选择跳数最少的路径,而完全忽略链路的物理带宽、传输延迟及网络负载等实际链路状态。

  • 防环机制与收敛极限: 为防止网络拓扑中出现路由环路,RIP 协议强制规定网络的最大跳数为 15 跳。若某一网段的距离跳数达到 16 跳,协议即判定该目标网络为"不可达(Unreachable)"。

【拓扑实例分析】 以本实验的网络拓扑为例,当终端 PC0 (192.168.0.1) 拟向远端终端 PC1 (192.168.1.1) 发送数据包时,数据流首先到达网关设备路由器 0。此时,Router0 的路由表计算面临两条潜在的转发路径:

  • 路径 A(直连互通): 数据包经由串行接口 Se0/0/0(网络 5:30.0.0.0)直接转发至对端路由器 1。此路径的度量值为 1 跳

  • 路径 B(中转绕行): 数据包经由千兆以太网接口 Gig0/1(网络 2:10.0.0.0)先转发至路由器 2,再由路由器 2 寻址转发至路由器 1。此路径的度量值为 2 跳

根据 RIP 的最短跳数原则,路由器 0 会无条件地将前往 192.168.1.0/24 网段的最优下一跳指向路径 A。在此决策过程中,RIP 协议无法感知并会忽略路径 A 采用的是较低带宽的串行链路(Serial),而路径 B 拥有较高带宽的千兆链路(GigabitEthernet)这一客观事实。这正是 RIP 协议距离矢量特征的典型体现。

1.2.2 RIPv1 的协议特性:有类路由与广播更新

RIP 协议分为 v1 和 v2 两个版本。作为早期的动态路由协议,RIPv1 具有明显的时代局限性,这也是本实验重点剖析与验证的核心对象。其以下两项机制直接决定了本次实验拓扑的 IP 地址规划方案:

  • 有类路由发现(Classful Routing): 这是 RIPv1 最显著的协议约束。在进行路由更新与宣告时,RIPv1 的数据报文中不携带子网掩码信息。路由器仅能依据标准的主类网络边界------即 A 类(/8)、B 类(/16)、C 类(/24)来划分与识别网段。因此,在基于 RIPv1 的网络部署中,无法应用无类别域间路由(CIDR)及变长子网掩码(VLSM)技术,否则会导致路由表条目紊乱或寻址失败。

  • 周期性广播更新(Periodic Broadcast Updates): RIPv1 默认采用 255.255.255.255 作为目标地址。每隔 30 秒,协议进程会将路由器本地的完整路由表进行封装,并向局域网内的所有直连邻居节点进行全网广播更新,以此来维持和同步全网的路由拓扑状态。

【拓扑 IP 规划的规范性映射】 为严格适配 RIPv1 的"有类路由"特性,本实验在网络 IP 编址方案上执行了标准化的主类地址规划:

  • 标准 A 类网络(掩码默认为 255.0.0.0): 核心互联链路,包括网络 2 (10.0.0.0)、网络 3 (20.0.0.0) 以及网络 5 (30.0.0.0),均分配了标准的 A 类网络地址。

  • 标准 C 类网络(掩码默认为 255.255.255.0): 边缘终端接入链路,即连接终端 PC 的网络 1 (192.168.0.0) 和网络 4 (192.168.1.0),均分配了标准的 C 类网络地址。

在随后的配置实操中,当在Router0 激活 RIP 进程并声明直连网络(如执行指令 network 10.0.0.0network 192.168.0.0)时,协议将依据 IP 首字节自动推断其网络类别。随后,全网路由器将通过各接口周期性地广播这些标准的有类网段,直至网络达到完全收敛状态,最终确立 PC0 与 PC1 之间的端到端通信。

1.3 路由表识读:核心参数解析与"黄金翻译法则"

在后续的实验排错与网络连通性验证中,我们会频繁地调用 show ip route 命令。路由表是三层设备进行数据转发的唯一决策依据。面对系统输出的复杂路由代码,我们无需机械记忆,可以通过建立结构化的"逻辑映射"(即"黄金翻译法则")来快速识读:

【路由条目黄金翻译法则】 "我要前往【目标网段】,系统将把数据包从本机的【出接口】转发出去,并交由 IP 地址为【via 下一跳 IP】的相邻设备进行后续路由处理。"

接下来,我们将此法则直接映射到本实验生成的真实 RIP 路由记录中进行深度破译:

本实验案例解析一:单路径直达(图中第二个红框)

观察截图中对 192.168.1.0/24 网段的路由记录:

R 192.168.1.0/24 [120/1] via 30.0.0.2, 00:00:23, Serial0/0/0

应用法则翻译: "我要前往 192.168.1.0/24 网段,系统将把数据包从本机的 Serial0/0/0 接口转发出去,并交由 IP 为 30.0.0.2 的相邻设备处理。"

  • 路由来源标记(R): 首字母 R 明确标识该路由条目是通过 RIP 动态路由协议学习生成的。

  • 优先级与度量值([120/1]): 括号内的参数是路由选路的核心。前置数值 120 代表 RIP 协议的管理距离(Administrative Distance, AD) ,用于衡量该路由信息源的可信度(RIP 协议的系统默认值即为 120);后置数值 1 则代表到达目的网段的度量值(Metric),在 RIP 协议中特指跳数(Hop Count),表明抵达目标网段仅需跨越 1 个路由器。

  • 老化时间戳(00:00:23): 意味着该设备在 23 秒前刚刚接收到邻居节点发送的 RIP 路由更新报文。该参数动态印证了 RIP 协议每 30 秒执行一次周期性广播更新的运行机制。

本实验案例解析二:RIP 的等价负载均衡(图中第一个红框)

这是一个非常经典的网络选路现象。观察截图中针对 20.0.0.0/8 网段的记录,可以发现其存在两条并列的 via 下一跳路径:

R 20.0.0.0/8 [120/1] via 30.0.0.2, 00:00:23, Serial0/0/0

[120/1] via 10.0.0.2, 00:00:01, GigabitEthernet0/1

应用法则翻译: "我要前往 20.0.0.0/8 网段,当前存在两条度量值完全相等的路径。系统既可以经由 Serial0/0/0 接口转发至 30.0.0.2 ,也可经由 GigabitEthernet0/1 接口转发至 10.0.0.2。因此,系统将在这两条路径上分摊并发流转数据。"

底层原理剖析: 结合 1.2 节中阐述的"距离矢量与跳数度量"理论,去往 20.0.0.0/8 网段,无论是经由上方的串行链路(Serial),还是下方的千兆以太网链路(GigabitEthernet),其协议计算得出的度量值均为 1 跳(即 [120/1])。 由于两者的跳数严格一致,RIP 协议即判定这两条路径具备同等转发优先级,进而将它们同时写入路由表。这种在多条等价路径间均匀分配数据流量的机制,即为网络工程中典型的等价负载均衡(Equal-Cost Multi-Path routing, ECMP)。此现象也再次有力证实了 RIP 协议在选路时仅评估跳数,而完全屏蔽底层链路实际带宽差异的协议特征(只认跳数,不看带宽)。

二、 实验步骤与拓扑搭建

本部分将在 Cisco Packet Tracer 模拟器中从零开始构建实验拓扑,并完成基础的网络规划与标识工作。

2.1 物理拓扑构建与模块扩展

由于实验设计要求路由器之间通过模拟广域网(WAN)的串行链路互联,我们需要对默认不包含串行接口的 2911 路由器进行硬件扩展。

(1)部署网络设备: 在逻辑工作区拖入三台 Cisco 2911 路由器(分别对应 Router0、Router1、Router2)与两台 PC 终端(PC0、PC1)。

(2)安装 HWIC-2T 串行模块: 单击 Router0 进入 Physical(物理)设备视图。必须先点击路由器面板上的电源开关,关闭设备电源(绿灯熄灭)。(注:若未关闭电源直接拖拽模块,模拟器会弹出"Cannot add a module when the power is on"的错误警告)。在左侧 Modules(模块)列表中选中 HWIC-2T(双端口高速串行 WAN 接口卡),将其拖拽至路由器的空闲扩展槽中。重新开启电源。在 Router1 上重复上述关机、插卡、开机的操作。(注:Router2 在本实验中仅作为以太网中转,无需安装串行模块。)

2.2 链路连接与接口标识可视

物理设备部署完毕后,需要使用正确的传输介质将各节点连接起来,并使接口名称可视化,这是保障后续命令行配置准确无误的重要前提。

(1)建立物理连接:

核心串行链路(Router0 - Router1): 选择 Serial DCE(带有带钟图标的红色折线)工具,连接 Router0 的 Serial0/0/0 接口与 Router1 的 Serial0/0/0 接口。(注:使用此连线工具时,您鼠标最先点击的那台路由器将默认成为 DCE 端,自动提供模拟广域网所需的时钟频率。

以太网链路(其他连接): 拓扑中路由器与路由器之间(如 Router0 到 Router2)、路由器与终端之间(如 Router0 到 PC0)的千兆以太网连接,推荐直接使用 Automatically Choose Connection Type(自动选择连接类型,即闪电图标工具)完成连线。

(2)开启接口名称标识:

依次点击模拟器顶部菜单栏的 Options -> Preferences (快捷键 Ctrl+R)。在弹出的选项卡中,勾选 Always Show Port Labels in Logical Workspace (始终在逻辑工作区显示端口标签)。此时,拓扑图中所有的接口编号(如 Gig0/0, Se0/0/0)将直接显示在线缆两端。

2.3 全局 IP 地址规划与信息标注

我们利用Packet Tracer的便签工具对整网进行参数预标注。

(1)IP 规划的理论约束映射: 正如 1.2 节理论所述,受限于 RIPv1 的有类路由 特性,本实验严禁使用 CIDR 和变长子网掩码(VLSM)。拓扑中所有的 IP 地址及其掩码必须严格遵循标准的主类网络划分:网络 1 和 4 采用标准的 C 类 地址(掩码 255.255.255.0),网络 2、3、5 采用标准的 A 类 地址(掩码 255.0.0.0)。

(2)终端网关规划: 为了使 PC 终端能够跨网段与远端通信,必须为其指定默认网关(Default Gateway)。网关地址通常为其直连路由器的内网接口 IP:PC0 的默认网关指向 Router0 的 Gig0/0 接口 IP,即 192.168.0.254PC1 的默认网关指向 Router1 的 Gig0/1 接口 IP,即 192.168.1.254

(3)完成拓扑标注: 使用工作区右侧的 Place Note (添加便签,快捷键 N)工具,参照最终的拓扑图,将每台 PC 和每个路由器接口的 IP 地址、子网掩码及默认网关详尽地标注在设备旁,作为下一步命令行配置的标准依据。

三、 设备基础配置与链路激活

本阶段的核心任务是为网络中的所有节点(终端与路由器接口)分配正确的 IP 地址,并激活物理接口(no shutdown),最终实现全网链路的物理层与数据链路层连通(指示灯全绿)。

3.1 终端 PC 基础网络参数配置

在 Packet Tracer 中,单击 PC 设备,进入 Desktop(桌面)标签页,选择 IP Configuration(IP 配置)模块,按照下表为两台测试终端配置静态 IP 地址及网关信息。

设备名称 接入网络 IP 地址 (IPv4) 子网掩码 (Subnet Mask) 默认网关 (Default Gateway) 作用说明
PC0 网络 1 192.168.0.1 255.255.255.0 (标准 C 类) 192.168.0.254 左侧局域网测试终端
PC1 网络 4 192.168.1.1 255.255.255.0 (标准 C 类) 192.168.1.254 右侧远端网络测试终端
[表 3-1:终端 PC IP 参数配置表]

配置提示: 务必确保默认网关的地址与其直连的路由器内网接口 IP 保持绝对一致,否则后续即使路由协议配置正确,终端也无法跨网段发送数据包。

3.2 路由器接口寻址与时钟配置

设备名称 接口名称 (Interface) 接口类型 接入网络 IP 地址 子网掩码 特殊配置项 (仅 DCE 侧)
Router0 GigabitEthernet0/0 局域网接入 网络 1 192.168.0.254 255.255.255.0
Router0 GigabitEthernet0/1 核心互联 网络 2 10.0.0.1 255.0.0.0
Router0 Serial0/0/0 广域网互联 网络 5 30.0.0.1 255.0.0.0 无 (DTE 端)
Router1 GigabitEthernet0/0 核心互联 网络 3 20.0.0.1 255.0.0.0
Router1 GigabitEthernet0/1 局域网接入 网络 4 192.168.1.254 255.255.255.0
Router1 Serial0/0/0 广域网互联 网络 5 30.0.0.2 255.0.0.0 clock rate 64000
Router2 GigabitEthernet0/0 核心互联 网络 2 10.0.0.2 255.0.0.0
Router2 GigabitEthernet0/1 核心互联 网络 3 20.0.0.2 255.0.0.0
[表 3-2:全局路由器接口配置总表]

【CLI 配置实操代码】 请双击各路由器,进入 CLI 选项卡,依次输入以下命令。(注:// 及其后内容为专业注释,无需输入)

1. 配置 Router0:

复制代码
Router>enable                                   // 从用户模式 (User EXEC mode) 切换至特权模式 (Privileged EXEC mode),获取查看设备运行状态的权限
Router#configure terminal                       // 进入全局配置模式 (Global Configuration mode),允许修改影响设备整体或接口运行逻辑的参数

Router(config)#interface GigabitEthernet0/0     // 进入千兆以太网接口 Gig0/0 的局部配置视图
Router(config-if)#ip address 192.168.0.254 255.255.255.0 // 定义该接口的逻辑地址为192.168.0.254,子网掩码为255.255.255.0 (/24),由此界定网络1的本地广播域范围,并作为下联终端的默认网关
Router(config-if)#no shutdown                   // 移除接口的管理性关闭状态 (Administratively down),激活物理层与数据链路层,使其转为 Up 状态

Router(config)#interface GigabitEthernet0/1     // 切换至连接 Router2 的千兆以太网接口 Gig0/1 配置视图
Router(config-if)#ip address 10.0.0.1 255.0.0.0 // 为该路由接口分配网络2的互联IP地址 10.0.0.1,并应用标准的 A 类子网掩码 (/8)
Router(config-if)#no shutdown                   // 激活该以太网接口,准备处理 ARP 请求与 IP 数据包的转发

Router(config)#interface Serial0/0/0            // 切换至串行接口 (Serial) 配置视图,准备配置广域网 (WAN) 点到点链路
Router(config-if)#ip address 30.0.0.1 255.0.0.0 // 为串行链路分配网络5的 IP 地址 30.0.0.1 及 A 类子网掩码 (/8)
Router(config-if)#no shutdown                   // 激活接口。作为 DTE (数据终端设备) 端,此接口将等待接收对端发送的时钟频率信号以完成同步

2. 配置 Router1(注意时钟配置):

复制代码
Router>enable                                   // 从用户模式进入特权模式
Router#configure terminal                       // 进入全局配置模式

Router(config)#interface GigabitEthernet0/0     // 进入连接 Router2 的千兆以太网接口 Gig0/0 配置视图
Router(config-if)#ip address 20.0.0.1 255.0.0.0 // 为该路由接口分配网络3的互联IP地址 20.0.0.1,并应用 A 类子网掩码 (/8)
Router(config-if)#no shutdown                   // 激活该以太网接口

Router(config)#interface GigabitEthernet0/1     // 切换至千兆以太网接口 Gig0/1 配置视图
Router(config-if)#ip address 192.168.1.254 255.255.255.0 // 定义接口逻辑地址为192.168.1.254,子网掩码为255.255.255.0 (/24),界定网络4的广播域,作为终端网关
Router(config-if)#no shutdown                   // 激活物理接口

Router(config)#interface Serial0/0/0            // 切换至广域网串行接口配置视图
Router(config-if)#ip address 30.0.0.2 255.0.0.0 // 为串行链路分配网络5的对端互联 IP 地址 30.0.0.2 及 A 类子网掩码 (/8)
Router(config-if)#clock rate 64000              // 【关键配置】定义时钟速率为 64000 bit/s。当前接口作为 DCE (数据通信设备) 端,必须主动提供时钟信号以维持串行线路物理层的比特流同步
Router(config-if)#no shutdown                   // 激活接口,完成双向时钟协商与数据链路层协议 (如 HDLC/PPP) 的建立

3. 配置 Router2(中转设备):

复制代码
Router>enable                                   // 从用户模式进入特权模式
Router#configure terminal                       // 进入全局配置模式

Router(config)#interface GigabitEthernet0/0     // 进入连接 Router0 的千兆以太网接口 Gig0/0 配置视图
Router(config-if)#ip address 10.0.0.2 255.0.0.0 // 配置网络2的对端互联 IP 地址 10.0.0.2 及标准的 A 类子网掩码 (/8)
Router(config-if)#no shutdown                   // 激活接口,建立与 Router0 的直连路由

Router(config)#interface GigabitEthernet0/1     // 切换至连接 Router1 的千兆以太网接口 Gig0/1 配置视图
Router(config-if)#ip address 20.0.0.2 255.0.0.0 // 配置网络3的对端互联 IP 地址 20.0.0.2 及标准的 A 类子网掩码 (/8)
Router(config-if)#no shutdown                   // 激活接口,建立与 Router1 的直连路由

3.3 链路状态验证(物理层连通)

在完成上述所有 no shutdown 命令后,观察 Packet Tracer 的逻辑工作区视图。

拓扑图中所有连接线缆两端的红色三角指示灯将全部转变为向上指的绿色三角(Green Arrows) 。 这标志着所有链路的物理层(Layer 1)和数据链路层(Layer 2)已经成功建立(即处于 Up / Up 状态)。此时,相邻设备之间已经可以通过直连路由互相通信。但这仅仅是第一步,网络依然是"碎片化"的,接下来必须引入 RIP 协议来实现全网互通。

四、 启用路由信息协议 RIPv1

在完成上述物理接口的 IP 地址配置并激活后,路由器会凭借自身的底层机制,自动将直连网络(Directly Connected Networks)加入到本地的路由表中。然而,面对拓扑中未直接相连的非直连网络(Remote Networks),路由器会由于"视线受阻"而无法知晓数据包的转发路径。

在实际网络工程中,解决非直连网络通信的方法有两种:一是手工逐条添加静态路由(Static Route) ;二是通过运行动态路由协议 。考虑到本实验拓扑包含五个网段,若采用静态路由将十分繁琐。因此,我们选择全局启用 RIP(路由信息协议),让相邻路由器之间周期性地自动交换 RIP 更新报文,使得全网设备最终都能动态学习到所有非直连网段的路径。

4.1 全网直连与非直连网络需求梳理

在敲击 RIP 宣告命令之前,我们必须清晰地掌握每台路由器"当前已知什么(直连)"以及"需要学习什么(非直连)"。下表详细汇总了本实验拓扑中三台设备的网络认知状态:

路由器设备 本地接口 自身已知的直连网络地址 (Directly Connected) 需通过 RIP 协议学习的非直连网络
Router0 Gig0/0 Gig0/1 Se0/0/0 192.168.0.0 10.0.0.0 30.0.0.0 20.0.0.0 192.168.1.0
Router1 Gig0/0 Gig0/1 Se0/0/0 20.0.0.0 192.168.1.0 30.0.0.0 10.0.0.0 192.168.0.0
Router2 Gig0/0 Gig0/1 10.0.0.0 20.0.0.0 30.0.0.0 192.168.0.0 192.168.1.0
[表 4-1:全网路由器直连与非直连网络汇总表]

【RIP 宣告的黄金法则】 在启用 RIP 协议时,我们只需告诉路由器它自己的"直连网络"有哪些 (即使用 network 命令宣告)。路由器一旦接到指令,就会在属于这些网络的接口上激活 RIP 进程,并主动把这些网络信息广播给其他邻居。 特别注意: 呼应 1.2 节的理论,RIPv1 是有类路由协议 ,因此在宣告时只需输入标准的主类网络号 (如 A 类的 10.0.0.0 或 C 类的 192.168.0.0),严禁携带子网掩码或输入具体的接口 IP 地址

4.2 路由器 RIPv1 进程配置实操

进入各路由器的 CLI 命令行界面,执行以下指令以激活并配置 RIP 协议。

1. 启用 Router0 的 RIP 路由进程:

复制代码
Router>enable                                  // 从用户模式进入特权模式
Router#configure terminal                      // 进入全局配置模式

Router(config)#router rip                      // 启动 RIP 路由进程,进入路由配置模式
Router(config-router)#network 192.168.0.0      // 宣告直连的主类网络 192.168.0.0 (C类,左侧终端网络)
Router(config-router)#network 10.0.0.0         // 宣告直连的主类网络 10.0.0.0 (A类,下联 Router2)
Router(config-router)#network 30.0.0.0         // 宣告直连的主类网络 30.0.0.0 (A类,横连 Router1)
Router(config-router)#end                      // 直接退出所有配置模式,返回特权模式
Router#

2. 启用 Router1 的 RIP 路由进程:

复制代码
Router>enable                                  // 从用户模式进入特权模式
Router#configure terminal                      // 进入全局配置模式

Router(config)#router rip                      // 启动 RIP 路由进程,进入路由配置模式
Router(config-router)#network 192.168.1.0      // 宣告直连的主类网络 192.168.1.0 (C类,右侧终端网络)
Router(config-router)#network 20.0.0.0         // 宣告直连的主类网络 20.0.0.0 (A类,下联 Router2)
Router(config-router)#network 30.0.0.0         // 宣告直连的主类网络 30.0.0.0 (A类,横连 Router0)
Router(config-router)#end                      // 直接退出所有配置模式,返回特权模式
Router#

3. 启用 Router2 的 RIP 路由进程:

复制代码
Router>enable                                  // 从用户模式进入特权模式
Router#configure terminal                      // 进入全局配置模式

Router(config)#router rip                      // 启动 RIP 路由进程,进入路由配置模式
Router(config-router)#network 10.0.0.0         // 宣告直连的主类网络 10.0.0.0 (A类,上联 Router0)
Router(config-router)#network 20.0.0.0         // 宣告直连的主类网络 20.0.0.0 (A类,上联 Router1)
Router(config-router)#end                      // 直接退出所有配置模式,返回特权模式
Router#

(配置完成提示:当三台路由器均完成 network 宣告后,它们将立刻开始每隔 30 秒的周期性广播。此时网络需要经历短暂的"收敛时间",随后全网的路由表将自动构建完成。)

五、 查看与验证各路由器的路由表

当全网的 RIP 进程激活并经过短暂的广播收敛后,路由器的"地图"便构建完毕。在本节中,我们将通过 IOS 命令行进入各路由器的视角,深度破译路由表(Routing Table)的内容,并结合拓扑图验证 RIP 协议的寻路逻辑。

5.1 路由表查看命令与核心参数解析

在任意路由器(以 Router0 为例)的命令行中输入以下命令,即可查看其当前生效的路由表:

复制代码
Router>enable                   // 从用户模式进入特权模式
Router#show ip route            // 显示核心路由表内容

在系统输出的长串信息中,带有首字母 R 的条目,即代表该设备通过 RIP 协议动态学习到的"非直连网络"路由

【核心参数深度解析:[120/1] 的含义】 在路由条目中(例如 R 192.168.1.0/24 [120/1] via 30.0.0.2),方括号内的参数是决定数据走向的关键:

  • 120(管理距离 Administrative Distance, AD): 代表该路由协议在系统中的可信度或优先级。RIP 协议的默认管理距离为 120(作为对比,OSPF 协议为 110)。如果到达同一目的网络存在两条不同协议计算出的路由,路由器会优先选择 AD 值更小(更可信)的协议,例如 OSPF 优先于 RIP。

  • 1(度量值 Metric / 跳数 Hop Count): 表明从当前节点到达目标网络的距离为 1 跳。 (注:思科设备在实现 RIP 时,将到达直连网络的基准距离定义为 0,在向外发送路由更新报文时,会先将该距离 +1,因此邻居设备收到的初始度量值即为 1 跳。)

5.2 Router0 的寻路逻辑实测与推演

以 Router0 的视角,验证其到达不同远端网络的决策过程:

场景一:Router0 寻址骨干网络 20.0.0.0/8

20.0.0.0 网络部署在拓扑的右下角,连接在 Router1 和 Router2 之间。此时 Router0 拥有两条路径:

  • 路径 A(横穿串行链路):Se0/0/0 出发到达 Router1。因目标网络直连于 Router1,总共需跨越 1 个路由器。

  • 路径 B(向下绕行以太网):Gig0/1 出发到达 Router2。因目标网络同样直连于 Router2,总共也只需跨越 1 个路由器。

RIP 的决策结果: 两条路径均为 1 跳,完全等价。RIP 判定走哪边同样高效,进而将它们同时写入路由表。在 Router0 的路由表中,你会真切地看到针对 20.0.0.0 网络存在 via 30.0.0.2via 10.0.0.2 两条并列的等价负载均衡(ECMP)记录。

场景二:Router0 寻址远端终端网络 192.168.1.0/24

该网络位于拓扑右上角,作为末端网络直接挂载于 Router1。

  • 路径 A(直连 Router1):Se0/0/0 接口出发直接交付给 Router1。目标网络就在该设备上,跳数为 1 跳

  • 路径 B(经由 Router2 中转):Gig0/1 出发先交付给 Router2,再由 Router2 转发给 Router1。此路径需跨越两台设备,跳数为 2 跳

RIP 的决策结果: 面对 1 跳与 2 跳的差异,遵循"单一最短跳数优先"原则的 RIP 协议会果断摒弃次优的路径 B,仅在路由表中保留经由 Se0/0/0(下一跳为 30.0.0.2)的最优单条记录。

5.3 Router1 的寻路逻辑实测与推演

现在切换到右侧 Router1 的视角,其寻路逻辑与 Router0 呈现出完美的镜像对称:

场景一:Router1 寻址骨干网络 10.0.0.0/8

目标网络位于拓扑左下角,夹在 Router0 与 Router2 之间。

  • 路径 A(向左走串口): 经由 Se0/0/0 到达 Router0,跨越 1 个路由器。

  • 路径 B(向下走以太网口): 经由 Gig0/0 到达 Router2,跨越 1 个路由器。

RIP 的决策结果: 距离相等(均为 1 跳)。路由表中生成到达 10.0.0.0 网络的两条等价负载均衡路由

场景二:Router1 寻址远端终端网络 192.168.0.0/24

目标网络位于拓扑左上角,直接挂载于 Router0。

  • 路径 A(直连 Router0): 经由 Se0/0/0 直达,跳数为 1 跳

  • 路径 B(经由 Router2 中转): 经由 Gig0/0 绕行 Router2,再交付 Router0,跳数为 2 跳

RIP 的决策结果: 摒弃 2 跳的绕行方案,路由表中仅保留经由 Se0/0/0(下一跳为 30.0.0.1)的单条最优路由

5.4 Router2(中转汇聚节点)的寻路逻辑拆解

我们可以将 Router2 视作网络底层的数据分发枢纽,其路由表包含三个非直连网段的学习记录:

场景一: 寻址顶部骨干网络 30.0.0.0/8

向左(经 Gig0/0 找 Router0)为 1 跳;向右(经 Gig0/1 找 Router1)也为 1 跳。生成针对 30.0.0.0 网络的两条等价路由,实现跨接口的流量分摊。

场景二: 寻址左侧终端网络 192.168.0.0/24

向上直接交付给 Router0 是最快捷的,跳数为 1 跳。若向右绕行 Router1 则需 2 跳以上。生成下一跳为 10.0.0.1(经由 Gig0/0 转发)的单条最优路由

场景三: 寻址右侧终端网络 192.168.1.0/24

同理,向上直接交付给 Router1 为最优路径(1 跳)。生成下一跳为 20.0.0.1(经由 Gig0/1 转发)的单条最优路由

5.5 拓扑全局视角:RIP 选路逻辑的对称美学

将全网三台路由器的路由表聚合分析,我们能清晰地洞察到该网络拓扑设计所蕴含的对称美感,以及 RIP 协议最纯粹的底层逻辑:

无论是处于左边缘的 Router0 还是右边缘的 Router1,当它们试图访问中继骨干网络(10.0.0.0 或 20.0.0.0)时,其空间距离均是等长的(1 跳),因此必然产生负载均衡;而当它们跨越整个拓扑访问对端的终端网络时,直接穿越顶部串行链路(Se0/0/0)永远是唯一的最优解。

通过以上多视角的路由表验证,RIP 协议的本质特征得到了最直接的证实:它是一个纯粹依靠"节点跳数(Hop Count)"进行单一维度度量的距离矢量协议,严格遵循"距离最短优先"的绝对数学逻辑。

六、 网络连通性测试与 RIP 动态选路验证

在完成 RIP 协议的配置后,我们需要通过真实的数据包交互,来检验网络连通性,并利用 Packet Tracer 强大的模拟功能(Simulation Mode)对数据包的转发路径进行"慢动作回放",以此深度验证 RIP 协议的底层选路逻辑。

6.1 实时模式(Realtime)下的 Ping 连通性测试

首先,在实时工作模式下,我们在左侧终端 PC0 的命令行界面(Command Prompt)向右侧远端终端 PC1 发起 Ping 测试。

(1)测试目的:

  • 检验物理拓扑连通性及各节点的 IP、子网掩码、网关配置是否绝对正确。

  • 验证路由器的 RIPv1 协议是否成功收敛,路由表是否生效。

  • ARP 预热: 提前触发沿途设备(PC 与路由器、以太网相连的路由器之间)的 ARP 解析过程,获取对应的 MAC 地址,以免在后续的"单步模拟"中,因夹杂大量的 ARP 广播报文而干扰我们对核心实验现象的观察。

(2)测试实操与现象分析:

在 PC0 的命令行中输入 ping 192.168.1.1

  • 首次丢包现象(Request timed out): 大概率会观察到第一个数据包请求超时。这是正常的网络现象。因为 PC0 与 PC1 跨越了多个网段,首个 ICMP 报文在准备发送以及途经路由器转发时,遇到未知的下一跳(例如 PC0 寻找网关,或路由器寻找下一跳路由器),都需要挂起数据包并触发 ARP 广播请求来寻址对应的 MAC 地址。这个多级等待过程通常会耗尽第一个 ICMP 请求的超时阈值。

  • 后续连通: 随着沿途 ARP 缓存的建立,后续的 3 个报文将成功收到 Reply 响应,证明端到端网络已完全打通。

排错指南: 若 4 个包全部失败(即 100% loss),请按此顺序倒查:终端 IP/网关配置 → 路由器接口状态 (no shutdown) → 路由器接口 IP 配置 → RIP 进程中的 network 宣告是否遗漏或错误。

6.2 切换模拟模式与设置协议监听

为了"亲眼目睹"数据包是如何越过千山万水的,我们需要借助模拟模式。点击软件右下角的 Simulation(模拟) 图标(或使用快捷键 Shift+S)切换工作空间。点击模拟面板下方的 Edit Filters(编辑过滤器) 。在弹出的 IPv4 选项卡中,取消其他杂散协议的勾选,仅保留 ICMP(用于观察 Ping 数据包)和 RIP(用于观察路由更新报文)

6.3 验证 RIP "唯跳数论"的绝对路径选择

接下来,我们使用"单步模拟"功能,追踪数据包的真实物理轨迹。

使用工具栏中的 Add Simple PDU (添加简单 PDU,即闭合信封图标),先点击 PC0 作为源,再点击 PC1 作为目的。 点击模拟控制面板上的 Capture / Forward(捕获/前进) 按钮,逐步观察信封的移动轨迹。

【原理解析:无视带宽的"唯跳数论"】

当您不断点击前进,您会观察到 ICMP 请求报文与返回的响应报文,其轨迹完全锁定在"PC0Router0Router1PC1"这条上方路径,而根本没有去走下方经过 Router2 的路径。

这一现象完美印证了 RIP 协议最核心的机制:RIP 只认跳数(Hop Count),无视链路带宽。

  • 尽管上方连接 Router0 与 Router1 的红色串行链路带宽极低,但由于跨越的路由器数量少(仅 1 跳)。

  • 尽管下方的 GigabitEthernet 千兆以太网链路速度极快,但由于必须途经 Router2 转发,跨越了 2 个路由器(2 跳)。

在距离矢量算法的严格数学逻辑下,RIP 必定"固执"地将所有流量导向上方那条"慢速但距离近"的串行链路。您的 ICMP 数据包轨迹,就是这一理论最强有力的呈堂证供。

6.4 破译事件列表:捕捉 RIP 周期性心跳

在完成 ICMP 单步追踪后,请将目光移至右侧的 Event List(事件列表) 。您会发现,在 ICMP 通信结束后,列表中紧接着涌现了一批类型为 RIPv1 的彩色事件块。

【现象记录:似乎"毫无规律"的连续发送】

事件列表显示:Router2 发送 → 随后 Router1 发送 → 接着 Router0 发送 → 一段时间后 Router2 再次发送。

【底层逻辑解密:异步的 30 秒倒计时机制】

很多初学者会误以为这是由于刚才的 ICMP 报文"触发"了路由器的连锁反应。这是一种典型的错觉。 这个过程是绝对正确且完全符合 RIP 协议底层规范的:

  1. 独立的 30 秒周期计时器: RIPv1 路由器为了维持整个网络拓扑的有效性,默认每隔 30 秒就会进行一次路由表泛洪(周期性更新)。它会将自己当前的完整路由表打包,以广播的形式(目的 IP 为 255.255.255.255)向所有邻居发送。

  2. 异步广播(Asynchronous Broadcasting): 在本拓扑中,Router0、Router1、Router2 的大脑中都有一个独立运转的 30 秒倒计时器。由于设备开机、配置 RIP 进程的时间先后不一,这些计时器并没有对齐。

  3. 现象溯源: 当您在进行单步模拟时,底层时间轴(Time)正在极其精确地推进。当 ICMP 测试完毕,恰好碰上了 Router2 内部的那个 30 秒倒计时率先归零,于是它发出了 RIPv1 广播。几秒之后,Router1 的独立计时器也归零了,随之发送。最后轮到 Router0。

  4. 周而复始: 当时间轴再往后推进,Router2 的"下一个 30 秒周期"又到了,因此您会在列表末尾再次捕捉到 Router2 准时发出的更新报文。

七、 深度验证:RIP 的等价负载均衡(ECMP)

结合拓扑图与之前第六节的路由表分析,我们已经得知:Router2 到达顶部骨干网络 30.0.0.0/8 存在两条跳数绝对相等的路径(经由 Router0 为 1 跳,经由 Router1 也为 1 跳)。

理论上,路由器会将发往该网络的流量均匀分摊到这两条路径上。现在,我们将继续在 Packet Tracer 的模拟模式(Simulation)下,通过真实的 ICMP 数据包轨迹来"抓取"这一现象。

7.1 测试环境设定与 IOS 调度规则

确保软件仍处于 Simulation 模拟模式。点击打开 Router2 的命令行界面(CLI),输入并执行 ping 30.0.0.2(目标为 Router1 上方的串行接口 IP)。

【底层机制揭秘:轮询调度】 思科 IOS 系统的默认规则是:每次执行一次标准的 ping 命令,路由器会连续发送 5 个 ICMP Echo Request 数据包。对于路由器自身产生的测试流量,IOS 默认采用基于数据包的轮询负载均衡(Per-Packet Load Balancing)

  • 这意味着路由器会像"发牌"一样,严格交替使用路由表中的等价路径,且永远从路由表中的第一条记录开始发包

  • 预判分配结果: 查阅 Router2 路由表可知,指向 Router1 的路径(via 20.0.0.1)排在首位,指向 Router0 的路径(via 10.0.0.1)排在第二位。因此,第 1、3、5 个包将走右侧;第 2、4 个包将走左侧。

7.2 单步追踪:流量分摊的完美印证

点击模拟控制面板的 Capture / Forward(捕获/前进) 按钮,我们将观察到以下交替出现的奇妙轨迹:

▶ 轨迹一:第一个包的右侧直达(第 1、3、5 个包)

信封(ICMP 请求报文)在 Router2 内部生成。Router2 查询路由表,按顺序匹配到了排在首位的等价路由记录(via 20.0.0.1)。信封沿着右侧的虚线,从本地的 Gig0/1 接口 飞出,直接抵达目的地 Router1。

▶ 轨迹二:第二个包的左侧突围(第 2、4 个包)

紧接着,第二个信封在 Router2 内部生成(属于同一个 ping 序列的后续测试包)。为了实现网络资源的"一碗水端平"(即负载均衡),Router2 的转发表指针强制切换到了第二条等价路由记录(via 10.0.0.1)。这一次,信封没有重走老路,而是沿着左侧的虚线,从本地的 Gig0/0 接口 飞向了 Router0,随后由 Router0 经串行链路转发至最终目的地。

▶ 现象循环:第三个包的折返

当产生第三个包时,分配指针再次回到第一条路径,信封又一次径直飞向了右侧的 Router1。

7.3 实验结论

在模拟面板中,可以清晰地看到 Ping 命令产生的数据报文在左右两条链路上严格交替传送 。这不仅验证了前文的理论推导,更以最直观的视觉反馈,向我们完美诠释了 RIP 协议的 等价负载均衡(Equal-Cost Multi-Path, ECMP) 机制。

八、 观察 RIP 的动态更新过程与底层封装机制

运行 RIP 协议的路由器并不是"一劳永逸"的,它们就像网络中的"活体心跳",默认会以 30 秒为周期,向所有激活了 RIP 的接口广播发送更新报文(Update Packet)。收到该报文的邻居路由器,会提取其中的路由条目,并基于距离矢量算法比对、更新自身的路由表。

接下来,我们将分别在"模拟模式"和"实时模式"下,从微观和宏观两个维度全景透视这一动态过程。

8.1 模拟模式下剖析 RIP 报文的逐层封装

切换至 Packet Tracer 的 Simulation(模拟) 工作模式。在底部的播放控制栏中,点击单步模拟按钮(Capture / Forward)。观察现象:会看到代表 RIP 报文的信封从路由器(如 Router2 或 Router0)发出,并广播给所有直连的节点。

现象一:终端设备(PC)的"冷漠"拒收

当 Router0 将 RIP 广播报文发送到左侧网络,报文抵达 PC0 时,您会观察到信封上出现了一个红色的"X",代表报文被丢弃。

原理解析: 单击该被丢弃的信封打开 PDU 详细信息。在 OSI 模型视图中可以发现其被丢弃的根本原因:RIP 协议是网络设备间的通信语言,它依赖传输层的 UDP 520 端口。由于普通的 PC 终端并未运行路由服务,底层根本没有开启并监听 UDP 520 端口,因此 PC 的传输层会直接将该报文拒收并丢弃。

现象二:RIP 报文的底层封装解密(PDU Details)

点击路由器之间成功接收的 RIP 信封,查看 Outbound PDU Details,我们可以完美印证网络体系结构的逐层封装原理:

  • 应用层(Application): 承载 RIPv1 路由更新数据(包含具体的目的网络与跳数 Metric)。

  • 传输层(Transport): 使用 UDP 协议进行封装,源端口和目的端口号均为 520

  • 网络层(Network): 使用 IPv4 协议封装,由于 RIPv1 采用广播机制,其目的 IP 地址被设定为受限广播地址 255.255.255.255

  • 数据链路层(Data Link): 在以太网链路中,网络层的广播 IP 会映射到数据链路层,目的 MAC 地址被封装为以太网广播地址 FF-FF-FF-FF-FF-FF

8.2 实时模式下抓取 RIP 动态更新日志(Debug 实操)

除了图形化的信封,我们还可以在路由器的命令行中开启系统底层的调试(Debug)开关,以字符日志的形式实时监控路由器的"窃窃私语"。

切换回 Realtime(实时) 工作模式。进入 Router0 的命令行界面(CLI),输入以下命令:

复制代码
Router>enable
Router#debug ip rip    // 开启 RIP 协议的实时动态调试过程

注:开启后请耐心等待数十秒,屏幕上会自动不断涌现更新日志。

观察上述Router0 debug 截图,我们可以精准破译路由器的行为:

(1)发送日志(Sending): RIP: sending v1 update to 255.255.255.255 via GigabitEthernet0/0 (192.168.0.254)

这表示 Router0 正在从连接 PC0 的 Gig0/0 接口向外广播自己的路由表。它宣告的信息包括:去往 10.0.0.0 需要 1 跳,去往 20.0.0.0 需要 2 跳,等等。这正是距离矢量协议"毫无保留分享自身所知"的体现。

(2)接收日志(Received): RIP: received v1 update from 10.0.0.2 on GigabitEthernet0/1

这表示 Router0 从连接 Router2 的接口(对端 IP 为 10.0.0.2)收到了一份路由更新。Router2 告诉 Router0:从我这里去往 20.0.0.0 只要 1 跳,去往 192.168.1.0 需要 2 跳。

九、 协议的关闭与环境清理

debug 命令虽然强大,但它会极大地消耗路由器的 CPU 与内存资源。在网络工程实践中,排错完成后必须立刻关闭调试开关。此外,若后续实验需要更换路由协议(如切换为 OSPF),我们也需要掌握如何彻底清除现有的 RIP 进程。

9.1 关闭 Debug 调试监控

在持续输出日志的命令行中,敲击回车唤出输入提示符,执行以下命令关闭监控:

复制代码
Router#no debug ip rip      // 仅关闭 RIP 相关的 debug
// 或者使用更直接的全局命令:
Router#undebug all          // 关闭设备上所有的底层 debug 监控

9.2 卸载 RIP 路由进程

在不需要路由器运行 RIPv1 时,进入全局配置模式,使用 no 关键字彻底删除该协议进程:

复制代码
Router>enable
Router#configure terminal
Router(config)#no router rip    // 彻底关闭并删除 RIP 路由进程

结果验证: 执行此命令后,路由器不仅会停止每 30 秒一次的周期性广播,并且会瞬间清空当前路由表中所有通过 RIP 学习到的非直连路由条目(即带有首字母 R 的记录)。此时全网将退回到仅能互相访问直连网段的初始碎片化状态。

相关推荐
鱼鳞_2 小时前
Java学习笔记_Day33(高级流)
java·笔记·学习
不会写DN2 小时前
为什么TCP是三次握手?
服务器·网络·网络协议·tcp/ip
2501_913061342 小时前
网络编程——了解客户端与服务器端之间的交互(1)
java·网络
M158227690552 小时前
三格电子 EtherNet/IP 协议网关产品介绍
网络·网络协议·tcp/ip
刘~浪地球2 小时前
网络性能调优实践
网络
爱学习的小囧2 小时前
ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程
java·linux·运维·服务器·网络·虚拟化
复园电子2 小时前
电子签章系统选型方法论:SaaS、私有部署、API接口版怎么选
服务器·网络·lims系统
Engineer邓祥浩2 小时前
JVM学习笔记(11) 第四部分 程序编译与代码优化 第10章 前端编译与优化
jvm·笔记·学习
大大杰哥2 小时前
力扣hot100笔记(1)
笔记·leetcode