一、实验目的
理解IPv4数据报首部中生存时间TTL字段的作用。
验证静态路由配置错误可能导致路由环路问题。
验证IP数据报可能在路由环路中"兜圈"
二、 全局网络架构与 IP 地址规划策略

有别于单一网段的 VLSM 划分,本实验采用企业级网络中经典的"模块化层级设计(Hierarchical Network Design)"。为实现清晰的业务隔离与路由管理,全局网络地址被从逻辑上严格划分为"骨干互联区(WAN)"与"终端接入区(LAN)"两大部分,并采用完全独立的地址空间。
1. 骨干互联链路(WAN 区)分配策略
-
规划原则: 骨干链路仅负责路由器节点之间的数据中转,不承载终端用户。为提高路由表的辨识度,采用 A 类私有地址空间进行部署。
-
分配方案:
-
骨干链路 1 (Router 0 - Router 1): 独立分配
10.0.0.0/30网段。采用/30的极窄掩码(可用 IP 仅 2 个),刚好满足两端路由器的点对点(P2P)通信需求,杜绝了 IP 浪费与非授权设备的接入。推导补充: 子网掩码为/30(前 30 位为 1,后 2 位为 0),二进制表示为11111111.11111111.11111111.11111100,对应十进制为255.255.255.252。 -
骨干链路 2 (Router 1 - Router 2): 独立分配
20.0.0.0/30网段。设计理念及子网掩码推导同上。
-
2. 终端接入网络(LAN 区)分配策略
-
规划原则: 局域网为终端设备提供网络接入。为保证充足的扩展容量及网段的标准化,采用 C 类私有地址空间,并统一使用
/24的标准前缀。推导补充: 子网掩码为/24(前 24 位为 1,后 8 位为 0),二进制表示为11111111.11111111.11111111.00000000,对应十进制为255.255.255.0。 -
分配方案:
-
左侧局域网 (PC0 区域): 独立分配
192.168.0.0/24网段。该网段可提供 254 个可用主机 IP。主机位数为 32 - 24 = 8 位,总 IP 数量为 2^8 = 256 个。减去一个网络地址192.168.0.0和一个广播地址192.168.0.255,有效可用数为 256 - 2 = 254 个(IP 范围:192.168.0.1-192.168.0.254)。遵循最佳实践,将首个 IP (.1) 分配给 PC0,将末尾 IP (.254) 分配给 Router 0 的 Gig0/0 接口作为默认网关。 -
右侧局域网 (PC1 区域): 独立分配
192.168.1.0/24网段。该网段同样可提供 254 个可用主机 IP。减去网络地址192.168.1.0和广播地址192.168.1.255,有效可用数为 256 - 2 = 254 个(IP 范围:192.168.1.1-192.168.1.254)。此处为独立的模块化网段划分,无需像前序 VLSM 实验那样强行连续分配地址块。同理,将首个 IP (.1) 分配给 PC1,将末尾 IP (.254) 分配给 Router 2 的 Gig0/1 接口作为默认网关。
-
3. 规划优势总结
此种分配方案彻底解耦了各网段之间的地址依赖。当未来需要新增局域网(如添加 192.168.2.0/24)或新增骨干链路(如添加 30.0.0.0/30)时,无需重新计算全局掩码,展现了极强的网络扩展性与排错直观性。
三、 基础物理拓扑构建与参数标识
在网络工程实战中,一张标识清晰、逻辑严密的"所见即所得"拓扑图,能极大降低后续命令行配置的出错率。本部分将在 Cisco Packet Tracer 模拟器中完成基础设施的搭建。
3.1 构建物理网络拓扑
良好的设备布局是网络配置成功的基础。
-
设备选型与摆放:
-
在软件左下角的设备分类栏中,选择"终端设备 (End Devices)",拖拽 2 台通用个人计算机(PC-PT)至逻辑工作区的左右两侧。
-
选择"网络设备 (Network Devices)",拖拽 3 台型号为 2911 的 Cisco 路由器(分别作为 Router 0、Router 1、Router 2)至工作区中央,并按线性排列。
-
-
建立物理连接: 点击"连接线 (Connections)"图标(闪电状)。为提高效率,可使用"自动选择连接类型"工具(亮黄色闪电图标),依次连接
PC0 -> Router 0 -> Router 1 -> Router 2 -> PC1。(说明:若手动连线,遵循物理层规范,PC 与路由器之间应选择"铜缆直通线";路由器与路由器同种设备互联,应选择"铜缆交叉线"。但 2911 路由器的千兆接口支持 Auto-MDIX 自动翻转技术,实操中混用亦可连通。)

