孙文柱 王志乐 孙忠云 胡文婷
(海军航空大学青岛校区 山东·青岛 266041)
计算机网络原理是一门理论性很强的课程,该课程具有理论深,专有名词多、易混淆概念多、环节复杂等特点。在教学时容易让一些学生尤其是理解能力稍差的学生产生畏惧厌学心理,而在课堂上引入角色扮演的方式可以让学员置于特定的教学情境之中,引起学员的情感体验,激活思维,使其积极参与教学活动,提高教学实效[1-5]。
本文使用角色扮演的方法讲解计算机网络理论,通过学生扮演网络设备,模拟网络工作过程让学生实际操作并参与信息的发出、转发、接收过程,将原理形象化、具体化展示给学生,同时又让学生具体参与到信息传递过程,加深了印象,可产生较好的教学效果。
本课程的教学对象为士官学员,士官学员大多来自基层部队,多数学员在文化基础薄弱,尤其是初等数学、初等物理等基础学科偏弱。对待学习求知欲不强,看到复杂的公式图表就产生畏难情绪。讲述理论过多过深的内容时,学员容易打瞌睡。另外,学员习惯被动、机械地接受知识,自主学习能力较差。实践教学过程中学员往往只是机械重复教员的动作,不能深入分析系统运行机理。
角色扮演的教学方法安排在计算机网络原理教学之后,整个教学过程分为课程设计、课程实施、总结讲评3个阶段。
课程以一个由2台路由器、2台交换机、4台主机组成的局域网为例,模拟计算机网络的运行过程。局域网结构如图1所示。
图1:局域网结构图
根据网络结构,设计学员站位如图2所示,2名学员分别扮演路由器0和路由器1,2名学员扮演交换机,4名学员扮演主机。网络中每种角色执行自己的任务流程。
图2:设计学员站位图
主机端的任务流程为:
Step1:判断是否接受到发送任务(循环执行)。
Step2:判断目标机是否在同一子网,如果是则继续执行Step3,否则跳转到Step5。
Step3:在自身ARP表中查找网关MAC地址。
Step4:判断是否找到网关MAC地址?如果是则执行Step7,否则发送ARP请求,查找网关MAC地址,找到后更新ARP表,继续执行Step7。
Step5:在ARP表中查找目标机MAC地址。
Step6:判断是否找到目标机MAC地址?如果是则执行Step7,否则发送ARP请求,查找目标机MAC地址,找到后更新ARP表,继续执行Step7。
Step7:填写数据包。
Step8:将数据包发送给交换机。
交换机端的任务流程为:
Step1:判断是否接受到发送任务(循环执行)。
Step2:在MAC表中查找目标MAC地址对应端口号。
Step3:判断是否找到MAC地址,如果是则执行Step4,否则丢弃数据包,结束任务。
Step4:将数据包发送给对应端口。
路由器端的任务流程为:
Step1:判断是否接受到发送任务(循环执行)。
Step2:在路由表中查找目标地址下一跳。
Step3:判断是否找到下一跳?如果是则继续执行Step4,否则丢弃数据包,结束任务。
Step4:在ARP表中查找下一跳端口MAC地址。
Step5:判断是否找到下一跳端口MAC地址?如果是则继续执行Step6,否则发送ARP请求,查找下一跳MAC地址,找到后更新ARP表,继续执行Step6。
Step6:重写数据包MAC地址。
Step7:将数据包发送给下一跳。
课程实施过程以执行一条消息发送任务为主线,任务设定为执行一条主机B发送“Hello World!”字符串到主机C。
任务共分为三个步骤。
步骤一:字符串编码。
主机 B首先将“Hello World!”转换成 ASCII码“48656C6C6F20576F726C64”。
步骤二:查询网关MAC地址。
主机B首先判断192.168.3.2这个IP地址与自己不是同一子网,所以发送消息要通过网关发给其他子网。因此主机B查看自己的ARP地址表中是否有网关的MAC地址,如果有则发送数据包,没有则使用ARP请求获取网关MAC地址。图3为主机B查询IP为“192.168.1.1”的网关MAC地址时使用的ARP请求卡。
图3:ARP请求卡样式
主机B将ARP请求卡发给交换机,交换机收到ARP请求后分发到所有终端,终端收到ARP请求后如果发现询问IP是自己的IP则将自己的MAC地址填入表格并发回给交换机,如果询问IP不是自己的IP则丢弃。此例中路由器0的端口0为询问的对象,所以路由器0接收到ARP查询后填写ARP回应卡(如图4所示),发送给交换机,交换机将ARP回应卡发回发起端主机B,主机B更新自己的ARP地址表(如图5所示)。
图4:ARP回应卡样式
图5:ARP地址表
步骤三:发送数据包。
主机B将要发送的信息填写成数据包发送给交换机0,网络层中目标IP地址填写最终目标的IP地址,而数据链路层中目标MAC地址填写网关的MAC地址,数据包如图6所示。
图6:数据包
交换机0收到数据包后将目标 MAC地址与自己的MAC地址表(如图7所示)匹配,根据匹配结果将数据包发送给对应端口。
图7:MAC地址表
此例中数据包的目标MAC地址对应端口号为2,而交换机端口2与路由器0的端口0相连。路由器0的端口0收到数据包后,根据目标IP地址,查询路由表(如图8所示)和ARP表,将数据包重写后从对应端口发出,重写内容主要是收发方的MAC地址。
图8:静态路由表
此例中数据包会发给路由器1的端口0,路由器1的端口0收到数据包后,查看目标IP地址网段可知目标在本路由器端口1所处网段,根据ARP表查到接收端MAC地址,重写数据包中MAC地址后从端口1发送给交换机1,交换机1根据MAC地址表将数据从端口1发送给主机C,主机C接收到后根据ASCII码将内容解译出来,至此数据传送完成。
教学实施完成后,教师对教学过程进行总结,同时针对教学实施中容易出错的点再次结合原理进行讲解,使学员对原理的理解更加深刻。
(1)学员对网络设备作业流程不熟,导致执行过程出错。由于每个学员的知识掌握程度有深有浅,并不是每一个学员都能迅速准确的执行信息流转过程。这就需要让学员利用课下时间进一步熟悉计算机网络原理,认真准备。
(2)通过竞争的方式提高参与人员积极性。尽量让每名学员都参与扮演,为了防止一些学员出工不出力,可以引入监督机制,将所有学员分为两组或多组,一组学员作业时,另一组学员进行打分,对流程出错的扣分,同时对信息发送效率进行横向比较,提高参与人员积极性。
本文针对目前计算机网络教学中存在的问题及学员的特点,提出将角色扮演方法用于计算机网络教学。在课前设计好网络结构、角色和流程;教学过程中,通过让学员扮演一个网络设备使学员更加深入了解网络设备运行机理和网络原理,做到理论和实践有机融合,课堂注重学员维修思路和操作技能的培养,并利用总结环节对学员进行客观评价。角色扮演的教学方法使学生学习兴趣大大增强,教师授课热情提高,课堂教学效果得到了进一步优化。