实验十四:IPv4地址的无分类编址方法

一、实验目的

理解网络编址理论: 掌握 IPv4 无分类域间路由选择(CIDR)技术,运用可变长子网掩码(VLSM)进行 IP 地址块的划分。

掌握拓扑搭建: 熟悉 Cisco Packet Tracer 仿真软件的界面与基础操作,独立完成设备连线与接口管理。

配置静态路由: 掌握 Cisco 路由器接口配置,并能够准确编写跨网段通信的静态路由条目。

网络排错分析: 熟悉 ICMP 与 ARP 协议在底层的交互机制,熟练使用 ping 命令进行连通性测试并解释超时现象。

二、 实验环境

仿真软件: Cisco Packet Tracer

**硬件设备节点:**终端设备(End Devices):PC-PT × 8 台;二层交换机(Switches):Cisco 2960 × 4 台;路由器(Routers):Cisco 2911 × 2 台

三、 实验原理

3.1 CIDR 与 VLSM 技术原理

无分类域间路由选择 (CIDR): 打破了传统 A、B、C 类网络的严格界限,采用"IP地址 / 网络前缀长度"的斜线记法(例如 192.168.1.0/24)。斜线后面的数字代表子网掩码中连续为 1 的位数,它精确定义了网络部分的长度。

可变长子网掩码 (VLSM): 允许网络工程师在一个主干网络地址块的基础上,通过向主机位"借位"来进一步划分子网。它的核心思想是"按需分配"------根据每个物理网段实际需要的终端数量,分配不同长度的子网掩码,从而杜绝 IP 地址的浪费。

3.2 核心计算公式

在进行 VLSM 划分时,必须掌握以下两个核心公式(设网络前缀长度为 n):

主机位数 = 32 - n

(注意:必须减去 2,因为主机位全为 0 的地址保留为"网络地址",主机位全为 1 的地址保留为该网段的"广播地址",这两个地址均不能分配给具体设备。)

3.3 本实验子网掩码换算推导 (十进制转换)

大多数网络设备(如 PC 或老式路由器界面)要求输入点分十进制的子网掩码。本实验中用到了三种不同长度的掩码,其推导过程如下:

(1)推导 1:普通局域网(/28 掩码)

应用场景: 本实验中的网络 1、网络 3、网络 4。

容量计算: 主机位为 32 - 28 = 4 位。可用 IP 数为 2^4 - 2 = 14个(足以满足这些网段内 PC 和网关的数量需求)。

十进制转换: 前 28 位为 1,后 4 位为 0。二进制表示为 11111111.11111111.11111111.11110000,转换成十进制即为 255.255.255.240

(2)推导 2:大容量局域网(/27 掩码)

应用场景: 本实验中的网络 2(由于预期设备可能超过 14 台,因此向左少借一位,保留更多主机位)。

容量计算: 主机位为 32 - 27 = 5 位。可用 IP 数为 2^5 - 2 = 30 个。

十进制转换: 前 27 位为 1,后 5 位为 0。二进制表示为 11111111.11111111.11111111.11100000,转换成十进制即为 255.255.255.224

(3)推导 3:广域网路由器互联(/30 掩码)

应用场景: 本实验中的网络 5(仅用于连接路由器 0 和路由器 1)。

容量计算: 点对点链路只需要 2 个 IP 地址。主机位为 32 - 30 = 2 位。可用 IP 数刚好为 2^2 - 2 = 2个,这是极其经典且最节约地址的点对点网络划分方案。

十进制转换: 前 30 位为 1,后 2 位为 0。二进制表示为 11111111.11111111.11111111.11111100,转换成十进制即为 255.255.255.252

3.4 跨网段通信与路由表机制

路由器是实现跨网段通信的核心设备。它通过维护一张"路由表(Routing Table)"来决定数据包的转发方向。路由表中的路径来源主要分为两类:

直连路由 (Connected Route): 当路由器的物理接口配置了 IP 地址并成功激活(状态为 up)后,路由器会自动将该接口所在的网段加入路由表,通常标记为 C

静态路由 (Static Route): 对于不直接连接在路由器上的"远端网络",路由器默认是"看不见"的。必须由网络管理员手工配置,告知路由器去往该网络的路径,通常标记为 S

3.5 静态路由的"下一跳(Next Hop)"逻辑

配置静态路由的核心命令语法为:ip route [目标网络地址] [目标子网掩码] [下一跳IP]

