基于软件定义网络的计算机网络课程实验教学研究

2017-05-31 13:46徐磊
计算机教育 2017年5期
关键词:软件定义网络实验教学

徐磊

摘 要:围绕网络新技术发展对人才培养的新需求,针对困扰计算机网络课程实验教学的一系列问题,探讨利用虚拟化技术和软件定义网络框架建设实验教学平台的方法,提出基于单机模式建立低成本、易扩展的一体化实驗平台教改方案,给出参考实验实例,展示该平台对传统网络实验的兼容性和开展综合性与设计性实验的潜力。

关键词:计算机网络课程;实验教学;软件定义网络;OpenFlow

文章编号:1672-5913(2017)05-0150-04

中图分类号:G642

1 背 景

近年来,虚拟化技术和云计算兴起,云数据中心、多租户网络等新的应用场景推动了传统网络设计与管理模式的进步,软件定义网络(Software Defined Networking,SDN)及其重要技术OpenFlow作为创新网络架构,已成为学术界和工业界的关注热点,不少大学建立了SDN/ OpenFlow试验网,开展网络领域的创新研究与探索。从2008年美国斯坦福大学Nick McKeown教授领导的Ethane团队(Clean slate计划)首次提出OpenFlow协议原型[1],到2012年ONF发布SDN白皮书 [2]1-12,SDN及OpenFlow完成了从试验平台向业务网络部署的跨越,SDN/ OpenFlow解决方案已在谷歌等云计算数据中心内部骨干网上发挥了令人瞩目的作用[3],国内外主流网络厂商推出了多种SDN/OpenFlow交换机[4],SDN和OpenFlow技术的发展给网络人才的专业需求注入了新的内容,也给计算机网络课程理论与实验教学的改革指出了新的研究方向。

目前网络实验室建设更新周期普遍较短,无论是采用传统网络设备的实验平台,还是专用的课程教学实验系统,大多面临扩展和更新的要求,实验设备和实验学时不足,实验内容以验证性实验为主,缺乏设计性实验和综合性实验,实践环节薄弱。针对这些困扰实验教学的问题,已有不少实验教学改革的努力成果[5-7]。从目前的实验教学改革方案来看,多数仍依赖普通网络设备或传统网络仿真与协议分析软件,尚不足以完全解决上述问题。

为了适应网络技术发展对人才培养的新需求,提升学生自主学习能力和实践动手能力,给计算机网络课程教学提供低成本、易扩展、一体化的实验平台,扩展和深化实验内容,有必要在网络实验教学改革中引入SDN架构和虚拟化技术。

围绕SDN和OpenFlow有很多开放标准的开源项目,涵盖了多种SDN系统构件,包括OpenFlow软件交换机、SDN控制器、业务流程工具、网络虚拟化工具、仿真和测试工具等,丰富的开源资源为建立新型网络实验平台提供了实现的可能[8]。

2 SDN体系的主要组成

2.1 SDN的概念与原理体系架构

传统计算机网络的控制平面和数据转发平面是通过网络设备紧密耦合的,SDN的思想是将控制平面与数据转发平面分离,把网络协议的复杂性集中到控制平面,SDN控制软件通过开放标准的南向接口(如OpenFlow协议)控制数据平面,通过可编程的北向接口(开放的API)为应用层业务定制所需的网络服务。SDN的原理体系架构见图1[2]7。

SDN架构能够提供网络抽象层面上的集中控制能力和网络虚拟层面上的资源配置能力,使网络虚拟化与计算虚拟化、存储虚拟化联系一起,有力支持云计算服务的发展。

2.2 SDN控制器

SDN控制器(SDN控制软件)的功能相当于SDN的网络操作系统,向下提供对数据转发设备的配置、控制和管理功能,向上为应用业务提供网络编程接口。SDN控制器在逻辑上是集中的,在物理上可以是分布式的。

2.3 OpenFlow交换机

OpenFlow交换机是SDN数据平面的网络设备,它按照流表(flow table)的设置进行转发。流表由控制器通过安全通道配置,决定OpenFlow交换机的转发行为。流表项包括跨多个网络协议层次的匹配字段和转发行为。OpenFlow交换机的协议工作层次可以根据组网需要进行配置,可实现二层交换机、路由器和其他高层协议及策略的转发功能。

OpenFlow交换机有硬件形态和软件形态两种形式,硬件OpenFlow交换机适用于生产型网络的组建,软件交换机多用于搭建研究和测试平台。由于软件交换机成本低、配置灵活,对OpenFlow规范版本的更新及时,适合在高校的科研教学环境中使用。对于教学实验平台,建议采用可运行在虚拟机上的软件交换机Open vSwitch。

3 基于SDN和OpenFlow的网络实验教学平台建设方案

3.1 校园环境SDN的组网方式

校园环境中的SDN有不同的规模及组网方式,选择哪种取决于其在科研和教学活动中的目标定位,可以将其分为园区模式、实验室模式和单机模式。

园区模式基于校园网主干和硬件OpenFlow网络设备,用户可利用SDN和OpenFlow提供的网络虚拟化及逻辑隔离能力,在不影响校园网承载的正常业务的情况下,进行大规模的创新网络项目研究和试验,从而能够在真实网络流量背景下,对新型网络协议、新型网络业务等研究项目展开测试、评估和部署。

