陈潮
(浙江警察学院计算机与信息安全系,杭州310053)
交换机和路由器是计算机网络中使用最广泛的两类网络设备,交换机用来组建局域网,路由器用来实现网络之间的互联,理解交换机的工作原理,掌握交换机的配置方法,是学习计算机网络知识的基本要求之一。以太网早已经成为局域网的主流标准,日常使用交换机一般都是以太网交换机,以太网交换机的工作原理是《计算机网络》课程的重要教学内容之一,由于计算机网络知识抽象、前后知识点紧密关联、网络数据包转发过程难以观察和缺少实验室支持等原因,常常导致学生对计算机网络的工作原理难以理解、学习积极性低和开展实验项目较少等情况,在一定程度上影响教学工作的开展,从而导致教学效果一般。在《计算机网络》课程的实践教学中,采用真实网络设备进行实验教学,存在实验室投入大、场地要求高、网络设备容易损坏和网络实验环境管理复杂等问题,特别是疫情期间,学生无法到校在实验室开展实验的情况下,开展仿真实验教学具有重大意义,因此通过仿真软件来仿真计算机网络的工作原理,仿真软件模拟真实数据包的转发过程,从而加深学生对计算机网络工作原理的理解。本文设计与实现一个基于Packet Tracer 软件的以太网交换机工作原理仿真实验,学生通过该仿真实验,明显提高了学生对以太网交换机工作原理的理解。
以太网交换机的核心功能是转发数据帧,数据帧的转发依靠交换机中的转发表,而交换机的转发表是交换机通过自学习算法自动生成和维护的,因此交换机的工作主要包括自学习生成转发表记录(即登记数据帧)和根据转发表中的记录转发数据帧,交换机的转发表主要由MAC 地址和交换机接口两个字段构成,其他还包括所属VLAN 和记录类型等字段,交换机的工作原理示意图如图1 所示,主要包括登记数据帧和转发数据帧两部分[1-3]。
转发表的生成过程,即登记数据帧过程如下:当交换机每接收一个数据帧时,将记录数据帧的源MAC 地址和接收该数据帧的交换机接口编号,并在转发表查找源MAC 地址,根据查找结果分为两种情况:①若查找成功,说明转发表中存在该MAC 地址,则更新该记录的有效时间;②若查找不到,说明转发表中不存在该MAC 地址,则在转发表中增加一条新的记录。
转发数据帧过程如下:根据数据帧的目的MAC 地址,在转发表中进行查寻,根据查找结果分为两种情况:①若未查到,则进行广播,向除数据帧到达交换机接口外的所有交换机接口转发;②若查到,则需要根据查到的接口是否是数据帧到达接口相同分为两种情况:若相同,则是丢弃数据帧;若不同,则向查到的接口转发数据帧[4-6]。
图1 交换机工作原理示意图
实验使用Packet Tracer 进行仿真与实现,实验设计中需要规划实验网络拓扑和编制计算机的IP 地址,实验设备配置中设置计算机的IP 地址、子网掩码等信息,并将交换机的IP 地址与MAC 地址标注在实验拓扑中,实验准备中需要在通信双方计算机的ARP 缓存中生成对方的记录,解决ARP 协议对本实验的干扰,并清空交换机的转发表,实验过程与分析中认真观察数据帧的发送过程,重点观察交换机转发表记录的变化和交换机对数据帧的转发处理。
实验拓扑如图2 所示,由1 台思科2960 交换机Switch1、4 台计算机PC1、PC2、PC3 和PC4 和4 根直通双绞线组成,4 台计算机依次连接交换机的Fa0/1、Fa0/2、Fa0/3 和Fa0/4 接口,构成一个局域网。
图2 实验拓扑
实验中计算机的IP 地址编址如表1 所示,4 台计算机属于192.168.1.0 网络,子网掩码为255.255.255.0,4 台计算机的IP 地址和MAC 地址标注在实验拓扑中。
表1 计算机IP 编址
由于ARP 协议会对实验产生干扰,在实验进行前,确保通信双方计算机的ARP 缓存中存在对方计算机的ARP 记录,同时清空交换机的转发表。
在实时模式下,添加一个从PC1 到PC2 的简单PDU 数据帧,结果如图3 所示,在场景区域显示通信成功。
图3 简单PDU数据帧通信场景
在PC1 和PC2 计算机中分别运行查看ARP 缓存记录命令:arp-a,结果分别如图4 和图5 所示,分别存储对方计算机的ARP 记录。
图4 PC1的ARP缓存表
图5 PC2的ARP缓存表
在交换机的特权模式下运行命令:show macaddress-table,结果如图6 所示,存在2 条记录,该记录是PC1 与PC2 的通信时,交换机对到达的数据帧进行登记,通过自学习算法生成的。
图6 交换机的转发表
在交换机的特权模式下运行命令:clear mac-ad⁃dress-table,清除交换机的转发表,再通过命令:show mac-address-table,确认交换机的转发表已经清空。
经过以上两步操作,至此已经完成实验前的准备。
本实验设计重复发送两个对PC1 到PC2 的简单PDU 数据包,重点观察第1 个数据包的传输过程中交换机转发表的变化和交换机对数据帧的转发处理,并与第2 个数据包的传输过各进行对比分析,整个上实验过程分为六个步骤。
步骤一:仿真模式配置
将Packet Tracer 软件切换到仿真模式,本实验中使用ICMP 协议,在事件过滤器中只选择ICMP 协议,确保只显示ICMP 协议的数据帧,防止其他数据帧的传输到影响实验过程中的观察,同时通过工具栏的观察工具,打开交换机的转发表,配置结果如图7 所示,交换机的转发表已经清空。
图7 工作界面
步骤二:添加一个从PC1 到PC2 的简单PDU 数据帧。
从工具栏选择添加简单PDU 数据帧工具,分别单击PC1 和PC2 计算机,生成一个从PC1 发送数据帧到PC2 的场景,并在事件列表中产生第1 个事件,数据帧在PC1 计算机,类型是ICMP 数据帧。
步骤三:观察交换机登记数据帧的过程。
在仿真模式的播放控制中,单击下一步,观察数据帧从PC1 发送到交换机的过程,如图8 所示,交换机的转发表增加1 条记录:MAC 地址为0001.9708.961B,即为PC1 的MAC 地址,对应接口为FastEthernet0/1,单击交换机上的信封图标,打开PDU 详细信息窗口,查看入站详细信息如图9 所示,交换机接收到的数据帧的源MAC 地址为0001.9708.961B,与交换机在转发表中添加记录的MAC 地址一致,证明交换机通过自学习算法完成转发表记录的添加。
图8 交换机转发添加记录
图9 交换机接收数据帧入站详细信息
步骤四:观察交换机转发数据帧的过程。
交换机接收到PC1 发送的数据帧,目的MAC 地址为0060.4713.56D2,即PC2 的MAC 地址,交换机根据该MAC 地址在转发表中进行查询,由于当前转发表中只有PC1 的MAC 地址,因此未查到匹配的记录,交换机进行广播,将数据帧发送到PC2、PC3 和PC4 计算机,如图10 所示,其中PC3 和PC4 对收到的数据帧进行检查,发现目的MAC 地址不是本计算机的MAC,则丢弃该数据帧,而PC2 的MAC 地址与数据帧中的目的MAC 地址相同,则收下该数据帧。
图10 交换机广播数据帧
步骤五:观察PC2 响应PC1 的数据帧到交换机的过程。
PC2 计算机接收PC1 计算机发送的数据帧后,将产生一个应答数据帧,该数据帧的源MAC 地址为0060.4713.56D2,即PC2 的MAC 地址,目的MAC 地址为0001.9708.961B,即PC1 的MAC 地址,交换机接收该数据帧后,首先将源MAC 地址和接收该数据帧的交换机接口Fa0/2 添加到转发表中,增加1 条记录,完成登记,如图11 所示,同时交换机根据接收数据帧的目的MAC 地址在转发表中进行查找,目的MAC 为PC1计算机的MAC 地址,该MAC 地址在步骤二中已经添加到交换机转发表中,因此查找到该MAC 地址对应的接口为Fa0/1,交换机从接口Fa0/1 转发该数据帧到PC1 计算机,至此完成PC1 计算机和PC2 计算机的通信,在交换机的转发表中成功添加PC1 和PC2 计算机的MAC 与交换机接口的映射记录。
图11 交换机转发表添加记录
步骤六:重复添加一个从PC1 到PC2 的简单PDU数据帧,观察交换机对数据帧的处理。
两次数据帧的传输过程的事件列表如图12 所示,对比发现,当第2 次从PC1 计算机向交换机发送数据帧,交换机的转发表中已经存在PC2 计算机的MAC 地址,因此交换机在转发时,能够在转发表中查找到记录,不必再次进行广播。
图12 数据帧事件列表对比
交换机是计算机网络中最重要的网络设备之一,交换机的工作依靠转发表,转发表中记录的生成和更新是关键,本文设计了一个交换机工作原理实验,通过仿真软件,模拟交换机转发表的生成过程和交换机转发数据帧的处理过程,并对同一数据帧的前后两次传输进行对比分析交换机的工作原理。实践教学表明,通过交换机工作原理仿真实验的教学,直观展示交换机的工作原理,加深对学生对交换机工作原理的理解,提高了学生对交换机工作原理的认识,增强了学生的学习兴趣和积极性,取得较好教学效果。