基于Packet Tracer的交换机原理实验设计与仿真
2018-11-09陈滨
陈滨
(川北医学院管理学院,四川 南充 637100)
1 引言
计算机网络是由一些看不见的网络协议和各种可感知的具体网络设备组成的,是一门典型的理论和实践并重的学科[1]。因而针对计算机网络的学习,我们不能只注重网络协议这些理论知识,还应该加强实践练习以掌握各种网络设备的原理和操作,这同时可以巩固和加深对理论知识的理解[2]。交换机作为目前网络中使用最为广泛的网络设备,理解其基本的原理与功能是计算机网络主要学习的目标之一。但是由于受限于现实的实验室条件,相应的网络硬件设备通常都比较缺乏,即使拥有部分实验环境,学生可以分组进行实验,但针对交换机原理与配置这种需要实际操作和验证的实验,往往也难以取得较好的教学效果。另一方面,在真实的设备上进行实验,不能很好地查看和分析数据帧的传输情况,不能形象化地说明和验证交换机的功能。因而,本文基于Packet Tracer进行实验设计,详细阐述了交换机的原理,通过Packet Tracer的交换机IOS命令以及利用Packet Tracer的仿真模式查看具体数据帧在网络中的传输情况[3],逐步分析了交换机建立和维护MAC地址表的过程,同时也形象地展示和说明了交换机的整个工作过程。
2 Packet Tracer模拟器介绍
Packet Tracer是由思科公司发布的一个辅助学习工具,为学习思科网络课程的初学者提供了一个设计、配置、排除网络故障的网络模拟环境。该模拟器可以模拟思科的多种网络设备,学习者可以通过拖拽的方式方便地建立网络拓扑;并且它支持诸如HTTP、ARP、DHCP、DNS、RIP、OSPF、VTP、STP、TFTP、Telnet等常用协议,因此能完成基于ARP、VTP、DHCP等协议的实验;此外,还可以使用Packet Tracer查看数据包(PDU)在网络中详细的处理过程,以便分析数据包的组成以及观察网络实时运行情况,可以让学习者更好地理解网络协议的工作原理和过程[4-5]。
3 交换机的原理
交换机(Switch)是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。交换机工作于OSI参考模型的数据链路层,它可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接受者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址,而不是像集线器(Hub)一样向所有端口广播[6]。因此,交换机可用于分割数据链路层广播(冲突域),但是不能分割网络层广播(广播域)。
交换机为了根据MAC地址进行数据帧的转发,需要将这些MAC地址与对应的端口记录在自己内部的一个MAC地址表中。其具体的工作流程如下[7-9]:
(1)交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表,这是交换机的学习功能。
(2)读取数据帧头中的目的MAC地址,并在地址表中查找相应的端口,如有与该目的MAC地址对应的端口,把数据包直接复制到该端口上,这是交换机的转发功能。同时更新MAC地址表中该记录的记录时间,这是交换机的更新功能。
(3)如果数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发,这是交换机的泛洪功能。
(4)如果数据帧的目的地址指向的端口与接收数据帧的端口是同一个端口,这说明两台计算机通过Hub连接到同一端口,不需要交换机作转发处理,这是交换机的过滤功能。
4 交换机原理实验设计
4.1 实验的目标及拓扑图
为了深入理解交换机的原理,熟悉交换机的基本配置命令,本实验设计的学习目标主要有:
(1)掌握Packet Tracer网络拓扑图的绘制方法
(2)掌握交换机的基本配置命令
(3)理解交换机的原理
(4)理解交换机和集线器在工作原理上的差别
(5)熟悉Packet Tracer仿真模式的使用方法
为了达成以上的学习目标,本实验采用如图1所示的基于交换机星型网络结构。在该拓扑图中,采用了思科2960二层交换机,同时使用了集线器连接PC3和PC4,用来验证交换机和集线器在工作原理上的差异。
图1 仿真实验拓扑结构图
4.2 实验的具体步骤
为了使得整个实验有针对性和可操作性,实验步骤之间的关系应该是一个难易度由低到高的递增的关系。具体步骤和要求如下:
(1)根据实验要求在Packet Tracer中画出网络拓扑图。
(2)为各个PC设备配置IP地址、子网掩码和MAC地址,并验证各设备的连通性。各PC设备的详细参数分配如表1所示。
表1 PC设备参数分配表
(3)对各交换机做基本的配置,比如设置名字、密码等。
(4)通过交换机命令查看交换机的MAC地址表。
(5)通过发送数据帧验证交换机的学习、转发、泛洪、过滤功能。
(6)通过查看数据帧的传输情况验证交换机和集线器的工作原理的差异。
5 不交换机原理实验仿真
下面依据实验设计好的步骤,详细说明每一步的操作过程。
(1)依照图1中的网络拓扑图,从Packet Tracer的网络组件区中选择对应的网络设备拖到逻辑工作区中,并用对应的网络线缆进行连接。
(2)通过各PC的配置页面来配置IP地址、掩码和MAC地址。依照表1中的分配,为PC0配置地址如图2所示,PC1~PC4依照PC0的配置方式进行。
图2 PC0设备的参数配置
(3)对交换机进行基本的配置,比如禁用DNS查找,配置特权模式口令为admin,将控制台和vty连接口令配置为hello等。具体的配置命令如下:
Switch(config)#no ip domain-lookup//禁用DNS查找
Switch(config)#enable secret admin//配置特权模式口令
Switch(config)#line console 0//配置控制台口令
Switch(config-line)#password admin
Switch(config-line)#login
Switch(config-line)#line vty 015//配置VTY口令
Switch(config-line)#password hello
Switch(config-line)#login
(4)使用ping命令验证各PC之间的连通性,确保所有PC都可以互通之后点击Power Cycle Devices重启整个网络,这样可以清空MAC地址表,同时在交换机上执行show macaddress-table,以查看MAC地址表,确认其为空,如图3所示。
图3 交换机初始MAC地址表
(5)切换Packet Tracer到仿真模式,点击Edit Filter,只选择其中的ARP,再点击Capture/Forward启动数据帧捕获。然后在PC0上执行ping 192.168.10.12,接着通过点击Capture/Forward来传递ARP数据帧,如图4所示。当ARP数据帧到达交换机时,通过在交换机上执行show mac-address-table,可以查看到交换机的MAC地址表中有了PC0的MAC地址和对应的端口记录,说明交换机学习了到PC0的MAC和端口记录。
图4 交换机的学习功能的验证
(6)继续点击Capture/Forward按钮,由于交换机MAC地址表中没有PC2的MAC地址的记录,因而交换机向所有其它端口广播该数据帧,如图5所示,这就是交换机的泛洪功能。这个时候可以选择点击Reset Simulation终止仿真过程或者点击Auto Capture/Play等待整个仿真过程结束。
图5 交换机的泛洪功能的验证
(7)在各PC之间相互执行ping操作,使得交换机建立起完整的MAC地址表。这时点击Edit Filter,只选择其中的ICMP,再点击Auto Capture/Forward开启数据帧的自动捕获,然后在PC0上执行ping 192.168.10.12,可以发现当ICMP数据帧到达交换机之后,交换机不是向所有端口转发,而是直接传递到交换机的Fa0/3端口,这就是交换机的转发功能。
(8)当步骤7中的数据帧模拟结束后,在PC3上执行ping命令来向PC4发送数据帧,这时可以发现交换机收到Hub发送来的数据帧后会直接将其丢弃,如图6所示。因为在交换机的MAC地址表中,PC3和PC4的MAC对应的是同一个端口,所以就不进行转发,这正是交换机的过滤功能。同时,注意到在Hub转发ICMP数据帧的时候,总是向所有端口进行广播,而交换机在学习到了MAC地址和端口的映射关系之后,只会采取单播的方式向目标端口转发(如步骤6所示),这正是集线器和交换机工作原理的差异所在。
图6 交换机的过滤功能的验证
6 结论
为了对交换机原理和功能进行深入理解,本文设计了比较合理的实验流程和步骤,并通过Packet Tracer进行模拟仿真,形象地展示了交换机的工作过程,但由于受限于模拟器的限制,没有能验证交换机的更新功能。通过实际的教学反馈,基于Packet Tracer的实验设计不仅可以降低硬件设备的投资成本,还能增强学生对理论知识的理解,提高实验效率,达到甚至超过在真机上的实验效果。