基于网络功能虚拟化的网络测试实验平台构建
2018-12-05金可仲陈胜凯
金可仲, 刘 军, 陈胜凯
(温州大学 数理与电子信息工程学院, 浙江 温州 325035)
地方本科院校网络工程专业课程的教学,强调对学生解决复杂网络系统工程能力的培养[1],因而需要实验环节的有效支撑。以网络测试课程为例,要求学生“能够基于网络系统工作原理,就复杂工程系统中涉及的局部性功能或性能问题进行研究,设计相关的测试方案,并对测试结果或数据进行分析和解释。”然而,原有的实验资源面临容量不足的压力,制约了实践教学活动的开展,主要表现在以下3方面:
(1) 受实验室容量限制,学生使用实验资源的时长受限,实验环节不易做到有效覆盖;
(2) 受设备数量限制,复杂网络测试拓扑搭建与复杂网络测试实验周期拉长,测试分析与探究性实验受到制约;
(3) 实验资源不足与使用上的不便抑制了学生课外学习的积极性,而课外投入的不足使实验教学效果受到影响。
虚拟仿真实验教学平台的建设无疑为实验教学环境和条件的改善、实验教学方法和手段的改革提供了有力的支撑[2-7],使用高度仿真的虚拟实验不仅节约实体实验室的建设投入与管理成本,其扩展性强的特点还非常有利于开发出新的实验项目来支持学生工程实践能力培养[8]。
笔者依托温州大学网络工程国家级虚拟仿真实验教学中心[9],构建了基于网络功能虚拟化、可扩展的网络测试虚拟仿真实验平台,可以快速响应教学需求,支持复杂网络的测试拓扑创建与下发,为学生实践能力的培养提供了充足的虚拟仿真实验资源。基于Web的访问入口、拖拽式的测试拓扑搭建界面和测试管理功能,方便学生弹性安排时间创建测试场景、执行测试方案,有利于测试实践能力训练与探索分析能力的提高。
1 测试平台相关技术
测试平台的建设目标是将测试课程实践教学环节所需的资源,包括测试仪表、测试设备等虚拟化,同时提供便捷的访问入口和使用模式,构建平台相关的技术,包括NFV、OpenStack、Velocity等。
(1) 网络功能虚拟化。网络功能虚拟化(network function virtualization,NFV)是欧洲电信标准组织(ETSI)提出的一种软件和硬件分离的架构[10-11],将网络功能从硬件设备中剥离出来,使其不依赖于专用硬件资源,方便用户根据需要实现虚拟网络功能并能灵活、动态地部署。NFV减少了采购专用网络设备的费用,以自动化方式部署测试拓扑,因而大幅度降低了对实验场地的占用。这些特点使其非常适合作为构建网络测试虚拟仿真实验平台的支撑技术[12]。
(2) OpenStack。OpenStack是目前开源云计算架构中的主流选择,广泛应用于高校科研教学云计算平台部署[13]。OpenStack包含核心组件和可选组件两部分,其核心组件可以提供身份认证、虚拟机生命周期管理、网络与地址管理、虚拟机镜像管理及UI界面等。OpenStack的这些功能非常适合于网络测试虚拟仿真实验平台的计算资源管理,可根据用户的资源编排需求来创建NFV网元,构建出虚拟仿真的测试拓扑与测试环境。
(3) Velocity。Velocity是专门用于虚拟-物理混合式实验室环境的管理协调器(orchestrator),作为一个LaaS(lab as a service)平台[14]。Velocity可以管理物理层光纤和RF交换机、虚拟网元、虚拟测试仪表等资源,具有预订资源、创建测试拓扑、激活测试拓扑和管理测试环境功能,还可以实现用户的资源共享,例如将同一个测试拓扑下发到不同的计算节点上分别执行测试。Velocity还集成了场景式的访问界面,允许用户以拖拽的方式搭建测试拓扑、编排测试任务,可以为测试平台提供管理功能与用户入口。
2 测试平台的构建
2.1 设计测试平台
在逻辑上,网络测试虚拟仿真实验平台架构分为3层,从下至上分别是物理资源池层、云服务平台层和虚拟网元层。物理资源池由虚拟仿真实验教学中心统一分配,作为平台的基础计算资源;云服务平台负责计算资源的管理,并根据用户需求创建测试所需的虚拟网元和虚拟网络环境;虚拟网元是由云服务平台创建的、面向用户的虚拟实验资源,包括虚拟主机、虚拟路由器、虚拟交换机、虚拟防火墙、虚拟测试仪表等。
Velocity是实验管理协调器和LaaS平台,负责连接云服务平台层与虚拟网元层,向用户提供图形化的操作界面,进行测试拓扑搭建、测试任务编排和虚拟测试环境管理。测试平台框架结构如图1所示。
图1 网络测试虚拟仿真实验平台框架结构
2.2 云服务平台的分离式部署设计
云服务平台以OpenStackJuno为基础构建,负责管理物理计算资源,依据用户需求实现NFV网元创建、虚拟网络连接、地址映射等服务,并向Velocity提供可调用的API,创建其编排的测试任务所需的虚拟化测试环境。
在测试实验中,性能测试、压力测试等场景具有潜在的破坏风险。为确保平台的整体安全,设计了分离式的云服务平台部署模式。将OpenStack组件裁剪定制,创建了适用于单节点部署的All-in-One镜像,并安装到刀片服务器上,负责管理该物理节点上的计算资源,形成独立的云计算节点。若干云计算节点组成计算资源集群,为上层用户提供服务。
分离式结构虽然会降低资源调度的效率,但可以预防高负载测试场景的潜在风险。此外,云计算节点的单点部署模式还具有维护简单、易于扩展的优点,在需求发生变化时,通过部署服务器即可快速实现节点数量的伸缩,调节资源集群大小。
2.3 测试平台的部署
测试平台整体采用“1+n”的部署模式,即在1个物理节点上创建出多个虚拟机用于部署管理服务,形成管理集群,包括部署服务器、NFS服务器、Velocity服务器和ITE服务器。部署服务器与提供镜像存储服务的NFS服务器构成PXE网络,用于将All-in-One镜像安装到物理裸机上,形成云计算节点,以自动化模式提高部署效率。Velocity服务器提供测试资源管理服务和用户访问入口,ITE服务器提供认证、数据库、日志等服务。在N个物理节点上部署云计算节点,组成计算资源集群,其规模可以通过部署服务管理实现弹性伸缩。平台业务部署结构如图2所示。
图2 网络测试虚拟仿真平台业务的部署结构
3 NFV网元功能测试与计算节点压力测试
测试平台上集成了包括2层交换机、3层路由器、防火墙、Windows7、Centos、Ubuntu等NFV网元镜像。为验证网元的功能是否可以满足测试实验项目需求,以测试课程实验项目所需设备的功能点为依据,对其进行了功能验证测试。测试结果表明:NFV网元具备测试实验项目所需的设备功能,可以满足测试课程教学与实践训练需求(见表1)。
表1 NFV网元功能所覆盖的测试实验项目列表
为验证平台对常规实验组数容量的支持,进行了单计算节点拓扑重复下发测试。创建在测试实验场景中常见的4网元拓扑重复下发到同一计算节点。当拓扑下发数量达到8时,系统提示资源不足。在不同的计算节点上执行该项测试操作,结果一致。据此测试结果可知,在“1+N”部署模式下,测试平台最多能提供8×N组常规实验容量,可满足日常教学与课外实训要求。在当前的测试教学实践中,平台的资源部署采用“1+6”模式,以每个计算节点下发3~4个测试拓扑来计,可以提供18~24组实践教学分组使用量,为测试课程教学提供了充足的虚拟仿真实验资源。
4 测试平台使用
在测试课程实践教学中,首先对测试目标进行分析,设计相应的测试拓扑与测试用例。完成测试用例设计后,进入网络测试实验平台创建测试拓扑,执行测试操作,获取测试结果数据并进行分析。以网络测试课程中典型的IP吞吐量测试为例,该项目的目标是对路由设备的IP吞吐量进行性能测试,需要占用测试仪表的2个端口连接被测路由器,进行测试流的收发,其测试物理拓扑如图3所示。
图3 IP吞吐量测试拓扑图
在网络测试实验平台上,首先通过Web方式登录Velocity,进入拖拽式操作界面,选择所需的NFV网元搭建测试拓扑。拓扑搭建完成后将其下发到指定的计算节点上,如图4所示。
图4 测试拓扑创建下发示意图
拓扑下成功后,测试仪表虚拟网元STCv将获得平台分配的管理IP,用于连接虚拟仪表,进行测试所需的端口占用和测试管理配置。而被测路由器的配置,则以所在计算节点的IP地址加上分配给被测路由器虚拟网元的端口号,通过telnet方式进行测试前的配置。完成测试仪表管理配置和被测设备配置后,即可使用测试功能软件,按照测试用例中规划的步骤对被测路由器进行IP吞吐量测试操作。
5 结语
构建的基于网络功能虚拟化的网络测试虚拟仿真实验平台,为网络测试课程的实验教学与实践训练提供充足的虚拟仿真实验资源。平台集成的NFV网元所具有的功能可以覆盖实验项目需求。平台提供的Web入口和拖拽式使用场景方便用户操作,为培养学生的网络测试分析综合能力、实践与创新能力提供了支撑。