依托NetMagic平台推动计算机网络课程实践

更新时间:2024-04-07 作者:用户投稿原创标记本站原创 点赞:4529 浏览:11547

摘 要:计算机网络课程实验具有很强的领域性和实践性,对网络基础理论的综合运用以及互联网新技术的把握提出很高要求.文章介绍NetMagic创新实验平台的设计思想和体系结构,对比开放式教学模式,提出新的“双三角”教学模式,结合几种典型的教学案例,总结NetMagic平台在课程实验中的良好效果.

关 键 词:NetMagic平台;课程实验;计算机网络;创新实践

文章编号:1672-5913(2013)14-0109-05中图分类号:G642

随着互联网技术的日益普及,国家在网络基础建设和信息安全方面对计算机网络技术人才的需求越来越大.国内外许多大学都开设了计算机网络课程,但由于多数大学侧重学术研究,网络设备制造能力欠缺,而专业设备厂商出于系统安全性考虑,通常不对外提供开发接口,因此教学过程中往往缺乏专门的实验平台对计算机网络中的协议和算法进行客观直接的展示,尤其缺乏在网络设备中对创新研究展开验证的专业手段.

为了让学生能够深入了解核心网络设备的工作原理和设计方法,我们开设了有关路由器原理与设计的研究生课程.课程涉及计算机网络中很多新的网络协议和报文处理算法,主要定位在网络相关知识的综合运用以及对互联网技术发展趋势的把握,具有很强的领域性和实践性.课堂讲授主要以介绍路由器基本工作原理和最新技术发展趋势为主,课程实验环节主要以锻炼学生的网络设备设计开发能力为目标,涉及网络接口技术、转发技术、GUI编程、操作系统等,强调软件与硬件设计的高度结合.开放式实验教学将所有实验资源向学生开放,让学生成为实验的主体,有利于提高学生对科学研究的积极性,是培养学生工程能力和创新能力的重要手段.

随着新一代互联网体系结构的不断发展,我们意识到除了将实验室已有资源向学生充分开放外,还迫切需要一种新的网络实验平台以支撑计算机网络课程实验的教学;因此我们基于高性能网络设备研制方面的多年经验,专门设计开发了NetMagic创新实验平台,从教学模式和教学内容两方面综合提高学生的创新思维和实践能力.

1NetMagic平台

1.1设计思想

NetMagic平台是为下一代互联网创新体系结构研究而设计的新型开放式平台,利用FPGA的逻辑可重构能力支持新型网络协议和报文处理机制的快速实现和部署.NetMagic平台采用开源开放和模块可重用的设计思想,通过提供逻辑功能固定的基本功能模块和逻辑功能自定义的用户模块,有效减轻学生的系统设计和验证工作,帮助学生摆脱单纯的验证式实验方式,避免无法触及和改变网络内部工作机制的缺憾,为新型传输机制和网络协议的研究提供有效的验证手段.

1.2体系结构

NetMagic平台采用FPGA作为核心处理器件,对外提供8个100/1000M自适应以太网端口,可有效支持用户自定义报文处理逻辑集成.此外,通用的管理控制接口使得NetMagic平台避免了平台差异可能导致的兼容性和可移植性问题.

NetMagic平台的基本组成如图1所示,由NetMagic硬件平台和可运行于远程主机上的软件系统构成.

NetMagic平台的设计特点主要体现在:(1)基于可编程体系结构设计,提供丰富灵活的工作模式;(2)将用户逻辑与通用报文处理逻辑分离并提供接口规范,有效简化逻辑设计工作;(3)基于以太网实现访问控制协议NMAC,使平台管理具备良好兼容性和可移植性;(4)提供内部存储器资源,有效支持报文缓存管理.在NetMagic平台上,软件部分只有用户控制程序需要学生自己开发,硬件部分只有用户模块需要学生自己开发;其他模块的功能都已经实现,无需学生自己开发.

1.3硬件系统组成

