跳到主要内容

Lab3 使用三层交换机组网 详解版

实验资源

2025-10-28 18:50:00>>>2025-11-11 23:59:59

1 实验目的

在Lab2中,我们已经掌握了如何使用VLAN将一个物理局域网隔离成多个逻辑上的广播域,但这也带来了新的问题:处于不同VLAN的设备默认无法互相通信;本次实验,我们将深入探索网络层,学习如何打破VLAN间的壁垒,实现跨VLAN的数据交换

通过本次实验,你将:

  • 掌握并比较“单臂路由”与“三层交换”这两种主流的VLAN间路由技术
  • 学习在路由器上配置子接口,理解其在逻辑上分割物理接口的原理
  • 学习并实践三层交换机的工作机制与配置方法,感受其高效的路由转发性能

2 实验数据记录和处理

提示

以下实验记录均需结合屏幕截图,进行文字标注和描述,图片应大小合适、关键部分清晰可见,严禁手机拍屏,可直接在图片上进行标注,也可以单独用文本进行描述

记录所使用的命令时,请保留命令前面的提示符,如Switch2#Router(config)#

2.1 单臂路由

背景知识:为什么VLAN间需要路由?

我们在上一个实验中学习到,VLAN的核心作用是在数据链路层(二层)实现网络隔离,将广播帧限制在各自的VLAN内部;这极大地提升了网络的安全性和性能,但也带来一个必然结果:不同VLAN的设备在二层上是完全“老死不相往来”的

然而在真实的网络环境中,不同部门(如销售部和技术部)的设备往往需要互相访问共享资源,这就产生了VLAN间通信的需求;由于二层交换机无法跨越VLAN的边界,这个任务就必须交给能够在不同网段间转发数据包的网络层(三层)设备来完成,这个过程就是VLAN间路由

本节我们将学习第一种实现VLAN间路由的技术——单臂路由(Router-on-a-Stick)

1

搭建基础网络拓扑并配置VLAN

首先,我们构建一个包含两个逻辑隔离网络的基础环境;将2台PC和1台路由器连接至同1台二层交换机,随后在交换机上创建新的VLAN,并将2台PC所连接的端口分别划入不同的VLAN;为这2台PC配置分属不同网段的IP地址,从而在逻辑上彻底将它们分隔在两个独立的子网和广播域中

注意

由于实验室三层交换机(CX3560)数量有限(仅23台,不足以满足全部小组同时实验),本步骤中请尽量不要使用三层交换机代替二层交换机,以便让同学们均能正常完成实验;如三层交换机不足,可考虑和其他小组错开实验,即一组先进行单臂路由部分实验,另一组同时进行三层交换部分实验

这一步是后续所有配置的基础,它模拟了企业网络中不同部门被划分到不同VLAN的典型场景

img

2

验证VLAN间隔离

接下来,我们验证上一步VLAN划分是否成功生效:在两台PC上互相尝试用Ping命令通信

预期的结果应该是不通的;这是因为它们处于不同的VLAN,二层交换机会将它们的广播(如ARP请求)和单播流量严格限制在各自的VLAN内部,这也验证了我们确实需要一个三层设备来打破这种隔离

img

3

配置Trunk端口

背景知识:为何交换机与路由器之间需要Trunk

路由器要实现VLAN间路由就必须能够同时接收和发送来自多个VLAN的数据,而如果我们为每个VLAN都用一根单独的物理网线连接到路由器的不同物理端口,当VLAN数量很多时将会极大地浪费路由器上宝贵的物理接口资源

Trunk链路能帮我们解决这个问题,它允许单一物理鏈路承载多个VLAN的流量,交换机会在发送数据帧到Trunk链路前,为其打上802,1Q标签以标明其所属的VLAN,路由器接收到带标签的帧后,就能识别出它来自哪个VLAN,从而进行正确的路由处理

将二层交换机和路由器连接的端口配置成VLAN Trunk模式(原理与配置方法请参考Lab2,无需截图),使其能够承载来自不同VLAN的数据流量

例:配置命令(示例为GNS3模拟的配置截图,使用实际设备请参考实验2)

例:配置后的结果(示例为GNS3模拟的结果截图,使用实际设备请参考实验2)

4

配置路由器子接口实现单臂路由

背景知识:子接口——路由器的“虚拟网卡”

子接口Subinterface)是一项将单个物理路由器接口在逻辑上划分为多个虚拟接口的技术;在单臂路由场景中,我们为每个需要路由的VLAN都创建一个对应的子接口;

每个子接口都可以被独立配置IP地址,并与一个特定的VLAN ID绑定(通过encapsulation dot1q命令);这样一来,每个子接口就成为了对应VLAN网络的默认网关,监听并处理来自该VLAN的数据包;当路由器从一个子接口(例如VLAN 1的网关)收到一个目标地址在另一个VLAN(例如VLAN 2)的数据包时,它会查询自己的路由表,然后将这个数据包从另一个子接口(VLAN 2的网关)转发出去,从而巧妙地利用逻辑接口实现了VLAN间的通信

