Packet Tracer实验:集线器与交换机工作原理及VLAN配置详解
简介这份文档面向计算机网络课程的初学者与实验课学生聚焦交换机与集线器两种连接设备的工作原理差异帮助读者通过 Cisco Packet Tracer 仿真实验理解二层转发机制与冲突域、广播域等核心概念。资源包共 1 个 doc 文件约 1.34MB内容为完整的实验报告涵盖实验目的、实验内容、思考题解答与实验感想等模块。文档详细记录了集线器广播转发与交换机基于 MAC 地址转发表的自学习算法并设计了三种典型场景转发表无目标端口时泛洪、来源端口与目标端口相同时丢弃、目标端口已知时精确转发同时配有思考题解析说明集线器共享介质易产生冲突、交换机端口独立但可能因环路引发广播风暴以及两者扩大网络规模时对性能的不同影响。目前已有 3406 人学习下载适合需要完成实验报告、复习设备原理或准备网络基础考核的读者参考。1. 从一份实验报告说起为什么集线器和交换机的区别值得动手拆一遍很多人第一次接触计算机网络都是从“集线器和交换机到底差在哪”这个问题开始的。课本上写得很清楚集线器工作在物理层收到单播包也往所有端口灌交换机工作在数据链路层靠 MAC 地址转发表做定向转发。但真到了要给别人讲清楚、或者自己动手配一个能跑通的小型局域网时光背结论是不够的。这份《实验一交换机和集线器的工作原理》实验报告就是一份典型的 Packet Tracer 仿真实验记录覆盖了集线器广播行为、交换机自学习算法、ARP 协议工作过程以及 VLAN 广播域隔离四个核心实验。它适合正在学计算机网络、需要交实验报告、或者想用仿真工具把二层转发逻辑跑一遍的人。接下来我不复述报告原文而是把它拆成能照着复现的操作路径顺带把几个容易翻车的地方标出来。2. 用 Packet Tracer 搭出集线器与交换机的对比拓扑从 4 台主机到 5 台主机2.1 为什么选 Packet Tracer 而不是真机做二层转发实验真机当然可以但有几个现实问题你需要至少两台交换机、一台集线器现在市面上已经很少见、若干台 PC还得配串口线或者 console 线。成本高、占地方而且集线器本身已经基本被淘汰买回来也只能做实验。Packet Tracer 的好处是它把集线器和交换机都做成了可拖拽的模块仿真模式下能逐帧查看数据包的转发路径事件列表里会明确写出“转发到所有端口”还是“转发到指定端口”。常见做法是先用 Packet Tracer 把逻辑跑通理解清楚冲突域和广播域的变化再考虑要不要上真机验证。选型上有一点要注意Packet Tracer 的集线器模块默认就是物理层设备你不需要做任何配置插上线就能用。交换机模块默认所有端口在 VLAN1自学习算法自动开启也不需要额外命令。这跟真机不一样——真机交换机你至少得进 console 看一眼端口状态。所以仿真环境里“能通”不代表真机上“能通”这是后面避坑部分要展开的。2.2 集线器拓扑的搭建与观察先搭集线器那组4 台主机加 1 个集线器。IP 地址规划用 192.168.1.0/24PC1 到 PC4 分别配 192.168.1.1 到 192.168.1.4子网掩码 255.255.255.0。物理连接全部用直通线接到集线器端口。配完之后先别急着发数据切到 Simulation 模式把过滤器设成只显示 ICMP 和 ARP这样事件列表不会被无关包刷屏。# Packet Tracer 里没有命令行配置集线器的说法 # 但主机的 IP 配置可以在 Desktop - IP Configuration 里完成 # 以下是对应的地址规划方便你对照检查 PC1: 192.168.1.1/24 PC2: 192.168.1.2/24 PC3: 192.168.1.3/24 PC4: 192.168.1.4/24 Hub0: 无需配置物理层设备配好之后用 PC1 去 ping PC2。在 Simulation 模式下点“Play”你会看到第一个包是 ARP 请求源 MAC 是 PC1 的目的 MAC 是 FF:FF:FF:FF:FF:FF从集线器进去之后被复制到除接收端口以外的所有端口。PC3 和 PC4 也会收到这个 ARP 请求只是它们发现目标 IP 不是自己所以不回应。ARP 应答回来之后ICMP 请求包同样被集线器广播到所有端口。这就是集线器的核心行为它不查表只做电信号复制。这里有个参数值得留意集线器所有端口共享同一个冲突域。也就是说如果 PC1 和 PC3 同时发包两个信号会在集线器内部叠加导致冲突。Packet Tracer 在 Simulation 模式下会用一个红色的“碰撞”图标标出来。你可以试着让两台主机同时 ping 不同目标观察事件列表里是否出现冲突标记。这个现象在交换机拓扑里不会出现因为交换机每个端口是独立的冲突域。2.3 交换机拓扑的搭建与自学习过程交换机那组需要 5 台主机和 2 台交换机。拓扑可以这样设计PC1、PC2、PC3 接 Switch0 的 Fa0/1、Fa0/2、Fa0/3PC4、PC5 接 Switch1 的 Fa0/1、Fa0/2两台交换机之间用 Fa0/24 互联。IP 规划用 192.168.2.0/24PC1 到 PC5 依次配 192.168.2.1 到 192.168.2.5。# 交换机在 Packet Tracer 里默认配置即可 # 但如果你想看转发表需要进 CLI 敲命令 Switch enable Switch# show mac address-table # 初始状态下表是空的因为还没有流量经过关键操作是观察自学习算法。先让 PC1 ping PC2事件列表里第一个包还是 ARP 请求但这次交换机的行为不一样它收到 ARP 请求后先看源 MAC 地址把 PC1 的 MAC 和 Fa0/1 的对应关系写进转发表然后看目的 MAC 是广播地址所以向除 Fa0/1 以外的所有端口转发。ARP 应答回来的时候交换机又把 PC2 的 MAC 和 Fa0/2 写进表里。等 ICMP 请求再发的时候交换机查表发现 PC2 在 Fa0/2就直接从 Fa0/2 转发出去不再广播。你可以用show mac address-table验证这个学习过程。第一次 ping 之前表是空的ping 完之后表里至少有两条目项。这里有个细节转发表是有老化时间的Packet Tracer 默认 300 秒。如果你等太久再去看表项可能已经被清掉了。想稳定观察的话ping 完立刻敲命令。2.4 三种转发场景的构造与验证实验报告里列了三种情况我把它翻译成可操作的步骤。第一种转发表里没有目标 MAC 的输出端口。这个最简单刚启动交换机、还没任何流量的时候直接让 PC1 ping PC2交换机只能广播。第二种转发表里有目标 MAC但输出端口和来源端口相同。这个场景需要构造一下——先让 PC1 ping PC2让交换机学到 PC2 在 Fa0/2然后让 PC2 自己 ping 自己或者让 PC1 再 ping 一次 PC2 但这次从 PC2 侧触发。实际上更常见的构造方式是PC1 和 PC2 都接在同一个集线器上集线器再接到交换机的一个端口。这样 PC1 发给 PC2 的帧会从同一个端口进来交换机查表发现目标端口就是来源端口直接丢弃。第三种转发表里有目标 MAC输出端口和来源端口不同。这个就是正常的定向转发PC4 ping PC2 的时候交换机查表发现 PC2 在 Fa0/2PC4 在 Fa0/1直接从 Fa0/2 转发。提示第二种场景在纯交换机拓扑里不太好构造因为每台主机独占一个端口。用集线器串在交换机端口上或者用 Packet Tracer 的“重复帧”功能都能触发同端口丢弃的逻辑。3. ARP 协议在 Packet Tracer 里的抓包与跨网段验证从同网段到跨路由3.1 ARP 请求与应答的报文结构ARP 协议是二层和三层之间的桥梁。同网段通信时主机只知道对方的 IP不知道 MAC所以先发 ARP 请求。这个请求的以太网帧头目的 MAC 是全 F 广播源 MAC 是自己的ARP 载荷里写着“谁的 IP 是 192.168.1.2请告诉 192.168.1.1”。目标主机收到后回一个单播 ARP 应答把自己的 MAC 填进去。在 Packet Tracer 里看这个过程的办法是Simulation 模式下点开 ARP 请求包看它的“Outbound PDU Details”。以太网帧头部分DEST MAC 是 FFFF.FFFF.FFFFSRC MAC 是发送方的ARP 部分Sender IP 和 Target IP 都能看到。ARP 应答包则是单播DEST MAC 是请求方的 MAC。# 在主机上查看 ARP 缓存的命令 arp -a # 输出示例 # Internet Address Physical Address Type # 192.168.1.2 00e0.8f6a.1234 dynamic # 192.168.1.1 00e0.8f6a.5678 dynamicarp -a显示的是当前 ARP 缓存表。-d可以删除指定项-s可以添加静态项。实验里要求掌握这几个常用参数实际排错的时候arp -d *清空缓存再重新 ping是判断 ARP 问题的标准动作。3.2 同网段与跨网段的 ARP 差异同网段 ARP 请求的目标 IP 就是最终通信对端的 IP。跨网段就不一样了PC5 要 ping PC9但 PC9 在另一个网络PC5 发现目标 IP 和自己不在同一个子网于是它不会去 ARP 请求 PC9 的 MAC而是 ARP 请求网关的 MAC。数据包先发给网关网关再根据路由表转发到下一个网络。实验报告里那个思考题问“PC5 ping PC9 一共出现几次 ARP 请求”答案是两次第一次 PC5 请求网关 MAC第二次路由器请求 PC9 的 MAC。这个结论的前提是所有设备的 ARP 表都是空的。如果路由器已经学过 PC9 的 MAC第二次 ARP 就不会发生。所以做这个实验的时候一定要先清空所有设备的 ARP 缓存否则观察到的次数会少。# 清空 ARP 缓存的命令在每台 PC 和路由器的 CLI 里执行 arp -d * # 或者用 Packet Tracer 的“Delete”按钮删掉所有场景重新来跨网段通信还有一个关键变化MAC 地址会变IP 地址不变。PC5 发出的帧源 MAC 是 PC5目的 MAC 是网关路由器转发出去的时候源 MAC 变成路由器出接口的 MAC目的 MAC 变成 PC9 的 MAC。IP 层的源和目的 IP 从头到尾不变。这个“MAC 变、IP 不变”的规律是理解路由器和交换机分工的核心。3.3 用事件列表追踪 ICMP 与 ARP 的交替Packet Tracer 的事件列表是分栏的左边是时间戳中间是设备名右边是事件描述。看 ARP 和 ICMP 交替的时候建议把过滤器设成只显示 ARP 和 ICMP其他协议全部关掉。然后点“Auto Capture/Play”让仿真自动跑。你会看到这样的顺序ARP 请求广播→ ARP 应答单播→ ICMP 请求单播→ ICMP 应答单播。如果中间有跨网段ARP 和 ICMP 会交替出现两次。注意Packet Tracer 的仿真速度可以调在“Simulation”面板右下角有个播放速度滑块。调太快会看不清事件顺序调太慢又浪费时间。我一般用默认速度遇到关键包再手动单步。4. VLAN 划分与广播域隔离从 VLAN1 到 VLAN2/VLAN3 的实操4.1 未划分 VLAN 时的广播行为实验三的任务一是观察未划分 VLAN 前交换机对广播包的处理。默认情况下交换机所有端口都在 VLAN1广播域是整个交换机。PC0 发一个 ARP 请求交换机会从除接收端口以外的所有端口转发出去包括级联到另一台交换机的端口。另一台交换机收到后同样向所有端口转发。最终结果是整个网络里所有 PC 都收到了这个广播包。这个现象在 Packet Tracer 里看得很清楚事件列表里 ARP 请求会从 PC0 出发经过 Switch0 扩散到所有端口再经过 Switch1 扩散到所有端口。如果你有 10 台 PC就有 10 台 PC 被这个广播打扰。广播域越大广播流量占用的带宽越多这就是实验报告思考题里说的“交换机扩大以太网规模可能导致性能下降”的原因。4.2 创建 VLAN 并划分端口任务二是在两台交换机上分别创建 VLAN2 和 VLAN3然后把端口分进去。Packet Tracer 的交换机 CLI 和真机 Cisco 交换机基本一致命令如下# 在 Switch0 上创建 VLAN2 和 VLAN3 Switch enable Switch# configure terminal Switch(config)# vlan 2 Switch(config-vlan)# name vlan2 Switch(config-vlan)# exit Switch(config)# vlan 3 Switch(config-vlan)# name vlan3 Switch(config-vlan)# exit # 把 Fa0/1 到 Fa0/3 划入 VLAN2 Switch(config)# interface range fa0/1-3 Switch(config-if-range)# switchport mode access Switch(config-if-range)# switchport access vlan 2 Switch(config-if-range)# exit # 把 Fa0/4 到 Fa0/6 划入 VLAN3 Switch(config)# interface range fa0/4-6 Switch(config-if-range)# switchport mode access Switch(config-if-range)# switchport access vlan 3 Switch(config-if-range)# exit # 配置级联端口为 Trunk允许 VLAN2 和 VLAN3 通过 Switch(config)# interface fa0/24 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan 2,3 Switch(config-if)# exit这里有几个参数需要解释。switchport mode access表示这个端口是接入端口只属于一个 VLAN。switchport access vlan 2指定它属于 VLAN2。级联端口必须配成trunk否则 VLAN2 和 VLAN3 的流量过不去。switchport trunk allowed vlan 2,3是白名单只允许这两个 VLAN 通过不写的话默认允许所有 VLAN。4.3 验证 VLAN 隔离效果配完 VLAN 之后再让 PC0 发 ARP 请求。这次事件列表里ARP 广播只在 VLAN2 内部扩散VLAN3 的端口收不到。PC0 和 PC3 如果在同一个 VLAN它们能通信PC0 和 PC4 如果不在同一个 VLAN即使 IP 在同一子网也 ping 不通。这就是 VLAN 在数据链路层隔离广播域的效果。验证的时候有个常见问题如果两台 PC 的 IP 在同一子网但 VLAN 不同它们互相 ping 不通但你看 ARP 缓存会发现 ARP 请求发出去了却没有应答。这不是 ARP 坏了而是 VLAN 把广播包挡住了目标 PC 根本没收到请求。解决办法是把它们划到同一个 VLAN或者给它们配不同子网的 IP 然后走三层路由。验证项未划分 VLAN划分 VLAN 后广播包传播范围所有端口同一 VLAN 内的端口冲突域每个端口独立每个端口独立广播域整个交换机每个 VLAN 一个同 VLAN 通信通通跨 VLAN 通信通同一广播域不通需三层设备5. 避坑与排查Packet Tracer 二层实验里最容易翻车的五个点5.1 现象PC 之间 ping 不通但 IP 配置看起来没问题原因通常是端口没起来。Packet Tracer 里交换机的端口默认是 up 的但如果你手动 shutdown 过或者用了某些模块化设备端口可能处于 down 状态。另一个常见原因是线缆类型不对——PC 到交换机用直通线交换机到交换机用交叉线Packet Tracer 会自动识别但真机不会。解决方法是进交换机 CLI 敲show interfaces status看端口是不是 connected。如果是 notconnect检查线缆和端口状态。5.2 现象ARP 请求发出去了但没有 ARP 应答先看目标 IP 是否和源 IP 在同一子网。如果不在同一子网源主机会 ARP 请求网关而不是目标主机。如果网关地址没配或者配错了ARP 请求就没人应答。另一个可能是 VLAN 隔离——源和目的在不同 VLAN广播包过不去。解决办法是arp -a看缓存里有没有网关的 MAC没有的话检查网关配置和 VLAN 划分。5.3 现象交换机转发表里学不到 MAC 地址Packet Tracer 的转发表是动态学习的只有流量经过才会写进去。如果你刚启动交换机就去看表表是空的。另外如果你在 Simulation 模式下单步执行包还没走到交换机表也不会更新。解决方法是先让 PC 之间 ping 一次再敲show mac address-table。如果 ping 通了表还是空的检查是不是所有流量都走了 Trunk 端口而你没看 Trunk 的表项。5.4 现象VLAN 配好了但跨交换机同 VLAN 不通九成是 Trunk 没配或者 allowed vlan 没放行。Packet Tracer 里 Trunk 端口默认允许所有 VLAN但如果你手动限制了 allowed vlan漏掉了某个 VLAN那个 VLAN 的流量就过不去。解决办法是show interfaces trunk看 Trunk 端口的状态和允许的 VLAN 列表。另外两台交换机上的 VLAN 编号必须一致一边有 VLAN2 另一边没有流量也会被丢弃。5.5 现象仿真模式下包走到一半停住了Packet Tracer 的 Simulation 模式是手动单步的你不点“Play”它就不走。如果你点了“Play”还是停检查是不是有包被丢弃了——比如 ARP 请求到了目标主机但目标主机没配 IP或者交换机端口被 shutdown。事件列表里会写“Discarded”或者“Dropped”点开看详情能定位到具体设备。6. 从实验报告到真实排错把 ARP 缓存和 MAC 表当成日常工具这份实验报告的价值不在于它记录了四个实验步骤而在于它逼你把二层转发的每个环节都看了一遍。我自己的习惯是每次遇到网络不通的问题先arp -a看缓存再show mac address-table看交换机学到了什么最后show interfaces trunk看 VLAN 放行情况。这三条命令覆盖了二层排错的大部分场景。进阶一点的做法是把 Packet Tracer 里的拓扑导出成图片在旁边标注每个端口的 VLAN 和 Trunk 状态形成一张“网络地图”。下次再搭类似拓扑的时候直接照着地图配不用从头想。另外实验报告里的思考题其实比实验步骤更有价值——比如“集线器扩大以太网规模会不会导致性能下降”这个问题答案是会因为冲突域变大了。这个结论在真实网络里同样成立如果你用集线器串了太多设备碰撞概率会指数级上升网络基本没法用。从那以后我每次配完 VLAN 都强制走一遍show interfaces trunk和show mac address-table确认 Trunk 放行了正确的 VLAN、转发表学到了正确的端口再开始 ping 测试。这个习惯帮我省掉了至少一半的“玄学不通”问题。希望帮到你。本文还有配套的精品资源点击获取