网络技术发展日新月异,给计算机网络教学带来了新的挑战。网络实验是加深学生对网络工作原理的认识,提升其从事网络技术研究能力的重要手段。在计算机网络教学中开设综合实验,不但可以锻炼学生的动手能力,而且也是教师有效衔接教学与科研的重要手段。
传统计算机网络综合实验主要进行Socket编程,利用Wireshark等工具进行抓包分析,或基于商用交换机进行配置组网等。这些实验易于开展,对学生了解网络协议和网络设备基本工作原理有一定作用。但这些实验把网络设备作为“黑盒”,学生无法通过上述实验了解网络设备内部的工作原理,难以了解计算机网络中最核心的路由交换原理,不能触及IP路由转发等互联网技术的精髓。
美国斯坦福大学尼克·麦基翁(Nick McKeown)教授指出:“目前设备制造商研制的高性能网络设备,如路由器、交换机和各类中间盒(Middlebox),均使用ASIC/NP/FPGA等硬件芯片实现IP层分组的处理,而学生对高性能网络设备原理的了解只限于书本,对高性能网络设备研发,特别是网络硬件的研制缺乏必要的了解,因此在就业方面缺乏竞争力。”[1]为此,2004年他在斯坦福大学开设了基于可编程硬件平台NetFPGA[2]的实验课“Building an Internet Router”[3,4],在教学团队指导下,学生独立完成交换机、路由器等网络设备的原型设计。该课程不仅使学生加深了对网络设备工作原理的理解,在培养学生动手实践能力方面也取得了巨大成功。他的研究生马丁·卡萨多(Martìn Casado)就是基于NetFPGA平台,实现了最早的OpenFlow交换机原型,成为公认的软件定义网络(SDN)的发明人。
2009年,国防科大开设了研究生课程“路由器原理与设计”,并为课程实验研制了类似NetFPGA的可编程平台NetMagic[5,6]。2011年5月,由中国计算机学会(CCF)主办,CCF互联网专委会承办,国防科技大学计算机学院协办的第一届NetMagic技术与应用研讨会在长沙召开,来自国内和香港地区的近20所高校的80余名代表参会,目前NetMagic应用研讨会已成功举办5届,相关创新实验先后在SIGCOMM、中国计算机大会(CNCC)、中国高等教学仪器展上展示,NetMagic平台也先后在国防科大、湖南大学、东南大学和清华大学等高校的计算机网络实验教学中得到应用。
基于NetMagic的网络实验教学
在国防科大,每年大概有30~40名研究生选修《路由器原理与设计》课程,并基于NetMagic平台开展课程实验。这些实验在加强学生对网络核心机制的理解,提升其工程实践能力方面发挥了重要作用。研究生通过课程实验熟悉NetMagic可编程平台后,在后续科研过程中也更加倾向于使用该平台进行科研的创新活动,NetMagic在国家级科研项目中也得到越来越多的应用,如路由器和SDN交换机设计、网络延时测量、流媒体传输质量监控、分组深度监测、网络加解密、网络入侵检测以及城域网流量仿真等。
湖南大学自2015年开始已连续两年在夏季“小学期”中,组织三年级本科生基于NetMagic平台开展为期4周的“路由器/交换机设计综合实验”。参加这门课程的本科生对这类基于可编程网络硬件的实验教学评价很高,他们认为通过实验不仅熟悉了该网络实验的相关原理,还锻炼了团队合作能力。
虽然基于NetMagic的网络实验教学取得了很好的效果,但是施教者和学习者都存在一定的畏难情绪。有的教师认为实验过于复杂,自己没有足够的精力和时间来组织和指导学生学习;而学生则认为实验课程占用的时间和精力比较多。
图1 NetMagic平台及其在网络教学实验中的应用
(a)NetMagic08外形 (b)NetMagic08板卡 (c)基于NetMagic的实验 (d)国防科大研究生在宿舍实验
(e)湖南大学本科开展综合实验 (f)东南大学本科进行学生实验前的培训
对网络实验教学的再思考
有竞争力的网络实验的特征
有竞争力的课堂实验应具备5个要素,如图2所示。从教师的角度看,考虑到当前科研在高校中的重要地位,教学实验如果能支持老师的项目申报和论文撰写等科研活动,则能激励其使用实验平台,在实验案例的开发上投入更多时间。此外,还需要最大限度地减轻教师在实验组织时的负担(如从事繁杂的实验环境准备,对不可预见的实验现象进行分析解释),并尽可能地降低学校在实验平台建设时的经济负担。从学生角度讲,有竞争力的实验需要一些能使其“上瘾”的案例,能够让学生体验到真正操控网络的“快感”,这就需要一些开放式的案例,为学生的创新提供足够大的空间;还要有能够让学生参加创新竞赛的机会,支持其论文撰写和专利申请,提升其就业竞争力。只有这样,才能吸引学生把几乎“无穷多”的课外时间更多地花费在实验上。
图2 网络实验教学的五个关键要素
基于开源项目的实验教学方法
近些年,开源文化在IT领域迅速得到普及,其倡导的开放、对等、共享、协作的核心理念在高校中更容易得到认可。如果计算机网络教学实验能够建立在开源项目基础上,那么实验课的教师和学生就都能站在更大的平台上,并得到开源社区中其他高校教师和相关科研机构专业人员的指导。表1通过对比有竞争力的网络实验的5个关键要素,说明了基于开源项目进行计算机网络实验教学的优点。
表1 基于开源项目进行计算机网络实验教学的优点
此外,微信等即时通信工具为开源社区的交流提供了更加高效和便捷的手段。作为实验的组织者,教师只需要负责讲授实验相关理论知识,确定实验目的、实验内容以及需要的实验案例,专业的计算机网络教学实验服务提供商可通过建立微信群等手段实现对实验助理的培训,实验过程的指导,甚至是实时的视频答疑等工作。
基于FAST开源项目的教学实验
FAST项目简介
为支持SDN交换技术的教学与科研,2016年我们在基于NetMagic平台的SDN交换机实现框架上,提出了FAST(Fpga Acceleated Switching plaTform)架构[7]。FAST针对多核CPU加FPGA的异构分组处理平台,提出了软硬件协同的交换体系结构,通过定义与平台无关的FPGA用户逻辑(UM)接口规范和用户空间软件编程的API,支持对可编程交换平台软硬件功能的定制。同时,FAST代码与具体厂商,具体型号的网络实验平台解耦,除了NetMagic平台,FAST代码还可在湖南新实网络的Openbox系列,清华比威的NetWire系列和国芯网安的BEX系列网络设备上运行。
2016年10月15日,基于FAST架构和Openbox硬件平台的OpenFlow1.3交换机在CCF主办的“2016年SDN交换技术研讨会”上进行了组网演示。会议同时发起成立FAST开源项目,来自20个单位的36名代表申请成为项目成员和观察员,参加了FAST开源项目第一次工作会议,宣布FAST开源社区正式成立。
基于FAST开源项目的网络实验
FAST开源社区建立了不同学校师生间的交流渠道,一些学生自己通过实验逐渐掌握和熟悉开源平台后,会在社区中积极地帮助他人。例如2016年12月22日,国防科大一名四年级本科生开始进行基于NetMagic的SDN交换机组网实验,来自国防科大、中国传媒大学、东南大学、清华大学和桂林电子科技大学的多名本科生和研究生就该实验参与讨论,共计200多条记录,20多个截图,通过一步步指导,使其在2017年1月5日顺利完成实验。FAST开源社区还建立了专门支持计算机网络实验的微信群,直接面向高校计算机网络实验提供服务,极大减轻了实验指导教师的负担。
依托FAST开源项目,网络实验教学服务提供商可进行更加高级的实验案例设计。例如,湖南新实网络科技有限公司基于FAST架构,设计了25个核心教学案例,基本覆盖了从以太网帧观测、分组转发查表、基于令牌桶的流量控制,一直到SDN交换机设计等路由交换实验教学的全部内容。同时,为了激励学生的实验兴趣,设计了“基于应用协议识别的微信抢红包控制”案例,基于该案例,学生可从网络设备的角度,实现对微信抢红包过程中手机与服务器交互的每个分组的识别、捕获和控制。
随着SDN/NFV等技术的发展,网络设备平台化趋势愈加明显。开源项目已经成为平台化发展趋势下相关标准制定、技术研发、多厂商互联互通和兼容性测试的重要平台。面向科研和教学的FAST开源项目也发展迅速,为功能可定制和可扩展的SDN交换平台实现带来新的手段。
当前,国防科技大学、北京邮电大学、东南大学、解放军理工大学、南京航空航天大学和电子科技大学等高校的教师已经基于FAST项目进行相关研发,作为科研项目研究的技术途径。 ■
参考文献:
[1] Casado M,Watson G,McKeown N. Teaching Networking Hardware[C]//Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education. New York: ACM Press, 2005:208-212.
[2] Netfpga[EB/OL].[2016-01-11].http://Netfpga.org.
[3] Gibb G, Lockwood J W, Naous J, et al. Netfpga: An open platform for teaching how to build gigabit-rate network switches and routers[J]. IEEE Transactions on Education, 2008, 51(3): 364-369.
[4] Watson G, MxKeown N, Casado M. Netfpga—a tool for network research and education[EB/OL]. [2016-01-11].http://yuba.stanford.edu/~casado/watson-stanford.pdf.
[5] Netmagic[EB/OL].[2016-01-11].http://www.netmagic.org.
[6]毛席龙, 李韬, 孙志刚. NetMagic网络创新实验平台指南[M].国防科学技术大学出版社,2012.
[7]什么是FAST[OL].www.fastswitch.org.
所有评论仅代表网友意见