葉 進, 馮露葶, 何華光, 李陶深
(廣西大學 計算機與電子信息學院,南寧 530004)
·專題研討——虛擬仿真實驗(43)·
基于虛擬化技術的軟件定義網(wǎng)絡實驗教學方案
葉 進, 馮露葶, 何華光, 李陶深
(廣西大學 計算機與電子信息學院,南寧 530004)
提出了采取虛擬仿真實驗教學手段進行軟件定義網(wǎng)絡(Software Defined Network,SDN)實驗教學,給出了具體的實驗教學方案。采用網(wǎng)絡仿真平臺Mininet構(gòu)建SDN網(wǎng)絡,采用OpenDayLight控制器集中式控制SDN網(wǎng)絡。最后以“SDN轉(zhuǎn)發(fā)表控制”實驗為例,對提出的SDN實驗教學方案進行實驗過程展示。在整個實驗的實驗過程中,學生只需通過簡單的操作就可以完成SDN控制器對整個網(wǎng)絡設備集中化管控與調(diào)度。提出的基于虛擬化技術的SDN實驗教學方案有助于提高SDN課程的教學質(zhì)量和激發(fā)學生學習SDN的興趣。
計算機網(wǎng)絡; 軟件定義網(wǎng)絡; 虛擬化; 實驗教學
軟件定義網(wǎng)絡(Software Defined Network,SDN)作為一種新型網(wǎng)絡創(chuàng)新架構(gòu)成為近幾年來網(wǎng)絡技術領域的熱門。國內(nèi)外眾多互聯(lián)網(wǎng)廠商、通信設備廠商、芯片廠商、電信運營商都紛紛推出了自己的SDN產(chǎn)品和解決方案,并進行SDN實際部署。2012年,谷歌宣布通過在全球數(shù)據(jù)中心部署SDN將數(shù)據(jù)中心之間的互聯(lián)鏈路利用率提升至90%以上,標志著SDN正式進入商用階段。同時,我國對搶占未來網(wǎng)絡領域發(fā)展先機也給予了高度重視,2013年2月23日,國務院正式下發(fā)8號文件,將未來網(wǎng)絡試驗設施項目列入《國家重大科技基礎設施建設中長期規(guī)劃(2012-2030年)》。
SDN起源于美國斯坦福大學。2008年,McKeown等[1]提出SDN的概念:將傳統(tǒng)網(wǎng)絡設備的數(shù)據(jù)平面和控制平面兩個功能模塊相分離,通過集中式的控制器以標準化的接口對各種網(wǎng)絡設備進行管理和配置。SDN的核心特點就是通過SDN控制器集中式控制網(wǎng)絡,掌握網(wǎng)絡設備現(xiàn)有的網(wǎng)絡處理能力,對網(wǎng)絡流量進行動態(tài)調(diào)控分配,提高網(wǎng)絡鏈路和網(wǎng)絡資源的利用率。
將SDN引入教學課程是個必然的趨勢。同時,在以往對計算機網(wǎng)絡的教學中,特別注重理論教學和實踐教學相結(jié)合,通過各種不同的網(wǎng)絡實驗案例來幫助學生理解計算機網(wǎng)絡的基本概念和算法協(xié)議的工作原理,掌握計算機網(wǎng)絡通信和組網(wǎng)的相關操作[3-4]。所以,本文提出SDN的實驗教學與理論教學并重。
虛擬仿真實驗教學是高等教育信息化建設和實驗教學的重要手段,是學科專業(yè)知識體系與信息技術深度融合的產(chǎn)物[5-11]。目前,國內(nèi)市面上的SDN產(chǎn)品并不多,同時許多高校實驗教學中普遍存在的實驗設備陳舊、實驗采購經(jīng)費短缺等一系列問題,所以提出基于虛擬化技術進行SDN實驗教學。
虛擬化技術是一種對計算機資源進行抽象模擬的技術,在已有計算機硬件資源的基礎上,模擬出虛擬硬件資源。通過虛擬化技術可以最大限度地屏蔽軟硬件資源的差異性,根據(jù)需要靈活分配資源,減少總體成本[12]。所以,在SDN教學中,可采用網(wǎng)絡仿真平臺Mininet構(gòu)建SDN網(wǎng)絡。Mininet是斯坦福大學的 Nick McKeown 教授領導的研究小組基于 Linux Container 架構(gòu),開發(fā)出的一套進程虛擬化的網(wǎng)絡仿真實驗平臺[13-14],可以在同一臺計算機上模擬一個完整的網(wǎng)絡主機、鏈接和交換機。同時,在Mininet平臺上,除了可以進行SDN網(wǎng)絡實驗,還可以進行現(xiàn)有計算機網(wǎng)絡教學實驗,是個擴展性強的網(wǎng)絡仿真平臺。另外,在實驗教學中,為了更好地向?qū)W生展示SDN控制器對網(wǎng)絡的控制過程,可以讓Mininet平臺遠程連接SDN控制器,通過SDN控制器的可視化界面展示SDN控制器對網(wǎng)絡的集中式控制。所以,本文采用的控制器是OpenDayLight控制器,其可視化界面非常完善,同時也是一個高可用的、模塊化的、兼具規(guī)模和功能上的可擴展性,并支持多協(xié)議的控制器基礎設施,專為在目前的多產(chǎn)商異構(gòu)網(wǎng)絡上部署SDN所設計。
綜上所述,SDN實驗教學方案就是采用網(wǎng)絡仿真平臺Mininet構(gòu)建SDN網(wǎng)絡,采用OpenDayLight控制器集中式控制SDN網(wǎng)絡。
通過“SDN轉(zhuǎn)發(fā)表控制”實驗對提出的SDN實驗教學方案進行展示。同時,通過該實驗,可以讓學生明確SDN控制器對整個網(wǎng)絡中的設備進行集中化的管控與調(diào)度,包括鏈路發(fā)現(xiàn),拓撲管理,策略制定和表項下發(fā)等。
本實驗的網(wǎng)絡拓撲如圖1所示。網(wǎng)絡中一共有3臺交換機s1、s2、s3,形成一個網(wǎng)絡環(huán)路。為了方便測試網(wǎng)絡的連通性,每臺交換機上連接一臺客戶機,分別為h1、h2、h3。同時,該網(wǎng)絡由控制器c0進行遠程控制。