3.2 开启并标注路由器接口号
路由器拥有多个外观相同的千兆接口,配置前必须明确物理连线具体插在了哪个端口上,这是避免"路由环路"和"下一跳指错"的关键前提。在软件顶部菜单栏依次点击 Options -> Preferences,在弹出的窗口中勾选 Always Show Port Labels in Logical Workspace (始终在逻辑工作区显示端口标签)。此时,每根连线的两端都会亮起接口号(如 Gig0/0、Gig0/1)。为防止视觉混淆,选中右侧工具栏的"添加备注 (Place Note)"工具(快捷键 N),在连线旁边手动敲入大号字体的接口编号进行二次确认。

开启端口显示并手动用文字标注好各接口编号的拓扑图
3.3 完善拓扑 CIDR 与全局网络参数标注
将前期计算得出的理论地址块"可视化"到图纸上,构建严谨的工程施工图。继续使用"添加备注 (Place Note)"工具,严格按照"区域"与"节点"分层次标注。在每个独立网段的中心区域,写明网络名称及 CIDR 地址块。例如:网络 1 - CIDR地址块: 192.168.0.0/24 或 网络 2 - CIDR地址块: 10.0.0.0/30。在 PC 设备旁,写明其分配的精确参数。例如:IP地址: 192.168.0.1、子网掩码: 255.255.255.0、默认网关: 192.168.0.254。在路由器的各个活动接口旁,标明分配给该接口的 IP 及掩码。例如 Router 0 的 Gig0/1 接口旁标注:IP地址: 10.0.0.1、子网掩码: 255.255.255.252。

四、 核心设备网络参数与路由配置
基础设施搭建完毕后,需要为全网设备注入"灵魂"(IP 地址与路由规则)。本环节分为基础 IP 分配与全局静态路由规划两步进行。
4.1 终端设备与核心路由器 IP 地址配置
(1)终端 PC 网络参数配置
在 Cisco Packet Tracer 工作区中,依次单击终端设备(PC0、PC1),进入 Desktop(桌面)-> IP Configuration(IP 配置),选择 Static(静态)模式,并严格按照下表录入数据:
| 设备名称 | IPv4 地址 | 子网掩码 | 默认网关 | 所属网络 (CIDR) |
|---|---|---|---|---|
| PC0 | 192.168.0.1 |
255.255.255.0 |
192.168.0.254 |
网络 1 (192.168.0.0/24) |
| PC1 | 192.168.1.1 |
255.255.255.0 |
192.168.1.254 |
网络 4 (192.168.1.0/24) |
| [表 1:终端设备 IP 配置表] |

