APP下载

轻量级虚拟化技术在计算机网络教学中的应用研究

2020-10-12陈曦吴涛

教育教学论坛 2020年38期
关键词:计算机网络

陈曦 吴涛

[摘 要] 该文探讨了网络模拟仿真中存在的问题,提出在教学中以轻量级虚拟化技术作为网络模拟手段,搭建高保真、易编程的实验环境,提供虚拟网络拓扑的设计部署、用户流量的灵活注入、网络指标的监控统计等功能,支撑研究生和本科阶段计算网络教学。

[关键词] 计算机网络;网络模拟;网络仿真;网络虚拟化

[基金项目] 2017年度西南民族大学专业学位研究生教育专项项目(2017YJZX006);2015年度西南民族大学在线开放课程建设项目(2015KCJS07);2019年度国家民委“一带一路”国别和区域研究中心东南亚研究中心项目(SE2019Y07);2019年度四川省科技计划项目(2019YFG0110);2018年度中国博士后科学基金面上资助(2018M643448)

[作者简介] 陈 曦(1985—),男,重庆永川人,西南民族大学计算机科学与工程学院副教授,电子科技大学信息与通信工程学院博士后,研究方向为计算机网络、软件定义网络;吴 涛(1984—),女,山东曲阜人,博士,成都信息工程大学计算机学院副教授(通信作者),主要从事边缘计算、计算智能研究。

[中图分类号] TP393    [文献标识码] A    [文章编号] 1674-9324(2020)38-0371-02    [收稿日期] 2020-07-10

一、引言

研究生和本科阶段的计算网络教学离不开基于软件的网络验证。网络验证主要包括以下两大范畴:

1.网络仿真(Simulation):利用软件模仿真实网络的运行过程。其优点包括:执行速度快,具备压缩的时间轴,因而可快速得到实验结果;由于网络协议和网络设备均用自定义的进程替代,因此可以方便地通过程序脚本快速部署网络拓扑和应用。其缺点包括:协议实现与真实协议有差异,并非真正运行协议本身,因而网络运行的还原度较低。其典型的代表包括:OMNeT++、NS3、OPNET等。

2.网络模拟(Emulation):利用软件再现真实网络的运行过程。其优点包括:在协议方面,运行真实协议,发送标准分组,对网络运行的还原度高;在设备方面,提供接近真实网络设备的配置接口、调用接口。缺点包括:由于运行了基本完整的网络协议栈,对运算资源需求较大,因此部署大规模网络较为困难;操作上主要依赖于人工配置和运行;网络协议栈不包含用户流量生成模块,因此不同流量模型下的大规模流量注入不便;需额外调用多种工具用于分析研究。其典型代表包括:Mininet[1]、GNS3、CISCO Packet Tracer、PlanetLab[2]等。

为克服上述局限性,本文研究将轻量级虚拟化技术如Docker[3]、SDN(Software-Defined Networking,软件定义网络)[4]应用在计算机网络教学中,面向研究生和本科阶段计算网络教学,搭建高保真、易编程的实验环境。

二、轻量级虚拟化技术的应用

1.网络拓扑的设计部署:Docker作为本系统虚拟网络部署的核心技术,将Docker容器作为虚拟网络的网络节点,并结合OVS(Open vSwitch)[5]交换机提供网络节点的网络连通性。首先,Docker容器完整地封装了网络协议栈,并进行隔离运行,是对真实网络协议的高保真再现。相对于传统的采用虚拟机模拟网络节点的方法,Docker容器在实现良好隔离的基础上,对于资源要求更低,易于大规模部署和扩展。其次,Docker具有丰富的镜像仓库,有助于模拟功能复杂的网络(防火墙、深度包检测等),更接近真实Internet。同时,Docker本身提供丰富的网络支持,包括bridge、host、none、overlay、macvlan等网络驱动,Calico等第三方网络解决方案,使得网络部署具有良好的可编程性。前端配合利用jQuery和jsPlumb实现了典型拓扑模板+用户手动拖拽的虚拟网络拓扑结构设计界面,提供了教学的直观性和操作的易用性,可方便地进行虚拟网络拓扑结构的设计和部署。

