
交换机实验这类题目几乎每个学计算机网络的同学都会碰到。大一的时候我也觉得不就是拿几台电脑连个交换机能ping通就算完事等真正把实验报告交上去、在答辩现场被老师追问了几个为什么之后才发现这个实验想拿高分靠的不是把命令敲出来而是把二层转发、广播域、VLAN这些概念在脑子里真正跑通一遍。这篇文章我就把自己做交换机实验从踩坑到通透的完整过程整理出来从环境准备讲到排错技巧连答辩会问什么也一并写了照着练完你应该可以不看老师脸色完成这份作业。1. 实验整体设计与思路拆解1.1 交换机实验在计算机网络课程中的定位交换机实验通常安排在《计算机网络》教材讲完物理层和数据链路层之后谢希仁版教材里对应的就是以太网、CSMA/CD、MAC地址、帧格式这些章节。这个位置安排得非常巧妙你刚学完理论知道以太网帧里有目的MAC和源MAC知道交换机通过MAC地址表来转发帧但这些知识全是纸上谈兵交换机实验就是拿来验证这些理论的。对照湖科大教书匠那套课程视频、王道考研的408辅导书你会发现它们都在强调同一件事交换机是二层设备它不关心IP地址只关心MAC地址。但很多同学做实验的时候满脑子还是ping通了配置成功没有把MAC地址表自学习机制这层逻辑捋清楚导致实验结果看起来对实际上根本没理解。这个实验在整门课里的地位相当于理论到实践的第一座桥。它不像路由器实验那么复杂不涉及路由协议、子网掩码计算但它引入了所有网络设备配置的基础操作——命令行接口、特权模式、接口配置、show命令排查。这些基本功不打好后面做路由器实验、ACL实验、DHCP实验都会非常吃力。换句话说交换机实验是后续所有实验的地基。1.2 实验目标不是配通而是讲清楚我见过不少同学的实验报告拓扑图一模一样配置代码一模一样ping结果都是通的但老师给分却差了不少。差别在哪里差别在报告里有没有回答清楚这几个问题交换机在没有配置任何内容的时候为什么两台电脑能互相ping通当你把网线从hup换成交换机冲突域发生了什么变化划分VLAN之后为什么有些电脑突然ping不通了交换机的MAC地址表是如何建立和更新的这些问题的答案才是实验的核心价值。配置命令在网上搜一大把真正值钱的是你能否用一个外行能听懂的方式解释清楚交换机怎么知道该把帧转发到哪个接口。例如单播帧的转发流程是这样的交换机收到一个帧先看源MAC把它记录进MAC地址表再看目的MAC查表如果表里有对应条目就只往那个接口转发如果表里没有就向除了接收接口以外的所有接口泛洪广播。这就是典型的自学习泛洪机制。如果你的实验报告里能画出这个流程图不是mermaid是用文字配合箭头表格描述并且配上第一次通信时因为目的MAC未知所以会泛洪到所有端口这样的观察记录这份报告的质量就已经超过80%的人了。2. 实验环境准备与核心概念预热2.1 模拟器选型为什么我推荐Packet Tracer做交换机实验面前有两条路真机和模拟器。真机实验需要去实验室预约时间固定、设备有限而且交换机一旦配置出错恢复原厂设置还得找老师帮忙。模拟器则自由得多在家里就能反复练。主流的模拟器就那么几个Cisco Packet Tracer、GNS3、EVE-NG、华为的eNSP。做交换机二层实验我的建议非常明确用Packet Tracer。原因有三个第一Packet Tracer是思科官方出的教学软件对CCNA级别的交换机实验覆盖得非常完整从最基本的VLAN划分到STP、链路聚合、端口安全都能做。第二它自带图形化拓扑界面拖拽设备、连线、配置都是可视化操作特别符合实验报告里拓扑图配置过程的叙事逻辑。第三它对电脑配置要求极低一个不到200MB的安装包集显笔记本跑起来都毫无压力。GNS3和EVE-NG更适合进阶场景比如跑路由协议、需要加载真实IOS镜像的情况。做交换机实验用它们属于杀鸡用牛刀还得自己准备镜像文件版权和配置门槛都麻烦。至于eNSP除非你们课程用的是华为设备否则没必要折腾。提示如果你用的是Packet Tracer 8.x版本注意在Preferences里把Interface的显示方式调成Logical或者Physical随你习惯建议用Logical模式配置窗口操作更顺手。另外实验做完一定要养成保存.pkt工程文件的习惯不然后面想补充实验步骤只能重头再来。2.2 交换机硬件认知与控制台登录很多同学第一次见到交换机实物看到背面那一排排网口就发怵。其实你只需要关注几个关键点。常见的思科2960交换机前面板上有24个FastEthernet口百兆、2个GigabitEthernet口千兆、1个Console口。Console口是管理端口形状和普通网口不一样通常标注为Console或者CONSOL需要用专门的Console线连接电脑的串口或USB口。这也是交换机配置的入门操作第一次配置交换机没有任何IP只能通过Console线直连来登录。在实际实验课上老师给你的电脑可能已经装好了SecureCRT或者Putty这类终端软件。连接参数一般是波特率9600数据位8停止位1无校验无流控。在Packet Tracer里模拟的时候你需要先给交换机加一台PC或者直接用PC的终端模式连接Console口设置好参数就能进去了。这里有个容易踩的坑——电脑如果没有识别到串口设备检查一下是不是没有安装USB转串口的驱动或者COM口号选错了。登录成功之后你看到的界面就是交换机的命令行接口也就是CLI。这里所有的操作都是输入命令完成的记住一个口头禅不会的命令就打问号。任何命令单词后面加个?交换机会告诉你接下来的参数是什么这个技巧在做实验的时候能救你无数次。3. 交换机基础配置实操让两台设备真正通信3.1 命令行模式与基础配置命令交换机的命令行模式分为几个层级不同层级能执行的命令权限不同。理解这个层级结构是掌握CLI的第一步。我把它类比成手机系统的不同权限界面普通用户模式就是锁屏只能看时间不能改设置特权模式就是输入密码解锁可以查看所有状态但不能修改配置全局配置模式就是设置主界面可以修改系统参数接口配置模式就是某个App的设置页只能修改这个接口的参数。从用户模式进入特权模式输入enable如果设置了enable密码会提示输入。从特权模式进入全局配置模式输入configure terminal可以简写为conf t。进入接口配置模式输入interface fastethernet 0/1简写为int fa 0/1。退出当前层级用exit想退回用户模式用end。常见的基础配置命令如下表所示目标命令说明设置主机名hostname SW1方便在命令行提示符中辨识设备设置enable明文密码enable password cisco进入特权模式的密码明文存储设置enable密文密码enable secret cisco使用MD5哈希存储更安全配置管理IPinterface vlan 1 ip address 192.168.1.2 255.255.255.0用于Telnet/SSH远程管理开启远程管理line vty 0 4 password cisco login允许虚拟终端登录查看MAC地址表show mac address-table核心验证命令查看接口状态show interfaces status查看接口up/down、所属VLAN这些命令不需要背多用几次自然就熟了。但实验报告里写的时候要注意命令不要写成一行连串的分号要分段展示并在命令后面用注释说明这条命令的作用。这样老师一眼就能看出你不是在复制粘贴。3.2 实验拓扑搭建与连通性验证我在Packet Tracer里搭的实验拓扑很简单一台2960交换机SW1两台PCPC0和PC1分别连接到SW1的FastEthernet0/1和FastEthernet0/2接口。PC0的IP地址配置为192.168.10.1/24PC1配置为192.168.10.2/24。实验内容也很直观默认情况下两台PC能不能互相ping通答案是能。因为交换机出厂默认所有接口都在VLAN 1中属于同一个广播域而且这里没有跨网段所以PC0发起的ARP广播请求会到达所有接口PC1收到后回复ARP应答交换机看到PC0的请求MAC表还没建立完整会对这个广播帧进行泛洪于是PC1就能收到。随后的ICMP echo请求和应答就能正常到达。做完ping通验证之后别急着往下走。先做一件重要的事在两台PC之间连续ping几次然后到交换机上执行show mac address-table。你会看到类似下面的输出Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 1 0050.7966.6789 DYNAMIC Fa0/1 1 0050.7966.3456 DYNAMIC Fa0/2这两行记录说明交换机已经把PC0和PC1的MAC地址分别学习到了Fa0/1和Fa0/2接口上而且是动态学习来的。这个操作一定是实验报告里的惊鸿一笔——因为大部分同学的实验报告只写了ping通的结果没有记录MAC地址表的变化过程。你把这个观察写进去报告深度马上不一样。注意MAC地址表条目是有老化时间的默认是300秒。如果你长时间不通信交换机就会把这条记录删掉下次通信时重新学习。这也是为什么长时间没ping突然第一次ping会慢一下的原因。这个知识点谢希仁教材在以太网交换机一节里专门提到过实验报告里可以顺手引用。3.3 理解观察命令show命令家族做实验不可能黑盒操作你必须要学会用show命令透视交换机内部的工作状态。这里我整理几个最常用的show命令并告诉你每条命令主要看什么show running-config显示当前运行配置。做完任何修改先执行这条命令确认配置真的生效了。show vlan brief显示VLAN概况。这是划分VLAN后最关键的验证命令能看到每个VLAN的编号、名称和包含的接口。show mac address-table显示MAC地址表。观察学习过程排查通信故障时尤其有用。show interfaces status显示接口状态。VLAN划分后如果电脑ping不通第一条就查这个看看接口是不是down了或者是不是port in error-disabled状态。show interfaces trunk显示Trunk口状态。跨交换机配置VLAN时查这条命令确认Trunk链路两端都协商成功了。你要记住一个原则所有配置实验做完一步就show验证一步写完报告之后附上show的输出截图既是给自己确认也是给老师一个清晰的证据链。4. VLAN实验从认知到实战4.1 VLAN到底解决了什么问题VLAN虚拟局域网翻译成大白话就是把一台物理交换机切成好几台逻辑交换机。为什么要这么做很简单因为默认情况下交换机所有端口都在同一个广播域一台设备发广播帧所有设备都能收到。当网络规模变大广播帧越来越多整个网络的性能就会被拖垮。VLAN的出现就是为了分割广播域。划分VLAN之后同一个VLAN里的设备才能互相通信不同VLAN之间默认是隔离的广播帧只会在本VLAN内传播。你可以把VLAN想象成一栋写字楼的楼层不同公司租了不同楼层楼内的电梯和门禁系统保证了人员只能到达自己公司的楼层互相不会串门。这个比喻用在你实验报告的概念引入部分非常合适老师一看就知道你不是在背定义。但要注意比喻结束之后要立刻回到技术本身VLAN的隔离实际上是二层隔离交换机在转发帧的时候不仅查目标MAC地址表还要查这个MAC地址表条目属于哪个VLAN。如果帧的源VLAN和目的MAC所在VLAN不一致直接丢弃。这个机制在配置完VLAN之后用两个不同VLAN的PC互相ping然后看结果和MAC地址表就完全明白了。4.2 单交换机VLAN划分实操接下来我在SW1上的操作是这样的创建VLAN 10技术部和VLAN 20行政部把Fa0/1划分到VLAN 10Fa0/2划分到VLAN 20。命令如下Switch enable Switch# configure terminal Switch(config)# vlan 10 Switch(config-vlan)# name Technology Switch(config-vlan)# exit Switch(config)# vlan 20 Switch(config-vlan)# name Administration Switch(config-vlan)# exit Switch(config)# interface fastethernet 0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# exit Switch(config)# interface fastethernet 0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 20 Switch(config-if)# end注意switchport mode access这条命令的含义是把接口指定为access口接入模式也就是连接终端设备的端口模式。只有在这种模式下switchport access vlan 10才能正常生效指定该接口属于VLAN 10。然后我把PC0的IP改成192.168.10.1/24属于VLAN 10的网段把PC1的IP改成192.168.20.1/24属于VLAN 20的网段。这是为了符合不同VLAN使用不同网段的常规设计方便管理和区分。这时候再做连通性测试PC0 ping PC1结果是不通的。这个结果很重要一定要记录在报告里。然后你再到交换机上执行show vlan brief会看到VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/3, Fa0/4, ... 10 Technology active Fa0/1 20 Administration active Fa0/2看到没有Fa0/1不再在VLAN 1里了VLAN 1的列表里只剩下了其他空闲接口。这就是VLAN划分的直接效果。这个实验就是让读者理解VLAN隔离了广播域没有路由功能二层设备是不能跨VLAN转发的。4.3 跨交换机VLAN通信与Trunk链路配置如果你只在单台交换机上做VLAN实验那还只是一个入门认知。实验课老师十有八九会把题目升级成两台交换机两个部门各跨一台设备的场景。这时候就牵扯出交换机在多设备场景下的关键配置——Trunk链路。想象一下你有两台交换机SW1和SW2每台上面都有VLAN 10和VLAN 20的PC它们之间用一条网线连接。如果不做任何配置两台交换机之间的链路只属于VLAN 1那么VLAN 10的帧过不去VLAN 20的帧也过不去。要让多个VLAN的帧都在同一条链路上传输就需要把这条链路配置成Trunk口。Trunk的中文叫干道作用是允许多个VLAN的帧通过同一物理链路实现跨交换机传输。配置Trunk的命令如下两端交换机都要配Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# switchport mode trunk思科2960默认使用802.1Q封装格式在Trunk口上会为每个帧打上VLAN标签这样对端交换机就能识别这个帧属于哪个VLAN。这个机制实验报告里要重点画帧格式的对比普通access口收到的帧没有标签untaggedtrunk口发送出去的帧带有4字节的VLAN Tag。配置完Trunk之后再做一次PC间的通信测试。你会发现SW1上VLAN 10的PC和SW2上VLAN 10的PC能ping通和SW2上VLAN 20的PC不能ping通。这个结果直接验证了Trunk链路的作用——它只是拓宽了道路让不同VLAN的车可以并行通过但没有改变VLAN的隔离规则不同VLAN之间依然不通。注意配置Trunk口时有个很经典的坑——接口默认可能被shutdown了或者两端模式的协商不一致导致接口down比如A端配了trunkB端忘了配或者配成access。如果跨交换机ping不通先show interfaces trunk看到Port Mode Encapsulation Status那一列留意Status是不是trunking不是就重新检查两端的配置。4.4 VLAN间路由实验的加分项跨VLAN ping不通这个结果很多实验报告到此就结束了。但如果你想拿高分我建议顺手做一个VLAN间路由的扩展实验。做法很简单再拉一台三层交换机配置SVI接口也就是为每个VLAN创建一个虚拟三层的网关接口实现两个VLAN之间的三层互通。在三层交换机上的核心配置是这样的Switch(config)# interface vlan 10 Switch(config-if)# ip address 192.168.10.254 255.255.255.0 Switch(config-if)# no shutdown Switch(config)# interface vlan 20 Switch(config-if)# ip address 192.168.20.254 255.255.255.0 Switch(config-if)# no shutdown然后把接入层交换机SW1上Fa0/3接口原本连接三层交换机的接口改成access模式划到VLAN 10或者干脆做成trunk让所有VLAN都过再把PC的网关分别指到192.168.10.254和192.168.20.254。这时候再去ping两个VLAN之间就通了。这个扩展实验虽然不在大部分作业的必选范围内但它把二层隔离和三层互通这条链路串起来了让你理解为什么VLAN隔离并不是网络隔离的终点。在实验报告里加一个小节的扩展思考明确说明默认VLAN之间不互通需要三层设备的介入才能实现跨VLAN通信老师看到这个印象分会直接拉满。5. 常见问题与排查技巧实录5.1 ping不通时到底先查什么我见过太多人一ping不通就开始清空配置重来这是效率最低的做法。交换机实验的排查是有固定套路的核心思路是从底层往上层查先用show命令确认物理层、数据链路层状态再考虑IP配置和VLAN划分的问题。一份我总结的快速排查表放在这里大家在实验排错时直接照着查现象可能原因排查命令解决方案接口不亮/显示down网线没插好、对端设备关机show interfaces status检查网线、启动对端设备接口显示err-disabled检测到环路或违规流量show interfaces status先shutdown再no shutdown恢复同一VLAN ping不通PC IP设置错误ipconfig / ping 127.0.0.1检查PC IP、掩码、网关同一VLAN ping不通PC没配在同一网段show vlan brief确认PC的IP网段一致不同VLAN ping不通二层隔离未配置路由show vlan brief按教学要求保持不通或加三层跨交换机同VLAN不通Trunk配置错误show interfaces trunk两端都配置trunk、检查封装广播风暴/全网慢网络成环show mac address-table跳变配置STP或排查物理环路这里特别要提醒的是接口err-disabled这个状态很多同学从来没遇到过但在实验课的环境里因为交换机接口配置错乱err-disabled还挺常见的。它本质上是交换机检测到接口出现了异常流量比如端口安全违规、环路风暴自动把这个接口给保护性关闭了。恢复命令也很直白进到该接口执行shutdown再执行no shutdown有时候就是这么简单却能解决大问题。5.2 配置保存与设备恢复实验课上你可能会遇到这种情况配置到一半断电了重新开机发现之前的配置全没了或者嫌弃自己配乱了想恢复到出厂状态。这里就涉及到两个常见的操作场景。场景一保存配置。在特权模式下输入write或者copy running-config startup-config将当前运行配置写入启动配置。如果不保存断电重开就回到出厂状态了。有小部分同学会抱着我等会还要改的心态不保存但实验结果提交前记得一定手动保存一下否则实验验收时设备一重启你之前做的一堆配置全部消失到时根本来不及补救。场景二恢复出厂。在特权模式下输入erase startup-config然后reload重启交换机设备就会回到出厂状态。这个操作在做多台设备联调实验时非常常用因为你做完一台就要接着做下一台设备不清空重制容易残留上一组的配置导致各种奇怪问题。两个字养成习惯每台设备动手前先确认它的running-config是不是干净的。5.3 实验报告与答辩的避坑经验最后聊聊实验报告和答辩。很多同学实验做得很顺畅但一到写报告就只会把命令列表附上去完全没有分析。根据我帮老师批改作业的经验一份85分以上的实验报告一般应该包含这几个要素第一拓扑图清晰。不要截图设备连接完之后一堆乱线的拓扑图用Packet Tracer自带的绘图功能把网络区域框出来或者用Visio自己画一张干净的逻辑拓扑图标明接口编号和IP地址。第二配置过程分解。不要贴一段完整无注释的配置而是按照开启VLAN-划分接口-验证的顺序配合show命令输出来呈现。第三结果分析与思考。ping通不是结果你要写清楚为什么能通和为什么又不通了。答辩环节老师最爱问的其实是发散性问题。比如如果把交换机的某条网线拔了再插回去MAC地址表会怎样、如果网络中出现了环路交换机怎么处理、Trunk口和access口有什么区别。这些问题都在我们前面实验的覆盖范围内你只要把原理摘出来结合实验的现象说通基本不会卡壳。多说一句如果你做实验用的是Packet Tracer注意不要直接导出整个工程的答案发给同学仿真软件里你可能无意间用了另外一台设备的配置这种抄作业式的传阅非常容易被识破而且自己再上手还是不会。还不如把报告里的思路和排错流程分享出来互相学习才是实验的意义。我在从不会到通的过程中最深的体会是交换机的配置命令就那么几条难的是脑子里那张转发决策表。什么时候查目的MAC、什么时候泛洪、什么时候打标签这些逻辑捋顺了后面学路由器、学三层交换机你都会发现整个网络体系的学习进度明显提速了。这份实验作业值得你多花些时间把它吃透。