目标网络: 数据包最终要到达的远端 CIDR 网络块(注意:此处填写的是网络地址,而非某台具体 PC 的 IP)。

下一跳 IP: 数据包离开本路由器后,下一个接收该数据包的相邻路由器接口的 IP 地址。可以将其通俗地理解为"数据包过马路时,对面的那个接应点"。

3.6 底层通信机制:ARP 与 ICMP 协议

ICMP(网际控制报文协议): 实验中使用的 ping 命令即基于此协议,用于测试两台设备间的连通性。

ARP(地址解析协议): 在局域网底层数据传输中,仅有 IP 地址是不够的,设备必须获取对方网卡的 MAC 地址(物理地址)。当路由器或 PC 知道目标的 IP,但不知道其 MAC 地址时,会发送 ARP 广播进行询问。

实验现象预判: 在首次进行跨网段 Ping 测试时,由于设备需要花费时间等待 ARP 回应以构建 MAC 地址表,往往会导致第一个或前两个 ICMP 数据包因等待超时而被丢弃(终端显示 Request timed out)。这是网络正常的"学习发现"过程,一旦 ARP 缓存建立,后续的数据包即可畅通无阻。

四、 网络拓扑构建与前期准备

4.1 物理设备的选型与部署

在 Packet Tracer 工作区左下角的设备库中,依次拖拽 8 台 PC-PT、4 台 2960 交换机和 2 台 2911 路由器至逻辑工作区,并按照预定拓扑结构进行排列。