2.用户流量的灵活注入:利用Docker和OVS等技术将虚拟网络拓扑结构部署到物理宿主机资源池之后,若没有用户流量的注入,则无法对数据平面的性能进行有效评估。这就要求能够在数量众多的虚拟网络端系统上进行大规模的数据请求和响应。在网络模拟工具中(如GNS3、Packet Tracer等),主要依赖人工登录端系统来手动触发数据平面流量(例如手动Ping操作、访问网页等)。一方面,这样的操作所产生的数据量小,难以匹配实际网络的流量规模,也无法长期手工执行,造成教学过程的操作繁琐,容易出错;另一方面,当虚拟网络包含大量端系统时,手工操作变得不可行。相比之下,在网络仿真工具中(如OMNeT++、NS3等),虽然能以特定流量模型批量调用大量端系统注入用户流量,但是,如前所述,其运行的并非实际网络协议,而是仿真进程,因此还原度、保真度相对于网络模拟工具又大打折扣。为解决这一问题,本系统利用Docker等轻量级虚拟化技术,以Docker容器形式模拟运行虚拟网络端系统。Docker提供了各主流编程语言的API支持,無需人工操作容器,Docker API可以方便地启停容器、调用容器内部功能,实现脚本式、规模化管控,因此,可将注入用户流量的逻辑脚本批量运行在模拟端系统的Docker容器中,无需人工干预,即可实现海量用户流量的灵活注入,大大提升了流量注入的可编程性。本系统中,用户流量注入工具采用了docker-py作为与虚拟网络端系统进行交互的编程接口,将需要运行的容器内部应用程序及其所需参数,通过docker-py的exec_run命令发送给Docker容器,从而根据参数执行应用,产生流量注入网络。

3.网络指标的监控统计:Docker本身提供了命令行工具,支持Docker容器级别的监控,同时,第三方容器集群框架(如Kubernetes[3])可实现集中式全局监控,从而实现粗、细粒度监控的广泛覆盖。而OVS交换机受控于SDN控制器,利用LLDP协议进行拓扑发现和心跳维护,若将设备本身的带宽、时延等网络指标封装在可扩展的LLDP协议分组中,则可利用LLDP协议实现捎带网络指标监控、统计,并有效降低监控、统计带来的流量开销。

4.在教學中的应用:本系统的测试版本已在西南民族大学计算机网络相关课程中投入了试点应用,相关专业的研究生和本科生普遍反映本系统具有直观性高、操作方便、易于理解等优势,降低了计算机网络模拟操作的门槛,相对于传统网络模拟/仿真工具,在实验过程中的出错概率也大大降低,取得了良好的教学效果。

三、结束语

综上所述,本文研究将轻量级虚拟化技术如Docker、SDN等应用于计算机网络的教学当中,可以有效地提供网络拓扑的设计部署、用户流量的灵活注入、网络指标的监控统计等功能,深入地帮助理解网络协议的工作原理,有效支撑研究生和本科阶段计算网络教学。

参考文献

[1]Lantz B,Heller B,Mckeown N.A Network in a Laptop:Rapid Prototyping for Software-defined Networks[C]//Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks.Monterey,California:ACM,2010:19:1-19:6.

[2]Chun B,Culler D,Roscoe T.Planet Lab:An Overlay Test bed for Broad-coverage Services[J].SIGCOMM Comput.Commun.Rev,2003,33(3):3-12.

[3]Bernstein D.Containers and Cloud:From LXC to Docker to Kubernetes[J].IEEE Cloud Computing,2014,1(3):81-84.

[4]Mckeown N,Anderson T,Balakrishnan H.Open Flow:Enabling Innovation in Campus Networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-74.

[5]Pfaff B,Pettit J,Koponen T.The Design and Implementation of Open Switch[C]//12th USENIX Symposium on Networked Systems Design and Implementation (NSDI).Oakland,CA:USENIX Association,2015,40:117-130.

Study on the Application of Lightweight Network Virtualization Technologies in the Teaching of Computer Networks

CHEN Xi1,3,WU Tao2

(1.School of Computer Science and Engineering,Southwest Minzu University,Chengdu,Sichuan 610041,China;2.School of Computer Science,Chengdu University of Information Technology,Chengdu,Sichuan 610225,China;3.School of Information and Communication Engineering,University of Electronic Science and Technology of China,Chengdu,Sichuan 611731,China)

Abstract:This paper discusses the issues seen in network emulations and simulations.Lightweight network virtualization technologies are proposed to be applied in network emulations to provide a high-fidelity and easy-to-program experimentation environment.Key features such as topology design and deployment,flexible injection of user traffic,monitoring and statistics of network metrics are provided to support the teaching of computer networks for postgraduates and undergraduates.

Key words:computer networks;network emulation;network simulation;network virtualization

猜你喜欢

计算机网络
基于模式匹配的计算机网络入侵防御系统
云计算下的计算机网络安全性研究
面向对象的计算机网络设计软件系统的开发
关于计算机网络存储技术分析
计算机网络环境下混合式教学模式实践与探索
计算机网络信息安全及防护策略
计算机网络可靠性的提升策略
计算机网络技术的应用探讨
计算机网络维护工作的思考
浅析计算机网络管理系统的构建和应用