基于虚拟化技术的软件定义网络实验教学方案
2017-04-25冯露葶何华光李陶深
叶 进, 冯露葶, 何华光, 李陶深
(广西大学 计算机与电子信息学院,南宁 530004)
·专题研讨——虚拟仿真实验(43)·
基于虚拟化技术的软件定义网络实验教学方案
叶 进, 冯露葶, 何华光, 李陶深
(广西大学 计算机与电子信息学院,南宁 530004)
提出了采取虚拟仿真实验教学手段进行软件定义网络(Software Defined Network,SDN)实验教学,给出了具体的实验教学方案。采用网络仿真平台Mininet构建SDN网络,采用OpenDayLight控制器集中式控制SDN网络。最后以“SDN转发表控制”实验为例,对提出的SDN实验教学方案进行实验过程展示。在整个实验的实验过程中,学生只需通过简单的操作就可以完成SDN控制器对整个网络设备集中化管控与调度。提出的基于虚拟化技术的SDN实验教学方案有助于提高SDN课程的教学质量和激发学生学习SDN的兴趣。
计算机网络; 软件定义网络; 虚拟化; 实验教学
0 引 言
软件定义网络(Software Defined Network,SDN)作为一种新型网络创新架构成为近几年来网络技术领域的热门。国内外众多互联网厂商、通信设备厂商、芯片厂商、电信运营商都纷纷推出了自己的SDN产品和解决方案,并进行SDN实际部署。2012年,谷歌宣布通过在全球数据中心部署SDN将数据中心之间的互联链路利用率提升至90%以上,标志着SDN正式进入商用阶段。同时,我国对抢占未来网络领域发展先机也给予了高度重视,2013年2月23日,国务院正式下发8号文件,将未来网络试验设施项目列入《国家重大科技基础设施建设中长期规划(2012-2030年)》。
SDN起源于美国斯坦福大学。2008年,McKeown等[1]提出SDN的概念:将传统网络设备的数据平面和控制平面两个功能模块相分离,通过集中式的控制器以标准化的接口对各种网络设备进行管理和配置。SDN的核心特点就是通过SDN控制器集中式控制网络,掌握网络设备现有的网络处理能力,对网络流量进行动态调控分配,提高网络链路和网络资源的利用率。
将SDN引入教学课程是个必然的趋势。同时,在以往对计算机网络的教学中,特别注重理论教学和实践教学相结合,通过各种不同的网络实验案例来帮助学生理解计算机网络的基本概念和算法协议的工作原理,掌握计算机网络通信和组网的相关操作[3-4]。所以,本文提出SDN的实验教学与理论教学并重。
1 SDN实验教学方案
虚拟仿真实验教学是高等教育信息化建设和实验教学的重要手段,是学科专业知识体系与信息技术深度融合的产物[5-11]。目前,国内市面上的SDN产品并不多,同时许多高校实验教学中普遍存在的实验设备陈旧、实验采购经费短缺等一系列问题,所以提出基于虚拟化技术进行SDN实验教学。
虚拟化技术是一种对计算机资源进行抽象模拟的技术,在已有计算机硬件资源的基础上,模拟出虚拟硬件资源。通过虚拟化技术可以最大限度地屏蔽软硬件资源的差异性,根据需要灵活分配资源,减少总体成本[12]。所以,在SDN教学中,可采用网络仿真平台Mininet构建SDN网络。Mininet是斯坦福大学的 Nick McKeown 教授领导的研究小组基于 Linux Container 架构,开发出的一套进程虚拟化的网络仿真实验平台[13-14],可以在同一台计算机上模拟一个完整的网络主机、链接和交换机。同时,在Mininet平台上,除了可以进行SDN网络实验,还可以进行现有计算机网络教学实验,是个扩展性强的网络仿真平台。另外,在实验教学中,为了更好地向学生展示SDN控制器对网络的控制过程,可以让Mininet平台远程连接SDN控制器,通过SDN控制器的可视化界面展示SDN控制器对网络的集中式控制。所以,本文采用的控制器是OpenDayLight控制器,其可视化界面非常完善,同时也是一个高可用的、模块化的、兼具规模和功能上的可扩展性,并支持多协议的控制器基础设施,专为在目前的多产商异构网络上部署SDN所设计。
综上所述,SDN实验教学方案就是采用网络仿真平台Mininet构建SDN网络,采用OpenDayLight控制器集中式控制SDN网络。
2 实验教学方案展示
通过“SDN转发表控制”实验对提出的SDN实验教学方案进行展示。同时,通过该实验,可以让学生明确SDN控制器对整个网络中的设备进行集中化的管控与调度,包括链路发现,拓扑管理,策略制定和表项下发等。
本实验的网络拓扑如图1所示。网络中一共有3台交换机s1、s2、s3,形成一个网络环路。为了方便测试网络的连通性,每台交换机上连接一台客户机,分别为h1、h2、h3。同时,该网络由控制器c0进行远程控制。
图1 实验网络拓扑
(1) 创建网络拓扑,远程连接控制器。Mininet使用Python进行脚本书写。网络拓扑代码如下:
class MyTopo( Topo ):
def __init__( self ):
# Initialize topology
Topo.__init__( self )
# Add hosts and switches
h1= self.addHost( ′h1′ )
#Add other hosts: h2, h3.
s1= self.addSwitch( ′s1′ )
#Add other switchs: s2, s3.
# Add links
self.addLink( h1, s1)
#Add other links: s1and s2, s1and s3, s2and s3, h2and s2, h3and s3.
topos = { ′mytopo′: ( lambda: MyTopo() ) }
由此即可创建图1的网络拓扑。Mininet远程连接SDN控制器OpenDayLight,打开图2所示OpenDayLight控制器的Web UI可看到,Mininet成功远程连接OpenDayLight,OpenDayLight控制器获取Mininet网络拓扑。同时,在Web UI里可以看到,控制器除了获取网络拓扑、网络节点信息以外,还可以对默认路由、子网网关等进行配置。
(2) 客户机互相通信。在Mininet平台中对网络执行指令pingall,让客户机互相通信,在图2 OpenDayLight控制器Web UI中的网络拓扑窗口可看到如图3所示的网络拓扑,控制器发现了网络中的客户机,进行网络拓扑更新,出现客户机与交换机相连的链路。
(3) SDN控制器控制转发表。在OpenDayLight控制器Web UI可以对交换机转发表进行查看,以交换机s1为例,如图4(a)所示的交换机s1转发表有3个转发表项,分别是指明目的地址为h1、h2、h33台客户机的转发路径。由图4(a)还可知,发往h1的数据包是由s1的端口1转发,发往h2的数据包是由端口2转发,发往h3的数据包是由端口3转发。
图2 OpenDayLight控制器Web UI
图3 客户机相互通信后的网络拓扑
对此,在OpenDayLight控制器Web UI上对交换
机s1增加一条转发表项:让交换机s1丢弃发往端口3的所有数据包。此时,查看交换机s1的转发表,如图4(b)所示,新增的转发表项已在转发表中。新增加的转发表项,相当于断开了交换机s1与s3之间的直连链路,同时,发往客户机h3的数据包均被交换机s1丢弃。这就导致Mininet平台执行指令pingall让客户机互相通信时,从图5(a)可知,客户机h1与h3无法进行通信。因为对SDN网络而言,转发表的下发是由控制器来完成,交换机已经失去“自学习”的能力,在控制器未下发新的转发表项时,客户机h1与客户机h3的通信数据包(经由交换机s1端口3)都会被交换机s1丢弃。所以,在控制器将新增的转发表项删掉后,Mininet执行指令pingall,从图5(b)可知,客户机h1与h3重新恢复通信。
(a) 新增转发表项前
(b) 新增转发表项后
(a) 客户机h1与h3通信失败
(b) 客户机h1与h3通信成功
通过以上“SDN转发表控制”实验的实验过程可以看出,学生可以通过网络仿真平台Mininet模拟构建SDN网络,通过OpenDayLight控制器Web UI进行简单操作,就可以完成对SDN网络中交换机转发表的控制。同时,通过本次实验,学生在实际操作过程中,可以体会SDN的核心思想:传统网络设备的数据平面和控制平面两个功能模块相分离,由控制器对整个网络中的设备进行集中化的管控与调度。
3 结 语
本文提出“Mininet网络仿真实验平台+OpenDayLight控制器”的SDN技术虚拟仿真实验教学方案,并以“SDN转发表控制”实验为例,展示了Mininet平台自定义网络拓扑、灵活组网的功能,以及OpenDayLight控制器对网络设备的全局控制和管理。本方案通过轻量级的虚拟化技术,让学生只需很小的部署开销,就可以在自己的笔记本电脑进行灵活、可拓展的SDN课程实验,有助于提升SDN课程的教学质量,激发学生学习SDN的兴趣以及对SDN更进一步的研究。
[1] Mckeown N, Anderson T, Balakrishnan H,etal. OpenFlow: enabling innovation in campus networks[J]. Acm Sigcomm Computer Communication Review, 2008, 38(2):69-74.
[2] 谢灵智. 网络架构革命:SDN与OpenFlow开始燎原?[J]. 信息安全与通信保密,2012(9):36-37,39.
[3] 潘江波, 邓建高. 仿真软件在计算机网络教学中的应用[J]. 实验技术与管理, 2011, 28(7):91-93.
[4] 钱 权, 张 瑞, 袁 方. 计算机网络课程中的项目式实验教学[J]. 实验室研究与探索, 2013, 32(5):142-145.
[5] 张 冰. 计算机仿真实验的教学应用及发展前景[J]. 理工高教研究, 2005, 24(3):116-118.
[6] Huang X, Long Y, Gao Q. Summarization of distributed visual simulation technology[J]. Journal of System Simulation, 2010, 22(11):1747-2742.
[7] 郭齐胜, 徐享忠. 计算机仿真[M]. 北京:国防工业出版社, 2011.
[8] 陈昌皓. 虚拟实验教学系统应用与研究[J]. 现代商贸工业, 2013(13):136-137.
[9] Bell J T, Fogler H S. Vicher: A virtual reality based educational module for chemical reaction engineering[J]. Computer Applications in Engineering Education, 1996, 4(4):285-296.
[10] Geng R, Xu G, Yang X. Several Key Technologies of virtual simulation on aviation ammunition teaching software[M]. Engineering Education and Management. Springer Berlin Heidelberg, 2012:25-31.
[11] Barjis J, Gupta A, Sharda R,etal. Innovative teaching using simulation and virtual environments[J]. Interdisciplinary Journal of Information Knowledge & Management, 2013, 7:237-255.
[12] 张 青, 杜召阳, 白 佳. 采用虚拟化技术优化IT基础架构有效提升IT服务提供能力[J]. 电信技术, 2010(3):82-84.
[13] 雷葆华, 王 峰, 王 莤. SDN核心技术剖析和实战指南[M]. 北京:电子工业出版社, 2013.
[14] SIAMAK AZODOLMOLKY. 软件定义网络[M]. 北京:机械工业出版社, 2014.
好奇——创新意识的萌芽;
兴趣——创新思维的营养;
质疑——创新行为的举措;
探索——创新学习的方法。
SDN Experimental Teaching Scheme Based on Virtualization Technology
YEJin,FENGLuting,HEHuaguang,LITaoshen
(School of Computer, Electronics and Information, Guangxi University, Nanning 530004, China)
The paper briefly introduced the concept, characteristic and the development trend of SDN (Software Defined Network), and put forward virtual simulation experiment teaching means to SDN experiment teaching. The SDN experiment teaching scheme was designed as follows: Mininet, a network simulation platform, was adopted in simulating SDN networks, and OpenDayLight controller was adopted in the centralized control Network. Finally, using “SDN forwarding control” experiment as an example, the paper detailed the scheme of SDN experiment teaching by the whole experimental process. Students can use SDN controller to carry out the network of the centralized control and scheduling by the simple operation in the experiment. The proposed SDN experiment teaching scheme based on virtualization technology was helpful to improve the teaching quality of SDN and arouse the students’ interest in learning SDN.
computer network; software defined network (SDN); virtualization; experiment teaching
2016-05-26
国家自然科学基金项目(61462007)
叶 进(1970-),女,江苏泰兴人,博士,教授,现主要从事网络协议优化方面研究。
Tel.:0771-3237019; E-mail:yejin@gxu.edu.cn
TP 393
A
1006-7167(2017)03-0079-04