(2)核心路由器物理接口配置表
双击各路由器设备,进入 CLI(命令行界面)选项卡。在敲击命令前,请再次核对以下全局接口分配表:
| 设备名称 | 接口名称 | IPv4 地址 | 子网掩码 | 所属网络 | 接口作用说明 |
|---|---|---|---|---|---|
| Router 0 | Gig0/0 | 192.168.0.254 |
255.255.255.0 |
网络 1 | 左侧 PC0 所在局域网的默认网关 |
| Router 0 | Gig0/1 | 10.0.0.1 |
255.255.255.252 |
网络 2 | 连接 Router 1 的骨干链路端点 |
| Router 1 | Gig0/0 | 10.0.0.2 |
255.255.255.252 |
网络 2 | 连接 Router 0 的骨干链路端点 |
| Router 1 | Gig0/1 | 20.0.0.1 |
255.255.255.252 |
网络 3 | 连接 Router 2 的骨干链路端点 |
| Router 2 | Gig0/0 | 20.0.0.2 |
255.255.255.252 |
网络 3 | 连接 Router 1 的骨干链路端点 |
| Router 2 | Gig0/1 | 192.168.1.254 |
255.255.255.0 |
网络 4 | 右侧 PC1 所在局域网的默认网关 |
| [表 2:路由器接口 IP 配置表] |
(3)路由器接口配置代码实施
依次进入 R0、R1、R2 的 CLI 界面,键入以下命令激活接口并分配 IP:
Router 0 配置:
Router>enable // 进入特权模式
Router#configure terminal // 进入全局配置模式
Router(config)#interface GigabitEthernet0/0 // 进入连接 PC0 的接口
Router(config-if)#ip address 192.168.0.254 255.255.255.0 // 配置网关 IP 及掩码
Router(config-if)#no shutdown // 激活物理接口
Router(config-if)#interface GigabitEthernet0/1 // 切换至连接骨干网的接口
Router(config-if)#ip address 10.0.0.1 255.255.255.252 // 配置骨干网 IP
Router(config-if)#no shutdown // 激活物理接口
Router(config-if)#exit // 退回全局配置模式
Router 1 配置:
Router>enable // 从用户模式进入特权模式
Router#configure terminal // 从特权模式进入全局配置模式
// --- 配置连接 Router 0 的骨干链路 (网络 2) 的接口 ---
Router(config)#interface GigabitEthernet0/0 // 进入千兆以太网接口 Gig0/0 的配置模式
Router(config-if)#ip address 10.0.0.2 255.255.255.252 // 配置接口 IP 地址和子网掩码 (对应 R0)
Router(config-if)#no shutdown // 开启该物理接口
// --- 配置连接 Router 2 的骨干链路 (网络 3) 的接口 ---
Router(config-if)#interface GigabitEthernet0/1 // 直接切换并进入千兆接口 Gig0/1 的配置模式
Router(config-if)#ip address 20.0.0.1 255.255.255.252 // 配置接口 IP 地址和子网掩码 (对应 R2)
Router(config-if)#no shutdown // 开启该物理接口
Router(config-if)#exit // 退出接口配置模式,返回全局配置模式
Router 2 配置:
Router>enable // 从用户模式进入特权模式
Router#configure terminal // 从特权模式进入全局配置模式
// --- 配置连接 Router 1 的骨干链路 (网络 3) 的接口 ---
Router(config)#interface GigabitEthernet0/0 // 进入千兆以太网接口 Gig0/0 的配置模式
Router(config-if)#ip address 20.0.0.2 255.255.255.252 // 配置接口 IP 地址和子网掩码 (对应 R1)
Router(config-if)#no shutdown // 开启该物理接口
// --- 配置连接 PC1 所在局域网 (网络 4) 的接口 ---
Router(config-if)#interface GigabitEthernet0/1 // 直接切换并进入千兆接口 Gig0/1 的配置模式
Router(config-if)#ip address 192.168.1.254 255.255.255.0 // 配置网关 IP 地址和子网掩码 (对应 PC1)
Router(config-if)#no shutdown // 开启该物理接口
Router(config-if)#exit // 退出接口配置模式,返回全局配置模式
链路状态验证: 上述代码执行完毕后,拓扑图中设备接口处的红色圆点均应转变为绿色的正三角形,系统提示 changed state to up,表明全网直连链路已打通。

