国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenDaylight防火墻的研究與實現(xiàn)

2019-06-14 07:29劉春秋
計算機技術與發(fā)展 2019年6期
關鍵詞:用例訪問控制調(diào)用

費 寧,劉春秋

(南京郵電大學 計算機學院 軟件學院,江蘇 南京 210003)

0 引 言

軟件定義網(wǎng)絡(software defined network,SDN)將網(wǎng)絡控制與數(shù)據(jù)轉(zhuǎn)發(fā)分離,使用開放的、獨立的應用層接口,使得通過軟件集中配置和管理設備成為可能。軟件定義網(wǎng)絡作為一種全新的網(wǎng)絡架構(gòu)給網(wǎng)絡安全研究提供了新的方向,SDN在流轉(zhuǎn)發(fā)、深度包檢查、流量重定向等方面具有優(yōu)勢,基于SDN的網(wǎng)絡安全新技術和新應用不斷涌現(xiàn)[1-3]。不少學者提出了軟件定義網(wǎng)絡集中式架構(gòu)下的安全技術框架,嘗試提供更為完善的威脅分析和防御方法[4-5]。文中在深入分析軟件定義網(wǎng)絡和OpenFlow系統(tǒng)原理和架構(gòu)設計的基礎上,提出了基于OpenDaylight控制器的防火墻,并搭建了實驗平臺。該軟件定義網(wǎng)絡有利于新的網(wǎng)絡應用的快速部署和實施,并且基于軟件定義網(wǎng)絡控制器的安全策略切實可行。

1 基于OpenDaylight的安全設計與實現(xiàn)

1.1 OpenDaylight的系統(tǒng)原理和架構(gòu)設計

OpenDaylight的軟件定義網(wǎng)絡的架構(gòu)特性,使其可以方便地實現(xiàn)路由路徑優(yōu)化,大幅度降低網(wǎng)絡維護成本,提高網(wǎng)絡設備利用率,增加網(wǎng)絡設備的可擴展性和穩(wěn)定性,并能夠解決傳統(tǒng)網(wǎng)絡中的傳輸性能、流量控制、訪問控制等問題。

OpenDaylight通過SAL(service abstraction layer)將底層接口提供的功能封裝成具體的服務提供給上層模塊應用,屏蔽了多種南向協(xié)議之間的差異,為上層模塊提供一致的服務,包括數(shù)據(jù)包服務、拓撲服務、流表編程服務等。

在路由轉(zhuǎn)發(fā)部分,模塊首先要注冊IListenData Packet服務,從SAL收到的數(shù)據(jù)包呈隊列格式存放,并且將數(shù)據(jù)包IP目的地址放入pendingPacket Destinations集合中,run線程從此集合中取出對象IP。同時主機追蹤模塊解析數(shù)據(jù)包的目的主機,獲取相關信息后,對交換機進行遍歷,得到整個網(wǎng)絡的拓撲結(jié)構(gòu)圖,再通過Dijkstra最短路徑算法得到路由,將路徑鏈路放到rulesDB中,接著將流表規(guī)則下發(fā)至路徑經(jīng)過的每個交換機,利用dataPacketService.transmitData Packet()方法將數(shù)據(jù)包發(fā)送出去[6]。

OpenDaylight提供了相應的應用層接口,應用程序向OpenDaylight發(fā)出調(diào)用指令,OpenDaylight利用相應的接口與底層網(wǎng)絡設備進行通信。同時,OpenDaylight還向應用程序提供基礎設施相關的功能接口,如流量監(jiān)控、管理、入侵防御等。

1.2 基于OpenDaylight開發(fā)的防火墻模塊的應用架構(gòu)設計

傳統(tǒng)網(wǎng)絡中,處于服務器及應用程序之下的底層位置的是相應的網(wǎng)絡設備,軟件定義網(wǎng)絡概念的提出,為集中式網(wǎng)絡架構(gòu)提供了可能性,內(nèi)部網(wǎng)絡功能也開始出現(xiàn)在新的層級中[7-8]。OpenDaylight的作用就是將網(wǎng)絡功能剝離硬件,重新放回到控制器當中,并且為SDN制定一套通用型框架[9]。文中設計的基于OpenDaylight平臺的防火墻的整體流程包括:firewall模塊功能邏輯;FireClient應用界面開發(fā)、網(wǎng)絡請求邏輯和返回結(jié)果的數(shù)據(jù)處理;測試腳本對firewall模塊請求接口的調(diào)用測試。整體設計流程如圖1所示。