圖1 實驗網(wǎng)絡拓撲
(1) 創(chuàng)建網(wǎng)絡拓撲,遠程連接控制器。Mininet使用Python進行腳本書寫。網(wǎng)絡拓撲代碼如下:
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() ) }
由此即可創(chuàng)建圖1的網(wǎng)絡拓撲。Mininet遠程連接SDN控制器OpenDayLight,打開圖2所示OpenDayLight控制器的Web UI可看到,Mininet成功遠程連接OpenDayLight,OpenDayLight控制器獲取Mininet網(wǎng)絡拓撲。同時,在Web UI里可以看到,控制器除了獲取網(wǎng)絡拓撲、網(wǎng)絡節(jié)點信息以外,還可以對默認路由、子網(wǎng)網(wǎng)關等進行配置。
(2) 客戶機互相通信。在Mininet平臺中對網(wǎng)絡執(zhí)行指令pingall,讓客戶機互相通信,在圖2 OpenDayLight控制器Web UI中的網(wǎng)絡拓撲窗口可看到如圖3所示的網(wǎng)絡拓撲,控制器發(fā)現(xiàn)了網(wǎng)絡中的客戶機,進行網(wǎng)絡拓撲更新,出現(xiàn)客戶機與交換機相連的鏈路。
(3) SDN控制器控制轉(zhuǎn)發(fā)表。在OpenDayLight控制器Web UI可以對交換機轉(zhuǎn)發(fā)表進行查看,以交換機s1為例,如圖4(a)所示的交換機s1轉(zhuǎn)發(fā)表有3個轉(zhuǎn)發(fā)表項,分別是指明目的地址為h1、h2、h33臺客戶機的轉(zhuǎn)發(fā)路徑。由圖4(a)還可知,發(fā)往h1的數(shù)據(jù)包是由s1的端口1轉(zhuǎn)發(fā),發(fā)往h2的數(shù)據(jù)包是由端口2轉(zhuǎn)發(fā),發(fā)往h3的數(shù)據(jù)包是由端口3轉(zhuǎn)發(fā)。

圖2 OpenDayLight控制器Web UI