4.2 线缆连接与 STP 状态加速

  1. 连线操作: 使用连线工具(Connections)将各设备连接起来。为简化操作,初学者可直接使用"自动选择连接类型"(带有闪电图标的线缆),系统会自动匹配直通线或交叉线。

  2. 现象观察(橙色指示灯): 连接完成后,交换机的接口处会出现橙色小圆点 。这是因为交换机默认开启了生成树协议(STP, Spanning Tree Protocol)。端口在初始接入时,需要经历监听(Listening)和学习(Learning)状态以防止网络物理环路的产生,默认需要等待约 30 秒才能进入绿色的转发(Forwarding)状态。

  3. 加速技巧: 为提高实验效率,可点击软件界面左下角的 "Fast Forward Time"(快进时间,快捷键 Alt+D 按钮,跳过 STP 的计算等待时间,使全网链路指示灯迅速变为绿色(表示物理链路已就绪)。

4.3 规范化接口显示与注释

  1. 显示接口标签: 在进行 IP 和路由配置前,明确设备间的接口对应关系至关重要。点击软件顶部菜单栏 Options -> Preferences,在弹出的窗口中勾选 Always Show Port Labels in Logical Workspace

  2. 信息记录: 此时拓扑图上会显示所有连接的接口名称(如 Gig0/0, Gig0/1 等)。建议利用软件的文本批注工具(Place Note),将接口名称、规划的 IP 地址和所属网络标记在设备旁边。标注完成后,若觉得拓扑图过于凌乱,可再次进入设置关闭全局接口显示,仅保留手写的清晰注释。


自动显示接口比较凌乱 精简后的接口显示

五、 全网 IP 地址规划与终端配置

5.1 整体网络 IP 地址分配方案

根据前期的拓扑构建与 VLSM 计算,本实验共包含 5 个独立的网络区域(4 个局域网段与 1 个路由器互联链路)。为了使各网络间能够正常路由通信,IP 地址的分配必须严格遵循以下原则:

  1. 保留地址: CIDR 地址块中的最小地址(网络地址)和最大地址(广播地址)不可分配给任何设备。

  2. 网关规范: 为方便管理,本实验统一将各个局域网的最后一个可用 IP 地址,分配给对应路由器的千兆以太网接口,作为该局域网的默认网关。

具体 CIDR 划分与接口分配方案如下表所示:

网络编号 分配的 CIDR 地址块 子网掩码 (十进制) 可用主机 IP 范围 网关 IP (路由器接口分配)
网络 1 218.75.230.32/28 255.255.255.240 .33 - .46 .46 (Router0 - Gig0/1)
网络 2 218.75.230.0/27 255.255.255.224 .1 - .30 .30 (Router0 - Gig0/0)
网络 3 218.75.230.48/28 255.255.255.240 .49 - .62 .62 (Router1 - Gig0/1)
网络 4 218.75.230.64/28 255.255.255.240 .65 - .78 .78 (Router1 - Gig0/2)
[表 1:局域网部分 (终端与路由器接口互联)]
网络编号 分配的 CIDR 地址块 子网掩码 (十进制) 可用主机 IP 范围 接口分配说明
网络 5 218.75.230.80/30 255.255.255.252 .81 - .82 Router0 (Gig0/2) 使用 .81 Router1 (Gig0/0) 使用 .82
[表 2:广域网部分 (路由器点对点互联)]

5.2 终端设备(PC)IP 配置实操

基于上述地址规划表,我们需要为网络中的 8 台计算机静态配置 IPv4 参数。正确配置默认网关是计算机能够跨越所属网段、与其他网络进行通信的前提条件。

在 Packet Tracer 工作区中,依次点击各台 PC 节点 , 选择 Desktop (桌面) 选项卡 , 打开 IP Configuration (IP 配置) 工具,勾选 Static (静态),并严格按照下表录入数据:

设备名称 IPv4 地址 子网掩码 默认网关 所属网络 (CIDR)
PC0 218.75.230.33 255.255.255.240 218.75.230.46 网络 1 (/28)
PC1 218.75.230.34 255.255.255.240 218.75.230.46 网络 1 (/28)
PC2 218.75.230.1 255.255.255.224 218.75.230.30 网络 2 (/27)
PC3 218.75.230.2 255.255.255.224 218.75.230.30 网络 2 (/27)
PC4 218.75.230.65 255.255.255.240 218.75.230.78 网络 4 (/28)
PC5 218.75.230.66 255.255.255.240 218.75.230.78 网络 4 (/28)
PC6 218.75.230.49 255.255.255.240 218.75.230.62 网络 3 (/28)
PC7 218.75.230.50 255.255.255.240 218.75.230.62 网络 3 (/28)

六、 路由器基础配置与静态路由下发

路由器通常通过其自带的 IOS(Internetwork Operating System)命令行界面进行配置。在本步骤中,我们将首先激活所有路由器的物理接口,随后为其编写静态路由表,打通全网通信链路。

6.1 路由器接口 IP 配置

进入两台路由器的 CLI 命令行界面,依次执行以下命令为各个接口分配 IP 地址,并使用 no shutdown 命令激活接口。配置完成后,拓扑图上对应的链路指示灯将由红变绿。

路由器 0 (Router 0) 接口配置:

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

Router(config)#interface GigabitEthernet0/1       //从全局配置模式进入接口Gig0/1的配置模式
Router(config-if)#ip address 218.75.230.46 255.255.255.240      //给接口配置IP地址和子网掩码
Router(config-if)#no shutdown                                   //开启接口

Router(config-if)#interface GigabitEthernet0/0                  //进入接口Gig0/0的配置模式
Router(config-if)#ip address 218.75.230.30 255.255.255.224      //给接口配置IP地址和子网掩码
Router(config-if)#no shutdown                                   //开启接口

Router(config-if)#interface GigabitEthernet0/2                  //进入接口Gig0/2的配置模式
Router(config-if)#ip address 218.75.230.81 255.255.255.252      //给接口配置IP地址和子网掩码
Router(config-if)#no shutdown                                   //开启接口

Router(config-if)#exit                              //退出到全局配置模式

路由器 1 (Router 1) 接口配置:

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

Router(config)#interface GigabitEthernet0/2       //从全局配置模式进入接口Gig0/2的配置模式
Router(config-if)#ip address 218.75.230.78 255.255.255.240      //给接口配置IP地址和子网掩码
Router(config-if)#no shutdown                                   //开启接口

Router(config-if)#interface GigabitEthernet0/0                  //进入接口Gig0/0的配置模式
Router(config-if)#ip address 218.75.230.82 255.255.255.252      //给接口配置IP地址和子网掩码
Router(config-if)#no shutdown                                   //开启接口

Router(config-if)#interface GigabitEthernet0/1                  //进入接口Gig0/1的配置模式
Router(config-if)#ip address 218.75.230.62 255.255.255.240      //给接口配置IP地址和子网掩码
Router(config-if)#no shutdown                                   //开启接口

Router(config-if)#exit                              //退出到全局配置模式

配置完成后会显示接口已经正常开启

6.2 路由表分析与规划

当上述接口配置完成并开启后,路由器会自动将自身的"直连网络"加入路由表。但为了让不同路由器背后的计算机能够互相通信,我们需要针对那些"非直连的远端网络"手工添加静态路由条目。

根据网络拓扑,两台路由器的完整路由表规划如下:

路由器 0 (Router 0) 的路由表

对于路由器 0 来说,网络 1、2、5 是直连的;网络 3、4 是远端的,需要经过右边的路由器 1(下一跳 IP 为 218.75.230.82)才能到达。

路由类型 目的网络 (Destination) 子网掩码 (Mask) 转发接口 / 下一跳 (Next Hop)
直连 (C) 218.75.230.32 255.255.255.240 Gig0/1 (连接网络1)
直连 (C) 218.75.230.0 255.255.255.224 Gig0/0 (连接网络2)
直连 (C) 218.75.230.80 255.255.255.252 Gig0/2 (连接网络5)
静态 (S) 218.75.230.48 255.255.255.240 下一跳:218.75.230.82
静态 (S) 218.75.230.64 255.255.255.240 下一跳:218.75.230.82
[路由器 0 (Router 0) 的路由表规划]

路由器 1 (Router 1) 的路由表

同理,对于路由器 1 来说,网络 3、4、5 是直连的;网络 1、2 是远端的,需要经过左边的路由器 0(下一跳 IP 为 218.75.230.81)才能到达。

路由类型 目的网络 (Destination) 子网掩码 (Mask) 转发接口 / 下一跳 (Next Hop)
直连 (C) 218.75.230.48 255.255.255.240 Gig0/1 (连接网络3)
直连 (C) 218.75.230.64 255.255.255.240 Gig0/2 (连接网络4)
直连 (C) 218.75.230.80 255.255.255.252 Gig0/0 (连接网络5)
静态 (S) 218.75.230.32 255.255.255.240 下一跳:218.75.230.81
静态 (S) 218.75.230.0 255.255.255.224 下一跳:218.75.230.81
[路由器 1 (Router 1) 的路由表规划]

6.3 静态路由条目下发实操

依据上述表格,在全局配置模式下输入 ip route 命令,正式向路由器下发静态路由。

向 Router 0 写入去往右侧网络的静态路由:

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

//添加去往网络3的路由,目标网段为.48,下一跳为Router1的接口IP
Router(config)#ip route 218.75.230.48 255.255.255.240 218.75.230.82       //添加一条静态路由条目,目的网络地址为218.75.230.48,子网掩码为255.255.255.240,下一跳地址为218.75.230.82


//添加去往网络4的路由,目标网段为.64,下一跳同样为Router1的接口IP
Router(config)#ip route 218.75.230.64 255.255.255.240 218.75.230.82     //添加一条静态路由条目,目的网络地址为218.75.230.64,子网掩码为255.255.255.240,下一跳地址为218.75.230.82

向 Router 1 写入去往左侧网络的静态路由:

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


//添加去往网络1的路由,目标网段为.32,下一跳为Router0的接口IP
Router(config)#ip route 218.75.230.32 255.255.255.240 218.75.230.81       //添加一条静态路由条目,目的网络地址为218.75.230.32,子网掩码为255.255.255.240,下一跳地址为218.75.230.81


//添加去往网络2的路由,目标网段为.0,下一跳同样为Router0的接口IP
Router(config)#ip route 218.75.230.0 255.255.255.224 218.75.230.81     //添加一条静态路由条目,目的网络地址为218.75.230.0,子网掩码为255.255.255.224,下一跳地址为218.75.230.81

七、 连通性测试与仿真抓包分析

配置完所有的 IP 和路由表后,我们需要通过发送数据包来验证全网是否真正打通。本环节将结合 Packet Tracer 的仿真抓包功能,带你深入观察数据包跨路由转发的微观过程。

7.1 测试原理与监视器配置 (Simulation 模式)

原理解析: 我们常用来测试网络的 ping 命令,其底层实际上是完全基于 ICMP(网际控制报文协议) 实现的。当你执行 ping 时,计算机会发出 ICMP 回显请求报文(Echo Request),并等待对方返回应答报文(Echo Reply)。因此,监视 Ping 测试的过程,本质上就是监视 ICMP 报文的转发过程。

配置监视器: 为了排除网络中其他无关背景流量(如交换机的 STP 报文)的干扰,我们先设置过滤器:点击软件界面右下角,从 Realtime (实时模式) 切换到 Simulation (仿真模式) 。在弹出的仿真面板中点击 Edit Filters (编辑过滤器)。在 IPv4 选项卡中,仅勾选 ICMP 和ARP两个 协议。

7.2 仿真模式下的可视化抓包观察

点击左侧网络 1 中的 PC0,进入 Desktop -> Command Prompt (命令提示符)。输入命令 ping 218.75.230.65 (跨网段 Ping 右侧的 PC4) 并回车。此时你会看到 PC0 旁边生成了一个彩色的"信封"。点击仿真面板上的 Auto Capture / Play (自动捕获/播放) 按钮。

观察现象: 你将直观地看到数据包是如何一步步走到 Router0,Router0 是如何查表发给 Router1,并最终到达 PC4 的完整动画轨迹。

7.3 实时模式 (Realtime) 测试与经典现象剖析

仿真模式动画较慢,为了快速验证全网,请点击右下角切回 Realtime (实时模式)。继续在 PC0 的命令提示符中执行以下测试:

  • 测试 1 (同网段):ping 218.75.230.34 (Ping PC1)。 结果: 4 次全部 Reply 成功(0% loss)。

  • 测试 2 (跨一跳路由器):ping 218.75.230.1 (Ping PC2)。 结果: 出现 1 次 Request timed out(请求超时),随后 3 次 Reply 成功。

  • 测试 3 (跨两跳路由器):ping 218.75.230.65 (Ping PC4)。 结果: 出现 2 次 Request timed out,随后 2 次 Reply 成功。

核心知识点:为什么会产生请求超时?

这并非配置错误,而是网络底层的 ARP(地址解析协议) 在工作的正常表现!当数据包跨网段转发时,路由器不仅要查路由表获取下一跳 IP,还必须知道下一跳设备的 MAC 地址(物理地址)。以测试 3 为例:由于是首次通信,Router0 不知道 Router1 的 MAC 地址,于是它必须暂停转发 Ping 包,转而发送 ARP 广播去询问(此时第 1 个 Ping 包因等待超时被丢弃)。同理,Router1 找 PC4 时又要发一次 ARP 广播(导致第 2 个 Ping 包超时被丢)。

验证机制: 当沿途设备的 ARP 缓存表都记录好彼此的 MAC 地址后,你紧接着再执行一次 ping 218.75.230.65,就会发现 4 个数据包全部秒通,不再有超时现象。

7.4 常见故障排查指南

如果测试中出现 4 次全部超时(100% loss)或提示 Destination host unreachable,请按以下顺序排错:

  1. 查终端: 检查源 PC 和目标 PC 的 IP 与掩码。重点检查默认网关是否漏填或填错

  2. 查接口: 检查路由器 Gig0/0, Gig0/1, Gig0/2 的 IP 是否配错?是否忘记执行 no shutdown 开启端口?

  3. 查路由: 检查 Router0 和 Router1 的静态路由表。目标网络地址(网络号)、子网掩码以及下一跳 IP 是否完全正确。

八、 实验总结

本实验通过实际搭建跨越多个网段的中小型企业网络拓扑,成功验证了 CIDR 与 VLSM 子网划分理论的正确性,并熟练掌握了 Cisco 路由器接口配置与静态路由(Static Route)的下发方法。同时,借助仿真抓包工具,深刻理解了 ICMP 与 ARP 协议在底层数据转发中的协同工作机制。

相关推荐
23zhgjx-ctl2 小时前
111111
网络·智能路由器
&&Citrus10 小时前
【CPN学习笔记(二)】Chap2 非分层颜色 Petri 网——从一个简单协议开始读懂 CPN
笔记·学习·php·cpn·petri网
古译汉书10 小时前
【IoT死磕系列】Day 9:架构一台“自动驾驶物流车”,看8种协议如何协同作战
网络·arm开发·单片机·物联网·tcp/ip·架构·自动驾驶
HXQ_晴天10 小时前
Linux 磁盘清理 & 查看常用指令笔记
笔记
哼?~12 小时前
Linux--网络基础
网络
苏渡苇13 小时前
Docker 网络完全指南
网络·docker·容器·docker容器·容器通信
小陈phd14 小时前
多模态大模型学习笔记(三十)—— 基于YOLO26 Pose实现车牌检测
笔记·学习
野指针YZZ14 小时前
XV6操作系统:trap机制学习笔记
笔记·学习
风曦Kisaki15 小时前
# Linux 磁盘查看命令详解:df 与 du
linux·运维·网络