4.2 全网静态路由转发策略与下一跳规划
完成直连网络的配置后,需通过静态路由规则打通跨网段的通信路径。在多路由互联的复杂网络中,配置静态路由需遵循"端到端(End-to-End)通信原则"。 对于基础连通性实验,我们只关注最终包裹要送达的地址。路由器的首要任务是打通首尾两个终端局域网(即"网络 1"与"网络 4")的数据传输链路,而无需为中间起中转作用的骨干链路("网络 2"与"网络 3")互配路由。 基于此原则,运用"目标网络 + 直连下一跳"的逻辑,三台核心路由器的盲区推导与转发策略如下:
| 当前路由器 | 目的网络 (通信目标) | 目的网段 (CIDR) | 本端发送接口 (出站) | 下一跳接收设备与接口 | 下一跳 IP 地址 |
|---|---|---|---|---|---|
| Router 0 | 网络 4 (右侧终端) | 192.168.1.0/24 |
Gig0/1 |
Router 1 的 Gig0/0 |
10.0.0.2 |
| Router 1 | 网络 1 (左侧终端) | 192.168.0.0/24 |
Gig0/0 |
Router 0 的 Gig0/1 |
10.0.0.1 |
| Router 1 | 网络 4 (右侧终端) | 192.168.1.0/24 |
Gig0/1 |
Router 2 的 Gig0/0 |
20.0.0.2 |
| Router 2 | 网络 1 (左侧终端) | 192.168.0.0/24 |
Gig0/0 |
Router 1 的 Gig0/1 |
20.0.0.1 |
| [表 3:全网静态路由转发策略规划表] |
4.3 核心路由器静态路由代码实施
依据上述推导出的策略,静态路由的标准配置语法为:ip route [目标网络地址] [子网掩码] [下一跳 IP 地址]。在各路由器的全局配置模式下执行以下命令:
Router 0 配置:
Router>enable //从用户执行模式进入特权执行模式
Router#configure terminal //从特权执行模式进入全局配置模式
// 注入去往右侧终端网络 (网络 4) 的静态网络路由
Router(config)#ip route 192.168.1.0 255.255.255.0 10.0.0.2
Router 1 配置:
Router>enable // 从用户模式进入特权模式
Router#configure terminal // 从特权模式进入全局配置模式
// 注入去往左侧终端网络 (网络 1) 的静态网络路由
Router(config)#ip route 192.168.0.0 255.255.255.0 10.0.0.1 // 目标网段 192.168.0.0/24,下一跳交由 Router 0 (10.0.0.1)
// 注入去往右侧终端网络 (网络 4) 的静态网络路由
Router(config)#ip route 192.168.1.0 255.255.255.0 20.0.0.2 // 目标网段 192.168.1.0/24,下一跳交由 Router 2 (20.0.0.2)
Router(config)#exit // 退出全局配置模式

Router 2 配置:
Router>enable // 从用户模式进入特权模式
Router#configure terminal // 从特权模式进入全局配置模式
// 注入去往左侧终端网络 (网络 1) 的静态网络路由
Router(config)#ip route 192.168.0.0 255.255.255.0 20.0.0.1 // 目标网段 192.168.0.0/24,下一跳交由 Router 1 (20.0.0.1)
Router(config)#exit // 退出全局配置模式

五、 基础连通性测试与底层机制验证
在所有的 IP 和静态路由配置完成后,网络理论上已经打通。本环节将在实时模式(Realtime)下,通过跨网段的 Ping 测试来验证全网配置的正确性,并深度解析测试过程中出现的底层网络现象。
5.1 全网端到端连通性 Ping 测试
在 Cisco Packet Tracer 右下角确保处于 Realtime(实时工作模式)。单击左侧的终端 PC0,进入 Desktop -> Command Prompt(命令提示符)。输入以下命令,直接向右侧远端网络中的 PC1 发起连通性测试:
ping 192.168.1.1 //测试PC0与PC1的连通性
连通性验证的五大核心目的: 此次跨越 3 台路由器的端到端 Ping 测试若能最终成功(返回 Reply from 192.168.1.1),则标志着以下五个层面的网络架构均已完美竣工:
-
拓扑验证: 物理网线连接完全正确,接口均已激活。
-
终端验证: PC0 与 PC1 的 IP、子网掩码及默认网关配置无误。
-
网关验证: 路由器各活动接口的 IP 与所在网段完全匹配。
-
路由验证(核心): 三台路由器的静态路由(
ip route)条目及下一跳配置完全精确,实现了数据包的双向闭环转发。 -
地址解析验证: 成功迫使全网设备通过 ARP 协议获取了相邻接口的 MAC 地址,为后续的纯净数据传输扫清了障碍。