NetMagic硬件系统包括公共数据路径CDP、管理逻辑ML和用户模块UM,其中CDP模块完成接口报文收发、数据格式转换、数据聚合分派;ML模块完成外部控制主机对平台的管理配置和状态访问.CDP和ML两个模块是已经实现且功能固定的逻辑模块,UM模块属于用户自定义模块,学生只需要掌握UM与CDP之间以及UM与ML之间的接口规范,即可根据不同的任务完成自己的设计.

1.4软件系统组成

软件系统是NetMagic平台的灵魂,主要由LibDcap/Lib开发包、NMAC协议及用户控制程序组成.Libpcap/Lib开发包为NMAC协议的开发和运行提供必需的底层接口函数支持.NMAC协议定义了控制器与NetMagic平台之间命令交互的格式,发送时对命令进行封装,接收时对命令进行捕获和解析.NMAC协议具有可靠、高效和安全等特点,为控制程序的开发提供简单的接口函数,允许跨平台对NetMagic硬件实现管理和控制.控制程序由学生根据不同的任务编写,而且学生可以利用Ja等工具生成友好的用户界面.

2教学模式创新

开发式实验模式进度安排比较灵活,但用于较为复杂的课程实验时,往往显现出指导教师不足、设备数量有限等缺点,而且设计性和综合性实验项目较少.学生在真正接触科研工程时,实际锻炼和动手能力不足的问题就显现出来了.计算机网络课程涉及的网络协议种类多,算法复杂,如果没有充足的实验环节和简单有效的教学平台支撑,学生仍然无法牢固掌握课堂知识;因此如何利用NetMagic平台,结合课程特点和学生特点在短时间内培养学生的实践创新能力,是摆在我们面前的一个重大课题.


为此,我们编写专门的教材和参考设计作为NetMagic平台的开发指南,并采用“课堂-讨论-实验”和“教学-工程-科研”相结合的“双三角”教学模式.这种新的教学模式在课堂教学和课程实验之间增加了课外讨论环节,以此锻炼学生的团队协作能力,在教学内容上充分体现最新科研成果和工程实践需求,在“课堂-讨论-实验”和“教学-工程-科研”之间形成良性循环.在这种新的教学模式中,一方面我们适当增加课程实验的比例,安排近50%的课时用于课程实验,每个实验小组由2~3名硬件设计人员和1~2名软件设计人员组成,由学生自己推选出一名组长,负责实验课题的总体方案设计.在高年级学生的指导下,每个小组每周举行一次“NetMagic之夜”课外讨论,然后在课堂上进行方案汇报、方案质询和教师点评.我们还建立了专门的网站和论坛,让学生就某一专题展开自由开放的讨论.经过多次讨论和评审,实验方案获得通过后,学生便可以进入实验室进行编码调试和结果验证.另一方面,我们将学生的研究课题与工程项目紧密结合,首先通过教学活动培养学生具有一定的工程实践能力,然后让学生从工程研究中提炼科学问题和凝练科研成果并形成专业理论知识后,再回到教学活动中培养学生.“双三角”教学模式如图2所示.

“双三角”教学模式的核心思想是依托NetMagic平台的开放性,加强对学生创新实践能力的培养,并让学生在实际研究中验证新的学术观点,提高动手能力.NetMagic平台的开放性和易用性可以帮助学生很方便地获得一手数据,为网络新型协议和体系结构研究提供最直接的验证.

3教学内容创新

NetMagic平台具有硬件功能可重构和软件控制可编程的特点,内部的存储器资源也提供了必要的计算存储能力支持.NetMagic平特的结构设计和丰富的功能支持使其非常适用于计算机网络教学,尤其是面向研究生教学的高级网络课程.我们在设计实验大纲时除了设计最基本的验证型实验,还充分结合当前互联网体系结构领域最新的研究热点、最前沿的研究课题和学生的毕业课题内容,将最具代表性的教学案例应用到课程实验中.典型的教学案例包括:路由器原型、基于规则的数据流镜像和阻断工具、网络数据采集和Trace生成工具等.

基于NetMagic平台的路由器原型教学案例如图3所示.