现在我们开始配置单臂路由的核心部分:

  1. 连接路由器的Console口,进入路由器的配置模式
  2. 在路由器连接交换机的端口上创建2个子接口(命令:interface [type] [slot/unit.sub],如:interface e0/1.1
  3. 配置子接口所属的VLAN(命令:encapsulation dot1q VLAN编号
  4. 使用与2台PC一致的子网,分别给2个子接口配置IP地址
  5. 激活接口和两个子接口(命令:no shutdown
记录配置命令
正在加载功能...
5

配置PC的IP地址和默认网关

背景知识:默认网关——跨网段通信的“出口”

当一台PC(源)要发送数据包给另一台设备(目的)时,它首先要做一个关键判断:目的设备是否与自己在同一个子网内?

这个判断过程如下:

  • PC用自己的子网掩码和自己的IP地址进行“与”运算,得出自己所在的网络地址
  • PC用自己的子网掩码和目的IP地址进行“与”运算,得出目的设备所在网络的地址

如果两个网络地址相同,说明目标就在“本地”,PC会通过ARP协议获取对方的MAC地址,然后直接在二层将数据帧发给对方;

如果两个网络地址不同,说明目标在“远方”,PC无法直接送达,必须把这个“快递”交给一个能通往其他网络的“中转站”,这个中转站就是默认网关(Default Gateway);此时,PC会通过ARP获取默认网关的MAC地址,然后将数据包发给网关(数据包中的目标IP仍然是最终目的设备,但数据帧的目标MAC是网关的MAC),由网关负责后续的路由转发

因此,为PC正确配置默认网关,是其能够访问外部网络或不同VLAN的关键一步

为了让PC能够将跨网段的流量发送给路由器处理,我们必须为其正确配置默认网关

请根据拓扑图,为两台PC设置静态IP地址,并将其默认网关分别设置为对应VLAN的路由器子接口的IP地址;这个配置告诉PC:“凡是要发送到本地子网以外的数据包,都请发给这个网关地址”,这样路由器才能接管跨VLAN的通信任务

img

6

测试PC与路由器子接口连通性

在进行最终的跨VLAN连通性测试之前,先做一个基础验证;分别在两台PC上Ping它们各自的默认网关地址(即路由器上对应的子接口IP);如果能Ping通,说明PC到路由器的三层链路是通畅的,这是实现VLAN间路由的前提

img

7

测试PC间互相连通性

现在是见证成果的时刻,请测试两台分属不同VLAN的PC能否互相ping通

如果配置正确,此时应该能够Ping通,数据包经过源PC → 交换机 → (Trunk链路) → 路由器子接口 → 路由器内部路由 → 另一个路由器子接口 → (Trunk链路) → 交换机 → 目的PC的路径到达目标主机;这个测试的成功标志着我们已经成功配置了单臂路由

img

8

查看路由器路由表

为了理解路由器是如何做出转发决策的,请查看并截图它的“导航地图”——路由表

使用show ip route命令,你会看到路由表中出现了两条标记为C(Connected)的直连路由,分别对应我们配置的两个子接口所在的网段;正是因为这两条路由的存在,路由器才知道如何将数据包从一个VLAN的网段转发到另一个VLAN的网段

img

9

记录路由器运行配置

记录路由器上的运行配置(命令:show running-config),复制粘贴本节相关的文本(完整内容请放在文件中,命名为R1.txt,随报告压缩提交)

记录相关配置
正在加载功能...

2.2 三层交换

背景知识:三层交换——更高效的VLAN间路由

单臂路由虽然能解决VLAN间通信问题,但它存在明显的性能瓶颈:所有跨VLAN的流量都必须经过同一根物理链路进出路由器,这根链路很容易成为网络拥堵点;此外,路由器的转发处理是基于CPU的,当流量巨大时性能有限

三层交换Layer 3 Switching)技术应运而生,它在硬件层面集成了二层交换和三层路由功能,可以在交换机内部实现高速的VLAN间数据包转发,无需再外接路由器;执行三层交换功能的设备被称为三层交换机或多层交换机

相比单臂路由,三层交换的优势在于:

  • 线速转发:路由过程由专门的ASIC硬件处理,速度远快于路由器的软件转发,可以达到“线速”(即不低于链路的理论最大速率)
  • 高吞吐量:内部总线带宽远高于外部链路,避免了单臂路由的瓶颈
  • 简化拓扑:无需额外连接路由器,网络结构更简洁

本节,我们将体验这种更现代、更高效的VLAN间路由方式

1

搭建三层交换网络拓扑

我们将在第一部分的基础上改造网络,用三层交换机替代路由器;

注意

如果你在未完成第一部分的情况下进行本部分的实验,请先完成第一部分中非路由器部分的配置,否则无法正常实验

请注意拓扑图中PC3/4的VLAN分配,往年有很多同学不慎错误配置

  1. 移除路由器,将二层交换机与一台三层交换机互联
  2. 新增两台PC(PC3、PC4)直接连接到三层交换机上
  3. 规划并为新PC分配所在VLAN内的合适IP地址,并在图中标记各设备的IP地址和VLAN

img

2

配置三层交换机VLAN

与二层交换机一样,三层交换机也需要先创建VLAN并分配端口

  1. 在三层交换机上增加1个VLAN
  2. 将直连的两台PC(PC3、PC4)的端口分别划入不同的VLAN中;这一步的操作与在二层交换机上完全相同,因为三层功能是构建在二层基础之上的
  3. 查看并截图记录配置结果(命令show vlan或者show vlan-switch

img

3

配置VLAN接口IP地址

现在,我们为VLAN创建三层接口;

  1. 进入全局配置模式
  2. 使用interface vlan [VLAN ID]命令为之前创建的两个VLAN分别创建SVI(交换虚拟接口,概念介绍参见Lab2)
  3. 使用ip address IP地址为每个SVI配置IP地址,作为对应VLAN的网关
记录配置命令
正在加载功能...
4

启用三层交换机路由功能

默认情况下,许多多层交换机仅作为纯二层设备工作,以防止意外的路由行为;我们需要在全局配置模式下使用ip routing命令,明确地开启它的三层路由功能,这样它才能构建路由表并执行数据包的路由转发

5

配置PC的IP地址和默认网关

与之前类似,客户端PC需要知道它们的网关在哪里;请按照拓扑图为PC3和PC4配置IP地址,并将它们的默认网关分别设置为三层交换机上对应VLAN的SVI接口IP地址

img

6

测试PC与VLAN接口连通性

测试PC3、PC4能否Ping通各自的VLAN接口地址,确保三层链路成功建立

img img

7

测试PC间互相连通性

测试三层交换机内部的VLAN间路由功能,请尝试在PC3和PC4之间互相Ping,此时数据包应该能够在三层交换机内部被高速路由转发实现通信

img

8

测试跨交换机VLAN间连通性

现在我们来测试一个更复杂的场景:连接在二层交换机上的PC与连接在三层交换机上的PC之间的通信;请分别尝试从PC1 Ping PC4、从PC2 Ping PC3;你会发现它们之间无法通信,这暴露了我们当前配置中的一个缺陷

img

img

9

配置三层交换机Trunk端口

先思考无法Ping通的原因,再点开这里

上一步测试失败的原因与单臂路由中遇到的问题类似:二层交换机和三层交换机之间的链路默认是Access模式,只能传输单个VLAN的流量;当PC2(VLAN 2)的数据包想到达作为网关的三层交换机时,由于链路只允许默认VLAN通过,数据包在二层就被丢弃了;因此,我们必须将两台交换机之间的互联链路配置为Trunk模式,以确保所有VLAN的流量都能顺畅地到达三层交换机进行路由

在三层交换机上把与二层交换机互联的端口设置成Trunk模式

记录配置命令
正在加载功能...
10

重新测试PC间连通性

在配置好Trunk链路后,再次进行跨交换机的VLAN间连通性测试;此时之前不通的路径应该已经可以Ping通了,这证明Trunk链路成功地将所有VLAN的流量都传递给了三层交换机,使其能够为整个网络提供路由服务

img

11

查看三层交换机路由信息

与路由器一样,三层交换机也维护着一张路由表来指导其转发决策;请使用show ip route命令,查看并截图三层交换机的路由信息,你会看到与每个已配置并激活的SVI相对应的直连路由

img

12

记录三层交换机运行配置

记录三层交换机上的当前运行配置,复制粘贴本节相关的文本(完整内容请放在文件中,命名为S2.txt,与报告一同压缩提交)

记录相关运行配置
正在加载功能...

3 实验结果与分析

根据你观察到的实验数据和对实验原理的理解,分别解答以下问题:

  • 为什么路由器的端口可以配置IP地址,而三层交换机的端口跟二层交换机一样不能配置IP地址?
  • 本实验中为什么要用子接口?有什么好处?使用物理接口可以吗?
  • 直连三层交换机的PC的默认路由器地址应该设为什么?
  • 三层交换机和二层交换机互联时,连在二层交换机上VLAN2的PC为什么Ping不通连在三层交换机上VLAN 1的PC?
  • Ping测试时,为什么一开始有几次不通,后面又通了?
  • 既然路由器可以实现VLAN间数据交换,为何还要设计三层交换机呢?

4 常见问题

5 导出实验报告