圖3 客戶機相互通信后的網(wǎng)絡拓撲
對此,在OpenDayLight控制器Web UI上對交換
機s1增加一條轉(zhuǎn)發(fā)表項:讓交換機s1丟棄發(fā)往端口3的所有數(shù)據(jù)包。此時,查看交換機s1的轉(zhuǎn)發(fā)表,如圖4(b)所示,新增的轉(zhuǎn)發(fā)表項已在轉(zhuǎn)發(fā)表中。新增加的轉(zhuǎn)發(fā)表項,相當于斷開了交換機s1與s3之間的直連鏈路,同時,發(fā)往客戶機h3的數(shù)據(jù)包均被交換機s1丟棄。這就導致Mininet平臺執(zhí)行指令pingall讓客戶機互相通信時,從圖5(a)可知,客戶機h1與h3無法進行通信。因為對SDN網(wǎng)絡而言,轉(zhuǎn)發(fā)表的下發(fā)是由控制器來完成,交換機已經(jīng)失去“自學習”的能力,在控制器未下發(fā)新的轉(zhuǎn)發(fā)表項時,客戶機h1與客戶機h3的通信數(shù)據(jù)包(經(jīng)由交換機s1端口3)都會被交換機s1丟棄。所以,在控制器將新增的轉(zhuǎn)發(fā)表項刪掉后,Mininet執(zhí)行指令pingall,從圖5(b)可知,客戶機h1與h3重新恢復通信。

(a) 新增轉(zhuǎn)發(fā)表項前

(b) 新增轉(zhuǎn)發(fā)表項后

(a) 客戶機h1與h3通信失敗

(b) 客戶機h1與h3通信成功
通過以上“SDN轉(zhuǎn)發(fā)表控制”實驗的實驗過程可以看出,學生可以通過網(wǎng)絡仿真平臺Mininet模擬構(gòu)建SDN網(wǎng)絡,通過OpenDayLight控制器Web UI進行簡單操作,就可以完成對SDN網(wǎng)絡中交換機轉(zhuǎn)發(fā)表的控制。同時,通過本次實驗,學生在實際操作過程中,可以體會SDN的核心思想:傳統(tǒng)網(wǎng)絡設備的數(shù)據(jù)平面和控制平面兩個功能模塊相分離,由控制器對整個網(wǎng)絡中的設備進行集中化的管控與調(diào)度。
本文提出“Mininet網(wǎng)絡仿真實驗平臺+OpenDayLight控制器”的SDN技術虛擬仿真實驗教學方案,并以“SDN轉(zhuǎn)發(fā)表控制”實驗為例,展示了Mininet平臺自定義網(wǎng)絡拓撲、靈活組網(wǎng)的功能,以及OpenDayLight控制器對網(wǎng)絡設備的全局控制和管理。本方案通過輕量級的虛擬化技術,讓學生只需很小的部署開銷,就可以在自己的筆記本電腦進行靈活、可拓展的SDN課程實驗,有助于提升SDN課程的教學質(zhì)量,激發(fā)學生學習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] 謝靈智. 網(wǎng)絡架構(gòu)革命:SDN與OpenFlow開始燎原?[J]. 信息安全與通信保密,2012(9):36-37,39.
[3] 潘江波, 鄧建高. 仿真軟件在計算機網(wǎng)絡教學中的應用[J]. 實驗技術與管理, 2011, 28(7):91-93.
[4] 錢 權(quán), 張 瑞, 袁 方. 計算機網(wǎng)絡課程中的項目式實驗教學[J]. 實驗室研究與探索, 2013, 32(5):142-145.
[5] 張 冰. 計算機仿真實驗的教學應用及發(fā)展前景[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]. 北京:國防工業(yè)出版社, 2011.
[8] 陳昌皓. 虛擬實驗教學系統(tǒng)應用與研究[J]. 現(xiàn)代商貿(mào)工業(yè), 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] 張 青, 杜召陽, 白 佳. 采用虛擬化技術優(yōu)化IT基礎架構(gòu)有效提升IT服務提供能力[J]. 電信技術, 2010(3):82-84.
[13] 雷葆華, 王 峰, 王 莤. SDN核心技術剖析和實戰(zhàn)指南[M]. 北京:電子工業(yè)出版社, 2013.
[14] SIAMAK AZODOLMOLKY. 軟件定義網(wǎng)絡[M]. 北京:機械工業(yè)出版社, 2014.
好奇——創(chuàng)新意識的萌芽;
興趣——創(chuàng)新思維的營養(yǎng);
質(zhì)疑——創(chuàng)新行為的舉措;
探索——創(chuàng)新學習的方法。
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-),女,江蘇泰興人,博士,教授,現(xiàn)主要從事網(wǎng)絡協(xié)議優(yōu)化方面研究。
Tel.:0771-3237019; E-mail:yejin@gxu.edu.cn
TP 393
A
1006-7167(2017)03-0079-04