在该教学案例中,控制器利用NMAC协议对NetMagic平台进行规则配置,NetMagic平台完成目的MAC地址、帧类型、版本号、TTL时间检查和校验等工作,过滤各种类型的错误报文,根据目的IP查找转发表,确定下一跳和输出端口,通过查找ARP表获取下一跳的MAC地址,根据查表结果对报文进行修改和封装等.

基于NetMagic平台的数据流镜像和阻断工具教学案例如图4所示.

在该教学案例中,NetMagic控制器中的软件可从流量监控端接收数据流阻断的五元组规则,并将五元组规则配置到NetMagic平台中,对匹配规则的数据流进行镜像或阻断操作.

基于NetMagic平台的网络数据采集和Trace生成工具教学案例如图5所示.

在该教学案例中,数据源主机使用发包软件构造不同报文并发送给NetMagic平台;规则配置主机利用NMAC协议配置转发规则;NetMagic平台实现规则匹配转发,将符合规则的报文转发给数据采集分析主机,后者将接收的报文整理成Trace文件并进行分析.

除了上面这些教学案例,我们还设计了如流媒体传输质量监测工具、网络流量发生器、BloomFilter原型、BufferBank演示环境等典型案例.这些教学案例有些是经典设计,有些是原型验证;有些偏重软件设计,有些偏重硬件设计,可供不同研究方向和兴趣的学生选择.

4应用效果和存在的问题

路由器原理与设计这门课程专门为网络与信息安全方向的研究生开设,此外还面向很大比例的工程硕士,因为他们自身基础较差,有些甚至从未接触过复杂网络,但是他们的研究课题大都与某项科研工程相关.我们除了采用新的“双三角”教学模式,还针对学生特点精心设计了多种前沿性教学案例.这两种方法相辅相成,使学生在完成课程学习后就能掌握路由器和交换机等核心网络设备的设计技巧,大大缩短了准备硕士课题的时间.

经过不断完善,NetMagic实验平台已经逐渐成熟,在提高学生动手能力和创新思维方面发挥了越来越重要的作用.经统计,已有近20名学生的硕士课题将NetMagic实验平台作为研究工具,涉及网络处理器体系结构、队列调度、加解密技术、路由算法、协议设计与验证等方面内容.研究成果除了多次在国内外学术会议上得到展示外,还直接应用到他们参加的多项国家973计划项目、863计划项目乃至对外合作项目中.

NetMagic平台不仅可以用于路由器原理与设计这门课程,还可以用于计算机网络方向的其他研究生课程和高年级本科生的创新大赛.NetMagic平台在计算机网络课程实验的教学模式创新和教学内容创新上发挥了很大作用,但我们在使用过程中也发现了一些问题,需要在后续教学过程中有所突破.

(1)软件开发环境需要完善,需要设计更加直观的控制界面,以利于低年级学生学习和掌握.

(2)需要完善内部FPGA处理机制,同时支持多种网络协议的验证.

(3)增加对“实验云”的支持,让学生可以远程访问实验资源,即使离开实验室也可以实时观察实验数据,甚至在不同大学间开展同步研究.

5结语

基于NetMagic平台,学生可以避免将精力浪费在复杂而繁琐的实验平台搭建上.NetMagic平台提供了丰富的开放式硬件构件和软件模块等基础资源,可以快速实现以太网交换机、IPv4路由器、报文过滤、数据采集、网络测量等参考设计.基于该平台,学生可以了解网络报文的基本处理流程,掌握网络系统报文处理机制和协议工作原理.

依托NetMagic平台,教师可以引导学生深化理解网络基础知识,验证最新的网络协议和路由算法,真实观察网络协议的运行状况和路由算法的运行效果,从而激发学生对于网络软硬件设计的兴趣.此外,学生可以通过在NetMagic平台上验证网络创新思想和技术、获取实验数据以及进行系统调优,从而有效提高自身的网络技术创新能力和工程实践能力.

总之,“双三角”教学模式增强了学生的创新思维能力,加速了学生的实践能力培养进程;NetMagic平台为本科生课堂教学、研究生网络课程教学以及相关的课题设计实验提供了开放灵活的实验环境.二者的紧密结合为网络技术教学和学生创新实践能力培养提供了功能强大的手段.