实验室模式的OpenFlow交换机可利用多网卡服务器实现,具体有两种途径:一种是在服务器上安装NetFPGA板卡和OpenFlow软件;另一种直接在服务器上安装 Open vSwitch软件,实现OpenFlow软交换机。创新型研发工作可采用前者,教学实验平台可以采用后者。

单机模式的实验平台利用虚拟机技术和SDN仿真软件搭建。Mininet是斯坦福大学Ethane研究团队开发的SDN/OpenFlow网络仿真工具。不同于传统的网络模拟软件,Mininet还是一个快捷的原型系统开发工具,它集成了Open vSwitch软件交换机,能运行实际网络协议栈和原汁原味的代码。在Mininet仿真平台上可以进行网络新功能的开发测试,然后再迁移到实际的目标网络上。Mininet仿真的虚拟网络还可以与实际网络连通。endprint

实验室模式和单机模式的SDN环境都可以作为教学实验平台的构建方案,前者更接近真实网络,但是组网需要更多计算机(每一个主机或交换机节点都需要一台物理主机),而Mininet能够在一台个人计算机上仿真整个OpenFlow网络,网络的扩展性及其拓扑设计的灵活性更好,因而更适合课程教学实验应用。

3.2 基于Mininet的单机实验环境构建方案

Mininet是基于Linux 内核虚拟化技术开发的轻量级网络虚拟化平台,它提供了仿真SDN网络的所有构件:OpenFlow交换机、SDN控制器、虚拟主机节点。Mininet虚拟机镜像中还预装了常用的协议分析工具Wireshark,能够在独立的图形化界面中分析网络协议流量,可作为搭建网络实验环境的一个一体化解决方案。表1给出了Mininet单机环境的构成。

由于每台主机都能构成一个独立和完备的网络实验平台,完全可以按照通用PC机房的模式建设网络实验室,其在容量和扩展性上的优势显而易见。实际上,部分学生的个人计算机已经安装了虚拟机系统,搭建个人Mininet实验环境可谓简便易行,作为集中实验环节的补充,不仅能够解决实验设备和实验课时不足的问题,还能进一步开展课外自主实验与创新探索活动。

4 Mininet单机环境中的网络实验

由于采用了虚拟机技术,教学时能够在Mininet平台使用流行操作系统的网络测试命令和协议分析工具,对仿真网络进行测试,还可以通过图形化交互窗口进行管理,保证了传统的网络实验内容在Mininet环境中的无缝衔接,这是Mininet优于传统网络仿真软件(如NS2、OpenNet)的地方。Mininet提供预定义的网络拓扑结构(最小化拓扑、树型、星型等),支持用户编写脚本自定义网络拓扑,还能通过API 开发新型网络功能。因此,在该平台上安排教学实验有很大的设计空间,表2给出了综合性与设计性实验的参考实例。

通过所示的综合性实验,学生既能观察交换机外部行为,又能深入学习内部工作原理及算法实现;设计性实验有助于提高学生的实践动手能力,建立对网络对象的系统级认知。从实例中看到,验证性实验细节均能够利用常用网络测试命令和协议分析工具完成。

使用Mininet实验环境需要掌握虚拟机技术和多种自由软件安装配置,综合性实验需要学习Mininet的常用命令,设计性实验需要学生掌握Python脚本语言的编程,实施中需要增加实验环境维护和实验过程指导的工作量,具体的实验教学计划可以根据专业定位、学时限定和培养目标来规划。

5 结 语

SDN框架和虚拟化技术是网络领域的重要发展方向,在此基础上搭建的Mininet实验环境是一个独立和完备的一体化网络实验平台,能够解决目前实验教学存在的诸多问题。参考实验实例说明了该平台对传统网络实验的兼容性以及灵活规划综合性与设计性实验的潜力。以此为基础进一步完善实验改革方案,能够为学生开拓更大的自主学习与实践探索的空间,使课程教学与网络技术发展接轨,充分发挥计算机网络课程实验教学在创新人才培养过程中应有的支撑作用。

参考文献:

[1] McKeown M, Anderson T, Balakrishnan H, et al. OpenFlow: Enabling innovation in campus networks[J]. Computer Communication Review, 2008, 38(2): 69-74.

[2] Foundation O N. Software-Defined networking[J]. The New Norm for Networks, 2012(7): 1-12.

[3] 劉诚明. 软件定义网络[M]. 北京: 人民邮电出版社, 2013: 50-51.

[4] 黄韬, 刘江, 魏亮, 等. 软件定义网络核心原理与应用实践[M]. 北京: 人民邮电出版社, 2015: 85-97.

[5] 周国军. 计算机网络课程实验教学改革探讨[J]. 计算机教育, 2016(7): 45-48.

[6] 吴敏纲, 詹沐清. 高校计算机网络实验教学改革与探讨[J]. 信息与电脑(理论版), 2015(21): 174-174.

[7] 刘伦. 开放式计算机实验教学改革研究[J]. 计算机教育, 2013(2): 100-102.

[8] Azodolmolky S. 软件定义网络: 基于OpenFlow的SDN技术解密[M]. 北京: 机械工业出版社, 2014: 137-159.

(编辑:孙怡铭)endprint

猜你喜欢
软件定义网络实验教学
LabVIEW下的模拟电路实验教学创新对策
基于科学探究的高中生物实验教学探索
网络与云技术在实验教学中的应用
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
初中化学实验教学中“微课”教学模式的探讨
谈初中化学实验教学的初探
中国联通SDN的思考和应用实例
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法