圖1 整體設計流程

圖2 防火墻應用的控制流程

設計的防火墻應用控制流程如圖2所示。當網(wǎng)絡設備向主機發(fā)送網(wǎng)絡請求時,裝載于OpenDaylight平臺上的防火墻應用會查詢訪問控制策略列表,如果請求訪問的設備IP在列表內(nèi),則拒絕訪問,否則對訪問請求做出處理或者向下層設備轉(zhuǎn)發(fā)?;诖耍紫刃枰贠penDaylight平臺開發(fā)出防火墻應用(firewall模塊),用于訪問控制,還需要開發(fā)出上層應用(FireClient)對訪問控制策略進行添加、刪除、查詢等管理操作。

Firewall模塊的調(diào)用流程則是:用戶通過上層應用調(diào)用firewall模塊提供的標準接口,傳入相應參數(shù),firewall模塊本身對用戶請求和參數(shù)進行對應的處理,更新訪問控制列表,返回接口調(diào)用結(jié)果等。

FireClient的功能流程則是:FireClient應用提供發(fā)送請求、查詢、增刪策略功能,每個功能調(diào)用對應的firewall模塊提供的API,實現(xiàn)接口調(diào)用相關的網(wǎng)絡請求發(fā)送,返回結(jié)果的JSON數(shù)據(jù)處理和展示等。

模塊是OpenDaylight的功能單元,各個模塊之間相互獨立又彼此協(xié)調(diào),組合起來構(gòu)成了OpenDaylight對外提供的網(wǎng)絡資源管理、數(shù)據(jù)分發(fā)等全部功能。比較常用的模塊有yangUI、dlux、l2switch等。本次研究中設計開發(fā)的防火墻就是基于OpenDaylight平臺的模塊,該模塊可以在開發(fā)測試完成后用Maven打包,并導入OpenDaylight的release版中,與其他模塊一起使用。

2 實驗環(huán)境搭建和測試結(jié)果

2.1 基于OpenDaylight開發(fā)的防火墻模塊的應用架構(gòu)設計

Maven是基于項目對象模型(POM)的軟件項目管理和依賴分析工具,可以通過描述信息進行創(chuàng)建項目、編譯項目、加載項目依賴等[10-11]?;贛aven簡化構(gòu)建過程的思考,在本次項目開發(fā)中,將使用Maven構(gòu)建firewall項目骨架,并且使用Maven對開發(fā)好的firewall進行編譯、打包。

Yang是一種數(shù)據(jù)建模語言[12-13],開發(fā)者通過對Yang模型的構(gòu)建,指定標準訪問接口和數(shù)據(jù)類型,通過遠程調(diào)用或消息通知的方式實現(xiàn)模型配置與數(shù)據(jù)的分發(fā)處理。Yang模型的類型之一為Data,負責定義數(shù)據(jù)類型并用來進行數(shù)據(jù)存儲,分為兩種:Config和Operational。Config為配置信息,是北向上層應用向南向網(wǎng)絡發(fā)送的配置數(shù)據(jù)信息,Operational為運行時信息,通常是OpenDaylight記錄的南向網(wǎng)絡動態(tài)信息。

實驗設計中開發(fā)的FireClient是基于Mac OS X系統(tǒng)的Cocoa框架,開發(fā)語言是Swift,集成開發(fā)環(huán)境是Xcode[14]。主要步驟如下:

第一步創(chuàng)建項目;第二步開發(fā)用戶界面,使用原生的AppKit框架[15],框架底層采用OpenGL繪制,用到了對象的延遲加載及frame相對布局,界面效果如圖3所示;第三步調(diào)用REST API,firewall模塊提供的REST API有:發(fā)送請求(request);查詢訪問控制IP列表(query);增加訪問控制IP(add);刪除訪問控制IP(delete)。

圖3 FireClient用戶界面

