基于自动化评测的软件定义网络虚拟仿真实验平台
2019-10-08林为伟叶福玲
张 栋,林为伟,2,叶福玲,2
基于自动化评测的软件定义网络虚拟仿真实验平台
张 栋1,林为伟1,2,叶福玲1,2
(1. 福州大学 数学与计算机科学学院,福建 福州 350116;2. 福州大学 网络信息安全与计算机技术实验教学中心,福建 福州 350116)
针对传统网络课程实验平台依赖验证操作、实验结果难评判、缺少操作数据分析等问题,提出面向软件定义网络课程的自动化评测虚拟仿真实验平台,描述了支持具有解决复杂网络工程问题能力培养的实验平台架构,阐述了支持开放化、多元化的实验方案与实验操作自动化评测引擎的设计,收集并分析了实验操作的错误或故障处理数据,描述了基于CVM和KVM的差异化方案,通过“SDN拓扑搭建和OpenDayLight操作”展示实验平台的系统方案。
自动化评测;软件定义网络;虚拟仿真;实验平台
计算机网络是高校计算机专业的核心课程,网络实验是计算机网络教学重要的、必不可少的环节[1]。虚拟仿真具有低成本、高效率、功能全、安全等优点,在计算机网络实验教学应用中已十分普遍[2-3]。但是,现有计算机网络虚拟仿真实验平台存在着一些问题:(1)依赖教程步骤的操作验证性实验无法支撑解决复杂工程问题能力的培养;(2)实验结果无法有效验收,依赖实验报告、实验结果截图,或客观题、文本比对等方式;(3)学生实验数据或实验故障处理无法有效收集和整理分析,缺乏大数据时代的有效反馈和教学改进。此外,传统网络灵活性和可控性较差,增加部署协议或规则是很繁琐的工作[4]。传统网络课程实验设计多以验证性实验为主,难以在共性问题上突破,而软件定义网络(software defined network,SDN)的出现为问题解决提供了契机。
SDN是一种新型网络创新架构,其核心技术是将控制平面与数据平面分离,为网络应用和创新提供良好的平台。2009年,刚刚诞生不久的SDN概念就入围麻省理工学院《Technology Review》杂志评出的年度10大前沿技术,获得了学术界和企业界的广泛认可和大力支持[5-7]。因此,SDN这一颠覆性的技术被认为将对未来互联网产生革命性的影响,在很大程度上代表了未来网络的发展方向。
由于SDN开源软件种类及版本多、安装配置复杂,比如软件定义网络课程实验直接采用现有系列开源软件,将使课时难以负荷SDN实验操作,因而考虑整合现有SDN开源工具和硬件设备,自制基于自动化评测的低成本、易扩展、一体化的实验平台[8]。SDN数控分离、集中控制的特点,增加了网络的灵活性和可编程性,使平台能更加专注于解决复杂网络工程问题能力的培养,并且平台可自动化、智能化评测实验操作结果,能减轻教师批改实验报告工作量,还可有效收集和整理分析实验数据,为改进实验教学提供大数据支持,有助于解决现有计算机网络虚拟仿真实验平台面临的共性问题。因此,自制基于自动化评测的SDN虚拟仿真实验平台成为了课程最终的选择[9-11]。
1 实验平台的设计与实现
实验平台的设计紧密围绕解决现有计算机网络虚拟仿真实验平台面临的共性问题。平台整合系列开源工具,实现了Mininet实验、OVS虚拟交换机实验、控制器实验、南向OpenFlow操作、北向基于REST API应用开发等SDN基础操作的虚拟仿真实验,以及以上述实验为基础的综合案例设计实验,训练学生解决实际复杂网络工程问题的能力。平台设计实现了对应多元化方案实现和网络操作的自动化评测引擎,用于实验结果的自动化评测和错误提示,减轻批改工作量。平台为在大数据时代有效收集和整体分析实验数据、故障操作提供了有效支持。此外,平台具备用户管理、课程资源管理、题库管理、自定义或随机组卷等实验教学平台功能,支持多组学生用户个人或组队实验[12]。
实验平台的技术方案采用了B/S架构,前端基于jQuery+ HTML,后端基于PHP,数据库采用MySQL 5.7版本。基于此架构的网络拓扑如图1所示,服务器运行实验平台软件,集成了镜像创建和部署功能,便于管理员管理维护实验的系统环境,同时还存储了系统数据。平台支持学生组队实验,每组学生可使用2台虚拟机和1台物理机。VM2操作系统为Ubuntu 16.04版本,主要安装Mininet轻量级平台、Open vSwitch虚拟交换机、网络包分析软件、Java Web服务器Apache,以及自动评测程序;VM3操作系统为Ubuntu 16.04版本,安装OpenDayLight开源控制器,完成对VM2中OVS的控制,另外还安装有http请求模拟工具Postman,而PC1用于完成基于OpenDayLight的北向API实验。
图1 实验平台网络拓扑
实验平台提供了层次化的适应复杂网络工程问题能力培养的实验内容,见表1。实验内容贯穿SDN的数据层、控制层和应用层的3层网络架构,涵盖了南北向协议,有助于全面理解和掌握SDN的知识与技术,并且难度循序渐进。
(1)基础实验,以操作性实验为主,难度最小,目的是熟悉各类SDN开源工具的使用,包括使用Mininet搭建SDN网络拓扑、Open vSwitch使用及Wireshark抓包实验、OpenDayLight开源控制器操作、L2/L3/L4的流表下发与验证。
(2)进阶实验,难度略微提高,包括控制平面和应用平面的北向协议、调用OpenDayLight北向API实现SDN北向应用开发。
(3)案例实验,难度最大,针对SDN场景及案例,实验平台设计了综合性的案例实验及应用开发的工程性实验,训练学生综合应用SDN知识和技术,培养解决复杂网络工程问题的能力。
表1 平台支持的实验内容
针对传统虚拟仿真实验平台实验结果验证效率较低、实验数据收集分析困难,实验平台创新性地设计实现了实验结果的自动化评测引擎,如图2所示。学生提交实验结果后,平台根据拓扑搭建、流表下发与验证或北向API调用和开发等不同的题型,选择不同的评测引擎,获取实验结果,和标准答案完成比对,如果答案错误或有部分错误,平台均会针对错误部分列出错误提示。自动化评测功能减轻了以往教师逐一核查实验结果或实验报告的工作量,有效防止了实验文本报告的抄袭。由于自动化评测引擎能够保存实验评测结果至后台数据库,因此实验平台可利用评测数据,在实验后为教师分析学生实验操作和故障处理、改进实验教学与答疑提供了持续化的大数据支持。
除了应有的通用功能,实验平台还实现了虚拟化的跨平台支持,考虑实验支持的并发用户数、虚拟机数量、存储容量、运行性能、成本等因素,提供了实验平台基于CVM和KVM的差异化的两种产品方案。在SDN虚拟仿真实验平台功能的设计和实现、案例和作用方面,都立足“以学生为中心,以产出为导向”的理念,以培养解决复杂工程问题能力达成为核心。
图2 自动化评测流程
2 实验平台的教学展示
通过“SDN拓扑搭建和OpenDayLight操作”实验对提出的SDN虚拟仿真实验教学平台进行展示[13-15]。实验共有3个小题,第一题要求使用Mininet搭建如图3所示的网络拓扑,并连接OpenDayLight控制器;第二题要求用控制器向交换机s1下发类型为select的组表,组表id设为1,设置为2个桶,动作分别为向交换机s2和s3转发;第三题要求用控制器向交换机s1下发2条流表,id分别设为1、2,分别匹配h1、h2的数据包,动作设置为group:1。为了保证流表正常匹配,需将流表的优先级设置大于100。
图3 基础实验案例网络拓扑
实验开始前,用户需分别访问虚拟机VM2和虚拟机VM3。实验平台支持远程访问,既可以通过平台内置的VNC访问虚拟机,也可以通过外部VNC访问虚拟机,两种方式均易于操作。登录虚拟机之后,即可开始实验。实验过程中,通过虚拟机集成的系列开源软件,可便捷地完成拓扑搭建、控制器下发流表等SDN基本实验操作和验证。
(1)拓扑搭建,远程连接控制器。编写拓扑的Python脚本,在Mininet启动命令中加载,命令中还需包含控制器的地址和端口号,即可创建图3的网络拓扑。连接控制器成功后,在控制器的Web UI即可查看拓扑的图形化展示,如图4所示,和实验要求的拓扑一致。
图4 OpenDayLight查看拓扑的图形化展示
(2)控制器向s1下发流表。在OpenDayLight的YangUI找到相应API,选择put模式,按照题目要求设置好相应参数,对交换机s1(OpenFlow 1)操作下发流表。如操作无误,则测试通过,如图5所示;否则提交失败,扣减相应分数,并给出错误提示,如图6所示,修改后重新提交并测试通过。
图5 实验平台评测第三题流表下发正确
图6 实验平台评测第三题流表下发错误
3 结语
相比传统网络,SDN具有更强的灵活性和可编程性,对SDN课程实验平台的设计提出了更高要求。低成本、易扩展、一体化的SDN虚拟仿真实验平台,支持培养具有解决复杂网络工程问题能力的多元化实验方案部署的接口,设计了实验操作的自动化评测引擎,能自动验证实验结果的有效性与正确性,有效收集和整理分析学生实验操作中的错误或故障处理数据。在平台功能设计、案例实现方面,立足于解决传统网络类课程虚拟仿真实验平台的共性问题,以支持培养学生解决复杂网络工程问题能力为核心。
[1] 琚生根,陈黎,周刚,等. “计算机网络”实验课程的教学探讨[J].实验技术与管理,2013, 30(4): 159–161, 165.
[2] 许小东,吴军强,杜选.构建虚实结合的计算机网络类实验平台的研究[J].实验技术与管理,2017, 34(6): 127–130.
[3] 孙界平,琚生根,陈黎,等.计算机网络虚拟仿真实验平台的建设实践[J].实验技术与管理,2017, 34(8): 115–117, 128.
[4] 于洋,王之梁,毕军,等.软件定义网络中北向接口语言综述[J].软件学报,2016, 27(4): 993–1008.
[5] 张朝昆,崔勇,唐翯祎,等.软件定义网络(SDN)研究进展[J].软件学报,2015, 26(1): 62–81.
[6] 黄韬,刘江,霍如,等.未来网络体系架构研究综述[J].通信学报,2014, 35(8): 184–197.
[7] 邓书华,卢泽斌,罗成程,等. SDN研究简述[J].计算机应用研究,2014, 31(11): 3208–3213.
[8] 徐磊.基于软件定义网络的计算机网络课程实验教学研究[J].计算机教育,2017(5): 150–153.
[9] 陈宜建,杨全会,张素琴.自制实验平台的应用[J].实验室研究与探索,2017, 36(2): 276–278, 288.
[10] 张莉英,王怀明,韩文仲,等.自己研制实验设备提高师生实践能力[J].实验技术与管理,2015, 32(5): 98–100.
[11] 楼建明,傅越千,安鹏,等.基于能力培养自制实验仪器设备[J].实验技术与管理,2014, 31(9): 81–86.
[12] 肖明,石泽顺.计算机网络实验课程的探索与改革[J].计算机教育,2016(4): 103–106.
[13] 叶进,冯露葶,何华光,等.基于虚拟化技术的软件定义网络实验教学方案[J].实验室研究与探索,2017, 36(3): 79–82.
[14] 黄家玮,刘敬玲,徐文茜,等.软件定义网络的实验教学方案设计[J].计算机教育,2017(3): 152–154.
[15] 张连成,奚琪,郭毅,等.基于Mininet模拟环境的软件定义网络实验课程设计[J].计算机教育,2015(6): 104–107.
Software defined network virtual simulation experiment platform based on automated evaluation
ZHANG Dong1, LIN Weiwei1,2, YE Fuling1,2
(1. College of Mathematics and Computer Science, Fuzhou University, Fuzhou 350116, China; 2. Experimental Teaching Center of Network Information Security and Computer Technology, Fuzhou University, Fuzhou 350116, China)
In view of the problems of traditional experimental platform of network courses such as dependence on verification operation, difficulty in judging experimental results and lack of operational data analysis, an automatic evaluation virtual simulation experimental platform for Software-defined Network course is proposed. The experimental platform architecture which supports the ability to solve complex network engineering problems is described, the design of an open and diversified experimental scheme and an automatic evaluation engine for experimental operation are illustrated, the errors or fault handling data of experimental operation are collected and analyzed, the differential scheme based on CVM and KVM is elaborated upon, and the system scheme of the experimental platform by “SDN topology nuilding and OpenDayLight operation” is demonstrated.
automated evaluation; software defined network; virtual simulation; experiment platform
TP 393; G 434
A
1002-4956(2019)07-0083-04
10.16791/j.cnki.sjg.2019.07.021
2018-12-10
教育部产学合作协同育人基金项目(201602012018);福州大学学科特色创新创业课程建设项目;福建省服务产业特色专业建设
张栋(1981—),男,福建福州,博士,副教授,主要研究方向为软件定义网络.E-mail: zhangdong@fzu.edu.cn