劉晨曦
摘要:SDN是未來網(wǎng)絡(luò)演進(jìn)的一大方向,其北向接口提供了網(wǎng)絡(luò)應(yīng)用的編程和人機(jī)接口。目前北向接口的研究主要集中在異構(gòu)性消除、可編程性提高、提供網(wǎng)絡(luò)新功能和改善性能等方面,而SDN網(wǎng)絡(luò)資源管理研究尚處于起步階段。語義網(wǎng)具備強(qiáng)大的層次化描述能力,便捷靈活的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),豐富的工具及方法論支持,良好的可移植性,有利于在北向接口上提供基于虛擬網(wǎng)絡(luò)上的視圖管理功能,為SDN網(wǎng)絡(luò)資源管理帶來便利,并提高上層網(wǎng)絡(luò)應(yīng)用開發(fā)的可移植性。本文提出結(jié)合語義網(wǎng)(Semantic Web)技術(shù),結(jié)合基于語義網(wǎng)的SDN網(wǎng)絡(luò)資源管理平臺(tái),研究基于語義網(wǎng)的SDN網(wǎng)絡(luò)資源管理北向接口。
關(guān)鍵詞:SDN;語義網(wǎng);北向接口;網(wǎng)絡(luò)資源;服務(wù)質(zhì)量
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)17-0016-05
軟件定義網(wǎng)絡(luò)(software defined networking,SDN)是由美國(guó)GENI項(xiàng)目資助的斯坦福大學(xué)的MacKneow教授在主導(dǎo)的Clean Slate項(xiàng)目中提出的一種新型網(wǎng)絡(luò)架構(gòu)。與傳統(tǒng)分布式網(wǎng)絡(luò)不同,SDN的核心是在網(wǎng)絡(luò)中引入一個(gè)SDN控制器(Control-ler),通過核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)層和設(shè)備控制層分離,從而簡(jiǎn)化網(wǎng)絡(luò)架構(gòu),實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺(tái)。網(wǎng)絡(luò)資源的管理是SDN的一個(gè)重要維度,但如何在較高的抽象層次上實(shí)現(xiàn)SDN網(wǎng)絡(luò)資源的高效管理,尚未形成較理想的框架。
語義網(wǎng)(Semantic Web)是未來網(wǎng)絡(luò)的一種設(shè)想,它可以形成一個(gè)機(jī)器可讀的虛擬網(wǎng)絡(luò)圖數(shù)據(jù)庫。它具有十分強(qiáng)大的推理能力,它可以使用OWL(Web Ontology Language,網(wǎng)絡(luò)本體語言)對(duì)SDN網(wǎng)絡(luò)資源以及相關(guān)的業(yè)務(wù)資源進(jìn)行建模,使用RDF(Resource Description Framework,資源描述框架)給抽象的業(yè)務(wù)資源和網(wǎng)絡(luò)資源帶來具體化的描述。其便捷靈活的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),豐富的工具及方法論支持,良好的可移植性,為構(gòu)建SDN網(wǎng)絡(luò)資源管理北向接口,實(shí)現(xiàn)抽象化、虛擬化的網(wǎng)絡(luò)管理,提供了良好的理論和技術(shù)基礎(chǔ)。為構(gòu)建SDN網(wǎng)絡(luò)資源管理北向接口,提供了靈活的基礎(chǔ)。
本文結(jié)合語義網(wǎng)技術(shù)對(duì)SDN的北向接口進(jìn)行擴(kuò)展,彌補(bǔ)現(xiàn)有SDN對(duì)網(wǎng)絡(luò)資源管理方面的不足,提供SDN網(wǎng)絡(luò)資源管理的編程和人機(jī)接口。
1 SDN北向接口
筆者從不同的抽象層次,將當(dāng)前北向接口研究總結(jié)為幾大方面,分別是:
1)可移植性北向接口:主要致力于解決異構(gòu)OpenFlow協(xié)議或者硬件之間的差異性,從而為上層應(yīng)用提供一個(gè)可移植性層,主要工作包括tinyNBI、NOSIX等。
2)可編程性北向接口:主要致力于實(shí)現(xiàn)專用的SDN網(wǎng)絡(luò)編程語言,或嵌入到現(xiàn)有的高級(jí)語言中,提高SDN網(wǎng)絡(luò)的可編程性,實(shí)現(xiàn)對(duì)其網(wǎng)絡(luò)行為的控制,主要工作包括Frenetic、NetCorete等。
3)網(wǎng)絡(luò)虛擬化北向接口:通過對(duì)網(wǎng)絡(luò)資源進(jìn)行虛擬化,在物理網(wǎng)絡(luò)的基礎(chǔ)上構(gòu)建虛擬的網(wǎng)絡(luò)視圖,主要工作包括FlowVisor、libNetVirt等。
可以看到現(xiàn)有的幾類北向接口,主要從異構(gòu)性消除、可編程性提高、網(wǎng)絡(luò)虛擬化等角度進(jìn)行研究,對(duì)SDN網(wǎng)絡(luò)資源管理方面的研究目前比較少見,使得用戶和上層應(yīng)用難以找到滿足其需求的個(gè)體資源(如某個(gè)交換設(shè)備)或群體資源(如滿足服務(wù)質(zhì)量的路徑)。筆者認(rèn)為應(yīng)該采用平臺(tái)中立的語義網(wǎng)技術(shù),對(duì)網(wǎng)絡(luò)資源進(jìn)行建模,盡可能同底層物理設(shè)備解耦,并利用北向接口對(duì)其進(jìn)行虛擬化、抽象化的管理,方便SDN網(wǎng)絡(luò)應(yīng)用——特別是網(wǎng)絡(luò)資源密集型應(yīng)用的開發(fā)。
2基于語義網(wǎng)的SDN網(wǎng)絡(luò)資源管理平臺(tái)
2.1構(gòu)建模型
1)首先進(jìn)行安裝Protege,并配置好環(huán)境變量。
2)SDN本體模型構(gòu)建:
a)新建一個(gè)OWL項(xiàng)目,在Active Ontology的面板中定義本體的URI作為模型的命名前綴,在本設(shè)計(jì)中定義Ontology IRI為:
http:∥www.semanticweb.org/michellin/ontologies/2016/2/SDN。
b)在Classes面板中添加資源類,如圖1所示。在模型中,將SDN網(wǎng)絡(luò)資源抽象為六個(gè)類分別是Component(組件)、De-vice(設(shè)備)、Hnk(鏈路)、How_table(流表)、Function(功能)以及Group_tablef組表)。六個(gè)類下又分別有子類:Component下的子類為Port(端口);Device的子類為Controller(控制器)、Switch(交換機(jī))和Host(主機(jī));Link的子類為各種規(guī)格的傳輸介質(zhì)。Function的子類為Action、Instruction、Pipeline_wordflow動(dòng)作指令,F(xiàn)low_table(流表)子類分為Counter、Instruction、Match_Field等;出于篇幅限制,僅給出定義資源圖以及總體模型展示圖。
c)在Object Properties面板中添加類間屬性。在模型中,定義9種類屬性:connects(連接)、contains(包含)、controls(控制)、consistsof(組成)、deploys(部署)、includes(包括)、supports(支持)、isdeployedby(被部署)以及consists(由什么組成)等。connects描述交換機(jī)類(Switch)、交換機(jī)端口類(Port)、鏈路類(Hnk)、主機(jī)類(Host)之間的連接關(guān)系;contains描述端口類(Port)和交換機(jī)類(Switch)的包含關(guān)系;controls描述控制器類(controller)和交換機(jī)類(Switch)的控制關(guān)系,交換機(jī)supports功能(Function)等。