REST API調(diào)用代碼,以query接口為例,執(zhí)行步驟如下:

(1)構(gòu)建HTTP請求頭,請求頭中包括OpenDaylight的Dlux界面的登錄授權,content-type等數(shù)據(jù);

(2)構(gòu)建HTTP請求體,請求體中包括向query接口發(fā)送的參數(shù);

(3)申請并初始化NSURLRequest對象request,設定請求方式為POST,并指定已構(gòu)建好的HTTP請求頭和HTTP請求體;

(4)獲取URLSession的單例對象session,session異步調(diào)用dataTask方法,傳入request參數(shù);

(5)在dataTask方法的block中對請求的響應結(jié)果的JSON數(shù)據(jù)進行解析,獲取有效信息;

(6)獲取主線程,在主線程中將有效信息展示在用戶界面上;

(7)調(diào)用session的resume()方法開始執(zhí)行session的HTTP請求。

2.2 測試結(jié)果及結(jié)果分析

模擬測試腳本用于模擬虛擬設備向firewall模塊對外提供的REST API,腳本代碼如圖4所示。

圖4 腳本代碼

測試過程按照如下用例依次進行:

用例1:調(diào)用腳本向request發(fā)送請求,模擬IP為192.168.2.1,預期結(jié)果:訪問成功。執(zhí)行腳本./request.sh "hello" "192.168.2.1",輸出結(jié)果,如圖5所示。

圖5 用例1測試結(jié)果

用例2:用FireClient添加訪問策略,禁止IP為192.168.2.1設備訪問,預期結(jié)果:訪問拒絕。用FireClient增加訪問策略,禁止IP為192.168.2.1的設備訪問,點擊“增加”按鈕之后,則添加成功。執(zhí)行腳本./request.sh "hello" "192.168.2.1",輸出結(jié)果如圖6所示:阻止了IP為192.168.2.1的設備的訪問。測試結(jié)果和預期一樣。

圖6 用例2測試結(jié)果

用例3:添加訪問策略,禁止IP為192.168.2.2的設備訪問,用FireClient查詢訪問控制策略列表,查詢值為2,預期結(jié)果:返回兩個禁止訪問的IP地址。添加訪問策略,禁止IP為192.168.2.2的設備訪問,操作步驟與用例2相同。用FireClient查詢訪問控制策略列表,查詢值為2。查詢結(jié)果顯示了添加的訪問控制列表。

3 結(jié)束語

文中提出了一種基于OpenDaylight的防火墻設計與實現(xiàn)方案,并通過實驗驗證了其可行性。實驗結(jié)果表明,由于OpenDaylight已經(jīng)提供了豐富的應用程序接口, 使得快速進行網(wǎng)絡應用的二次開發(fā)成為可能。

雖然該應用原型測試案例比較簡單,但所有的防火墻策略都可以通過用戶界面靈活修改。下一步將對用戶策略的抽象和定制以及平臺跨操作系統(tǒng)的移植等進行研究。

猜你喜歡
用例訪問控制調(diào)用
一種跨策略域的林業(yè)資源訪問控制模型設計
核電項目物項調(diào)用管理的應用研究
系統(tǒng)虛擬化環(huán)境下客戶機系統(tǒng)調(diào)用信息捕獲與分析①
云的訪問控制研究
資費撥測系統(tǒng)的研究與應用
云計算訪問控制技術研究綜述
用例規(guī)約在課程成績管理系統(tǒng)需求分析中的應用研究
使用用例建模進行軟件需求分析研究
利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
C++語言中函數(shù)參數(shù)傳遞方式剖析
江川县| 天津市| 汨罗市| 新郑市| 衡阳县| 白沙| 克什克腾旗| 嘉鱼县| 龙井市| 伊春市| 佛教| 巨鹿县| 娄烦县| 哈尔滨市| 西林县| 宣汉县| 象州县| 孝感市| 祁门县| 虎林市| 台中市| 甘谷县| 临澧县| 衡水市| 江油市| 虎林市| 清丰县| 崇文区| 洱源县| 淅川县| 德令哈市| 呈贡县| 广宗县| 榕江县| 南涧| 怀远县| 甘孜县| 清涧县| 拉萨市| 大邑县| 孟津县|