5.2 深度解析:为什么首次 Ping 会出现"请求超时 (Request timed out)"?
在首次执行跨网段的 Ping 命令时,你大概率会看到前 1 到 2 个数据包显示 Request timed out(请求超时) ,而后面的数据包才显示 Reply from...。再次执行 Ping 命令时,则会 4 个包全部秒通。
造成首包超时的根本原因,在于底层 ARP(地址解析协议)的工作机制:
-
没有 MAC 地址寸步难行: 当 PC0 想要发送 ICMP(Ping)数据报给 PC1 时,它发现目标不在同一网段,于是决定把包交给网关(Router 0)。但在数据链路层,PC0 必须知道 Router 0 接口的 MAC 物理地址 才能完成封装。
-
ARP 广播寻址耗时: 首次通信时,PC0 的 ARP 缓存表是空的。它不得不暂停发送 ICMP 报文,先在局域网内大喊一声(发送 ARP 广播):"谁的 IP 是 192.168.0.254?请把你的 MAC 地址告诉我!"
-
报文被丢弃(超时产生): 路由器不仅不转发广播,而且处理 ARP 请求需要时间。在这个等待的过程中,原本准备发送的第一个 ICMP 报文由于等待超时 ,会被系统直接丢弃,从而在屏幕上打印出
Request timed out。 -
逐跳解析与网络收敛: 同理,当 Router 0 把包交给 Router 1 时,Router 1 交给 Router 2 时,甚至 Router 2 交给 PC1 时,由于都是首次通信,每一跳都需要停下来做 ARP 解析。这就导致了前几个 Ping 包像"敢死队"一样,为了帮后续报文问路而牺牲。
-
后续畅通: 当全网设备的 ARP 表(MAC 与 IP 的映射)都建立完毕后,再次 Ping 时,数据包无需再问路,瞬间直达!
5.3 故障排查指南
如果在耐心等待后,4 个数据包全部 显示 Destination host unreachable(目标主机不可达)或持续 Request timed out,请严格按以下"由近及远"的顺序排查:
-
第一步查物理: 检查拓扑图上是否还有红点?(大概率是路由器忘了敲
no shutdown)。 -
第二步查终端: 重点核对 PC0 和 PC1 的 "默认网关" 是否与路由器接口 IP 一字不差。
-
第三步查路由(重灾区): 在每台路由器特权模式下输入
show ip route查看路由表。-
检查条目前面是否有
S(代表 Static 静态路由)。 -
致命易错点: 重点检查静态路由的下一跳 IP 是否填错(必须是面对着自己的邻居接口 IP,绝不能是自己身上的 IP,也不能是最终目标的 IP)。
-
六、 路由环路故障模拟与 TTL 机制深度验证 (核心实验环节)
在复杂的静态路由配置中,由于网络管理员的人为失误,极易引发"路由环路"现象------即数据包在两台或多台路由器之间互相推诿,形成死循环。IPv4 报文首部设计了 TTL (Time to Live,生存时间) 字段,正是为了防止此类"僵尸数据包"无休止地消耗网络链路带宽。本环节我们将故意制造一个路由环路,并通过抓包深度观测 TTL 字段的保护机制。
6.1 开启仿真模式与协议监视 (ICMP)
为了直观地观察数据包在复杂网络中的寻址和跨路由转发过程,我们需要借助 Packet Tracer 强大的仿真功能,并过滤掉不相关的背景报文(如生成树 STP、路由更新等)。 切换工作模式: 在软件界面右下角,将默认的 Realtime(实时工作模式)切换至 Simulation(仿真工作模式)。 设置协议过滤器: 点击事件列表(Event List)下方的 Edit Filters(编辑过滤器) 按钮。在弹出的面板中,首先点击 Show All/None 清除所有默认的勾选状态。随后切换到 IPv4 选项卡,仅勾选 ICMP 协议(网际控制报文协议)。 操作目的说明: 经过此项设置,在随后的连通性测试中,拓扑图上将只显示用于 Ping 测试的 ICMP 报文(以醒目的信封图标呈现)。这相当于为网络开启了"上帝视角",便于我们清晰地追踪数据包是如何根据错误的静态路由条目"兜圈子"的。

