陳越
(天津大學(xué)電子信息工程學(xué)院,天津300100)
一個軟件定義網(wǎng)絡(luò)的仿真實(shí)踐
陳越
(天津大學(xué)電子信息工程學(xué)院,天津300100)
軟件定義網(wǎng)絡(luò)是一種新型的網(wǎng)絡(luò)架構(gòu),其核心思想是將網(wǎng)絡(luò)設(shè)備控制與數(shù)據(jù)傳送分離開來,通過軟件實(shí)現(xiàn)網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用提供了良好的平臺。文章主要介紹了基于OpenFLow的主流SDN實(shí)現(xiàn)方法,通過搭建一個簡單的仿真平臺,模擬基于OpenFlow的SDN架構(gòu),實(shí)現(xiàn)負(fù)載均衡的簡單功能,同時展望了該技術(shù)未來的發(fā)展,對人們了解和使用該技術(shù)提供了探索性幫助。
SDN OpenFlow 仿真實(shí)踐
軟件定義網(wǎng)絡(luò)(Software-De ned Networking,SDN)作為一個新興的網(wǎng)絡(luò)架構(gòu),近年來熱度不斷提高[1],2012年國際性研究機(jī)構(gòu)Cartner將其列為未來五年內(nèi)IT領(lǐng)域的十大關(guān)鍵技術(shù)之一。2011年開放網(wǎng)絡(luò)基金會(open networking foundation,ONF)成立,開始推動SDN的標(biāo)準(zhǔn)化進(jìn)程。目前已有成員72家,包括Google、Facebook、NTT、Verizon,Microsoft、Yahoo等[2],其中Google運(yùn)用SDN技術(shù)架設(shè)了他的B4網(wǎng)絡(luò),耗時3年,將原先的網(wǎng)絡(luò)完全切換到了OpenFlow網(wǎng)絡(luò),引入了流量工程,完全靠OpenFLow協(xié)議來規(guī)劃流量路徑,對網(wǎng)絡(luò)流量進(jìn)行了極大的優(yōu)化[3]。
下面介紹一個利用Mininet、OVS、Ryu-manager3.6模擬實(shí)現(xiàn)OpenFlow環(huán)境,成功實(shí)現(xiàn)PC機(jī)不停的發(fā)出訪問請求時,控制層能夠控制網(wǎng)絡(luò)自動交替輪流將訪問請求轉(zhuǎn)發(fā)到2個服務(wù)器(即負(fù)載均衡)的實(shí)踐案例。
虛擬機(jī)為VMware Workstation,虛擬操作系統(tǒng)為Ubuntu 12.10,其中已經(jīng)安裝了以下軟件:
Mininet可簡單理解為SDN網(wǎng)絡(luò)系統(tǒng)中的一種基于進(jìn)程虛擬化平臺[4]。Open vSwitch(簡稱OVS)是由NiciraNetworks主導(dǎo)的,運(yùn)行在虛擬化平臺(例如KVM,Xen)上的虛擬交換機(jī)[5]。Ryu是一個基于組件的軟件定義網(wǎng)絡(luò)架構(gòu)。
拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 拓?fù)浣Y(jié)構(gòu)
假定h1當(dāng)做PC,不停發(fā)出訪問請求,h2和h3當(dāng)做2臺服務(wù)器,c0為控制器。經(jīng)查詢,h1、h2、h3的ip地址分別為10.0.0.1、10.0.0.2、10.0.0.3,mac地址分別為00:00:00:00:00:01、00:00:00:00:00:02、00:00:00:00:00:03。
同時設(shè)定一個virtual ip為10.0.0.4和一個virtual mac為00:00:00:00:00:04,對h1而言,其只會訪問virtual ip(10.0.0.4)而不直接訪問h2和h3的ip,通過Servers_exchange模塊實(shí)現(xiàn)控制網(wǎng)絡(luò)自動交替輪流將訪問請求轉(zhuǎn)發(fā)到2個服務(wù)器h2和h3上。
服務(wù)器h2提供靜態(tài)頁面的名稱為“Server1”,頁面內(nèi)容為“From Server1”;h3服務(wù)器提供靜態(tài)頁面的頁面名稱為“Server2”,頁面內(nèi)容為“From Server2”。在h1終端打開Firefox瀏覽器,并訪問10.0.0.4:8000,即可通過頁面內(nèi)容判斷響應(yīng)來自哪臺服務(wù)器。
Step1:運(yùn)行Ryu基礎(chǔ)模塊與servers_exchange.py模塊進(jìn)入ryu文件夾,執(zhí)行./bin/ryu-m–verboseryu/app/servers_exchange.py,運(yùn)行Ryu基礎(chǔ)模塊與Servers_exchange模塊,此模塊是根據(jù)實(shí)驗(yàn)要求并按照Ryu API編寫的模塊,核心算法是通過round robin(輪詢法)選擇受訪問的服務(wù)器,實(shí)驗(yàn)結(jié)果如圖2所示。
圖2 運(yùn)行servers_exchange模塊
Step2:建立拓?fù)?/p>
執(zhí)行指令sudo mn--arp--topo single,3--mac--switch ovsk--controller remote,建立1個Controller、1個Switch和3個hosts的拓?fù)?。指令中mn是mininet的縮寫,表示mininet指令,--arp選項(xiàng)表示設(shè)置所有節(jié)點(diǎn)對的arp條目;--mac選項(xiàng)表示自動設(shè)置host的mac地址(即h1的mac地址為00:00:00: 00:00:01);--switch ovsk選項(xiàng)表示選用OVS做Switch,--controller remote(或--controller=remote)選項(xiàng)表示選用遠(yuǎn)程控制器做controller,但由于實(shí)驗(yàn)的環(huán)境是controller和Switch是在同一虛擬機(jī)內(nèi),所以此處不需要輸入遠(yuǎn)程控制器的ip地址,結(jié)果如圖3所示。
圖3 建立拓?fù)?/p>
Step3:配置Web服務(wù)器
為配置服務(wù)器,執(zhí)行如圖4所示的指令。
其中第一條指令為virtual ip和virtual mac設(shè)置靜態(tài)arp條目;第二條和第三條指令為h2配置服務(wù)器;第四條和第五條指令為h3配置服務(wù)器。
圖4 配置服務(wù)器
Step5:測試仿真結(jié)果
執(zhí)行指令xterm h1,開啟h1終端模擬器。在新彈出的終端中輸入firefox,開啟Firefox瀏覽器,并在瀏覽器的地址欄輸入地址10.0.0.4:8000,即可發(fā)出訪問請求并獲得響應(yīng),刷新頁面即會輪流打開這2個不同的頁面,說明實(shí)驗(yàn)成功,其結(jié)果如圖5和圖6所示。
圖5 Server1頁面
SDN研究進(jìn)展得如火如荼,網(wǎng)絡(luò)設(shè)備商、網(wǎng)絡(luò)運(yùn)營商以及互聯(lián)網(wǎng)服務(wù)商都在廣泛關(guān)注,但目前軟件定義網(wǎng)絡(luò)相關(guān)技術(shù)還不夠成熟,SDN在真實(shí)的網(wǎng)絡(luò)部署過程中可能存在的多種實(shí)際問題[6]。SDN還有很多問題需要進(jìn)一步深入,包括OpenFlow標(biāo)準(zhǔn)的推進(jìn)和控制軟件的開發(fā),網(wǎng)絡(luò)管理和安全控制,數(shù)據(jù)中心網(wǎng)絡(luò)部署,面向大規(guī)模網(wǎng)絡(luò)的部署等一些未知問題。本文通過介紹一個成功的SDN仿真實(shí)踐,為大家了解和學(xué)習(xí)SDN技術(shù)提供了有益探索。
[1]趙慧玲,馮明,史凡.SDN—未來網(wǎng)絡(luò)演進(jìn)的重要趨勢[J].電信科學(xué),2012,28(11):1-5.
[2]舒文瓊.SDN領(lǐng)域兩大組織角力OpenFlow協(xié)議為共性特征[J].通信世界,2013,(25):44-44.
[3]張衛(wèi)峰.走近Google基于SDN的B4網(wǎng)絡(luò)[J].程序員,2013 (11):100-104.
[4]李艷,郝志安,李寧等.基于mininet的SDN架構(gòu)仿真研究[J].計(jì)算機(jī)與網(wǎng)絡(luò),2014,40(5):57-59.
[5]李銳,葉家煒,何東杰,等.基于Open vSwitch的虛擬網(wǎng)絡(luò)訪問控制研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(5):308-311.
[6]范偉.軟件定義網(wǎng)絡(luò)及應(yīng)用[J].通信技術(shù),2013,46(3):67-70.
A Simulation of Software Defined Network
CHEN YUE
(School of Electronic and Information Engineering,Tianjin University,Tianjin 300100,China)
Software Defined Network(SDN)is a new type of network structure,its core thought is to separate network control equipment and data transfer,and achieve flexible control of network flow via software,which provides a perfect platform for core network and its application.This paper mainly introduces the main stream technology to achieve SDN based on OpenFlow,gives a simulation practice to attain the simple function of load balance,and in the meantime it presents an outlook on the future development of the technology and provides exploratory help for people to understand and use the technology.
SDN;OpenFlow;simulation practice
TP393
A
1008-1739(2015)12-50-3
定稿日期:2015-05-26