6.2 故障注入:错误配置静态路由引发路由环路
(1)故障设计思路
假设我们在给十字路口 Router 1 配置静态路由时出现了重大笔误:将去往右侧网络 4 (192.168.1.0/24) 的数据包,不仅没有交给了正确的右侧邻居 Router 2,反而错误地交回给了左侧的邻居 Router 0。
-
Router 0 的逻辑: "去往网络 4 的包,我按配置交给了 Router 1。"
-
Router 1 的逻辑(故障后): "去往网络 4 的包,我按配置交回给 Router 0。" 此时,Router 0 与 Router 1 之间便形成了致命的逻辑死循环。
(2)故障注入代码实施
在 Router 1 的 CLI 界面中,首先删除此前配置的正确路由,然后注入错误的路由条目:
Router>enable
Router#configure terminal
// 第 1 步:删除原先去往 PC1 所在网络 (网络 4) 的正确路由条目
Router(config)#no ip route 192.168.1.0 255.255.255.0 20.0.0.2
// 第 2 步:注入错误的路由条目,将下一跳错误地指向 Router 0 (10.0.0.1)
Router(config)#ip route 192.168.1.0 255.255.255.0 10.0.0.1
Router(config)#exit

6.3 仿真观测:验证 IP 数据报的"兜圈"现象与 TTL 逐跳衰减
(1)发送测试报文
使用顶部工具栏的 Add Simple PDU 工具(闭合的信封图标),依次点击 PC0(源头)和 PC1(目标),生成一个单播的 ICMP 测试数据包。
(2)单步追踪与"兜圈"现象观测
在 Simulation Panel(仿真面板)的 Play Controls 中,点击 Capture / Forward(单步步进) 按钮。你将清晰地看到,携带 ICMP 报文的信封从 PC0 抵达 Router 0,Router 0 将其转发给 Router 1。紧接着,Router 1 并没有将其继续向右传递,而是原路退回给了 Router 0。此后,信封将在 Router 0 与 Router 1 之间不断地往复飞奔(兜圈)。
(3)TTL 逐跳衰减机制的底层验证(抓包分析)
数据包不能永远这样兜圈下去,否则整个骨干网的带宽将被瞬间占满。
-
第一次抓包: 当数据包刚从 Router 0 转发给 Router 1 时,点击拓扑图上该信封图标。在弹出的
PDU Information(协议数据单元信息)窗口中,切换至Outbound PDU Details(出站报文详情)选项卡,找到IP首部区域,记录此时的TTL字段数值(例如 TTL=254)。 -
第二次抓包: 继续点击单步步进,让该信封被 Router 1 退回给 Router 0 并再次由 Router 0 发出。再次点击该信封查看详情。
-
核心验证结论: 你会发现,其首部中的
TTL字段数值精确地减少了 1(例如变成了 TTL=253)。
(4)TTL 归零与数据报丢弃(防环机制生效)
-
不断点击单步步进按钮,耐心观察直到这个在 Router 0 和 Router 1 之间兜圈的数据包的 TTL 值被逐跳减小至
0。 -
最终现象: 当 TTL 减为 0 时,收到该数据包的路由器将不再进行转发,信封图标上会出现一个火焰或红叉标识 ,表示该数据包已被路由器强制丢弃。同时,该路由器会向源主机(PC0)发送一个
ICMP Time Exceeded(生存时间超时)的报错报文。 -
实验总结: 这完美证明了 IPv4 设计的伟大之处------通过 TTL 字段强制切断了路由环路带来的无尽资源消耗。




