亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SFCDSL:一種服務(wù)功能鏈領(lǐng)域?qū)S谜Z言

        2022-05-10 08:45:42阮宏瑋王顯榮
        小型微型計算機系統(tǒng) 2022年5期
        關(guān)鍵詞:定義語言服務(wù)

        阮宏瑋,李 華,王顯榮

        (內(nèi)蒙古大學(xué) 計算機學(xué)院,呼和浩特 010021)

        1 引 言

        網(wǎng)絡(luò)功能虛擬化(Network Function Virtualization,NFV)和軟件定義網(wǎng)絡(luò)(Software-defined Networking,SDN)作為目前網(wǎng)絡(luò)研究的熱點,是促進(jìn)當(dāng)今網(wǎng)絡(luò)發(fā)展變革的重要動力,二者融合產(chǎn)生的直接技術(shù)價值是能夠支持網(wǎng)絡(luò)服務(wù)功能虛擬化,從而實現(xiàn)對用戶網(wǎng)絡(luò)功能需求靈活優(yōu)化的配置響應(yīng),而其影響更大的市場價值則是體現(xiàn)在支持服務(wù)功能鏈(Service Function Chain,SFC)的編排定制[1,2].SFC是描述一組按一定關(guān)聯(lián)關(guān)系構(gòu)成的需求服務(wù)邏輯組合拓?fù)浣Y(jié)構(gòu),可由用戶或系統(tǒng)靜態(tài)配置或者動態(tài)編排.雖然傳統(tǒng)網(wǎng)絡(luò)也有SFC概念,并且盡管在上層設(shè)計是抽象的、獨立于拓?fù)涞认拗?但在底層網(wǎng)絡(luò)實際部署SFC時經(jīng)常受拓?fù)浣Y(jié)構(gòu)條件約束,部署難度大,在網(wǎng)絡(luò)重構(gòu)變更時需進(jìn)行重配置.

        NFV與SDN相結(jié)合可促使SFC適應(yīng)云環(huán)境下的動態(tài)性、多租戶、集中控制等,因而受到研究者的普遍關(guān)注,并在SFC模型驗證、控制平面建模、服務(wù)編排和優(yōu)化、需求刻畫和北向接口等方面進(jìn)行研究.NFV和SDN的重要目標(biāo)是希望通過虛擬化和軟件化,幫助用戶將原本復(fù)雜的SFC服務(wù)配置、部署和管理透明化、簡單化.從這一目標(biāo)出發(fā)分析,現(xiàn)有研究多是側(cè)重于局部性關(guān)鍵技術(shù)研究,關(guān)注北向平面及其以下特別是網(wǎng)絡(luò)部分,主要面向系統(tǒng)管理人員、編程人員提供一系列北向接口語言和網(wǎng)絡(luò)管理語言,從各自研究關(guān)注的需求目的、資源分配、服務(wù)部署等相對獨立部分當(dāng)中的重點問題開展研究.相對于局部性的關(guān)鍵問題,在實際應(yīng)用中,服務(wù)應(yīng)用管理人員和高級服務(wù)開發(fā)人員側(cè)重于整體性SFC方案,主要關(guān)注于由北向需求至南向部署的應(yīng)用解決方案的整體設(shè)計、自動化部署和運行.為此,本文設(shè)計提出一種SFC領(lǐng)域?qū)S谜Z言,能夠作為支持貫穿連接各部分自動化運行的全流程整體方案,節(jié)省常規(guī)編程工作和子系統(tǒng)集成環(huán)節(jié),專用于服務(wù)更高層面的SFC服務(wù)領(lǐng)域,為應(yīng)用管理人員和高級服務(wù)開發(fā)人員提供統(tǒng)一的高層服務(wù)管理抽象和自動化服務(wù)支持.

        本文的主要貢獻(xiàn)如下:

        1)提出了SFC抽象化層次架構(gòu).

        2)給出了SFCDSL內(nèi)基于軟件定義SF和面向?qū)ο蟮腟FC形式化分析

        3)設(shè)計實現(xiàn)了面向SFC領(lǐng)域的專用語言SFCDSL.

        本文組織如下:第2節(jié)介紹相關(guān)工作研究,第3節(jié)給出SFC抽象化層次架構(gòu),第4節(jié)介紹SF和SFC的形式化分析,第5節(jié)說明SFCDSL的設(shè)計實現(xiàn)原理,第6節(jié)結(jié)合典型場景示例演示SFCDSL應(yīng)用并與其它常規(guī)SFC技術(shù)進(jìn)行功能性對比分析,最后進(jìn)行總結(jié).

        2 相關(guān)工作

        在SFC結(jié)構(gòu)相關(guān)方面,已標(biāo)準(zhǔn)化的有SFC問題說明[3]、SFC體系結(jié)構(gòu)[4]、SFC NSH協(xié)議[5]等.NFP(Network Function Parallelism)并發(fā)架構(gòu)[6]基于NF對于數(shù)據(jù)流讀寫訪問模型最大化優(yōu)化NF間可并發(fā)部分,并通過實驗驗證了并發(fā)算法有效性,說明了SFC模型需要支持并發(fā)而不僅僅是線形的必要性.對于SFC結(jié)構(gòu),SFC定義以及大多數(shù)研究是基于SFC拓?fù)浔憩F(xiàn),一般多基于直觀拓?fù)浣Y(jié)構(gòu)即線形結(jié)構(gòu)或服務(wù)圖(Service Graph)結(jié)構(gòu)附加約束條件方式簡化定義SFC.

        在SFC服務(wù)需求描述方面,可以基于傳統(tǒng)的描述Web服務(wù)的各類xSDL描述語言,還可使用語義Web服務(wù)OWL-S(1)http://www.w3c.org/submission/owl-s/通過提供信息語義進(jìn)一步增強服務(wù)描述,并且通過研究將BPEL4WS(2)http://msdn.microsoft.com/en-us/library/Aa479358或OWL-S映射為形式化組合模型,還可完善服務(wù)建模與測試驗證.相比傳統(tǒng)實現(xiàn)技術(shù),基于Intent(意圖)方式是SFC服務(wù)需求研究熱點.文獻(xiàn)[7]介紹了在ETSI NVF平臺上實現(xiàn)基于Intent的SFC,采用了基于JSON形式格式化封裝的Intent請求,被轉(zhuǎn)換為YAML格式的網(wǎng)絡(luò)服務(wù)描述符后最終部署在Openstack上.文獻(xiàn)[8]對基于意圖的網(wǎng)絡(luò)(IBN)研究進(jìn)行綜述,介紹了IBN體系結(jié)構(gòu)并概述了IBN實現(xiàn)的閉環(huán)內(nèi)容及各方面關(guān)鍵技術(shù)研究現(xiàn)狀,指出當(dāng)前Intent研究仍主要是局限于特定環(huán)境的格式化意圖描述.文獻(xiàn)[9]通過對近期IBN取得的進(jìn)展進(jìn)行綜述對比,得出IBN近年并沒有突破性進(jìn)展結(jié)論,并指出自然語言處理對于IBN發(fā)展的重要性.Intent的設(shè)計目標(biāo)是用戶可通過意圖接口設(shè)置網(wǎng)絡(luò)目標(biāo)狀態(tài),在經(jīng)過意圖轉(zhuǎn)譯后,內(nèi)部實現(xiàn)過程希望由網(wǎng)絡(luò)自動配置完成,除基于現(xiàn)有控制器協(xié)議或API技術(shù)外,為提高管理能力效率一般基于領(lǐng)域編程語言支持實現(xiàn).

        在相關(guān)領(lǐng)域編程研究方面,研究人員基于不同抽象化層次需求提出了諸多語言.文獻(xiàn)[10]從分類角度對基于OpenFlow的SDN編程語言進(jìn)行綜述,一方面從底層編程、API編程和領(lǐng)域?qū)S谜Z言(Domain Specific Language,DSL)編程舉例介紹SDN編程三級層次,另一方面從SDN編程語言特征,按照流安裝、策略定義、編程方式和抽象化分類,重點分析對比了FML、Nettle、Frenetic、Flog、Merlin等15種SDN主流編程語言.文獻(xiàn)[11]采用類似的分類方法,根據(jù)編程語言、編程模型、實現(xiàn)機制以及新功能程度4個方面分類綜述各類語言特性.P4[12]語言定位于統(tǒng)一操作管理南向數(shù)據(jù)平面設(shè)備,定義抽象交換機模型和基礎(chǔ)數(shù)據(jù)類型,基于編程操作數(shù)據(jù)轉(zhuǎn)發(fā)平面設(shè)備處理數(shù)據(jù)包,通過北向接口調(diào)用和內(nèi)部編譯支持隱藏SDN編程的復(fù)雜性和減少出錯概率.Nemo[13]是借鑒SQL語言方式設(shè)計的聲明式語言,通過將intent設(shè)計為OOR(對象-操作-結(jié)果)模型以管理網(wǎng)絡(luò).以上語言服務(wù)設(shè)計定位靠近網(wǎng)絡(luò)層,為更便利上層應(yīng)用,研究人員基于面向?qū)ο蠓椒ㄔO(shè)計面向SFC的語言和應(yīng)用.文獻(xiàn)[14]提出了面向?qū)ο蟮腘APL編程語言,可在將JSON格式的網(wǎng)絡(luò)拓?fù)湔埱筠D(zhuǎn)為NAPL語言程序后,編譯為在目標(biāo)SDN控制器上可運行的C++程序,實現(xiàn)用戶網(wǎng)絡(luò)連接需求到SDN控制器程序的自動化編程支持.SDNSOC[15]作為一個基于面向?qū)ο蟮陌踩僮骺蚣?將SFC認(rèn)為是由一系列內(nèi)在可有面向?qū)ο箨P(guān)系關(guān)聯(lián)的虛擬網(wǎng)絡(luò)服務(wù)VNF(Virtual Network Function)構(gòu)成,因而通過自動化判定構(gòu)成不同SFC的VNF或者網(wǎng)絡(luò)域間的面向?qū)ο箨P(guān)聯(lián)關(guān)系,檢測相關(guān)SFC間的規(guī)則沖突.

        當(dāng)前SFC結(jié)構(gòu)缺少深入分析服務(wù)關(guān)系研究,研究出發(fā)點主要關(guān)注同平面(業(yè)務(wù)平面或網(wǎng)絡(luò)平面)服務(wù)構(gòu)成的平面拓?fù)潢P(guān)系,不直接支持體現(xiàn)跨平面(業(yè)務(wù)平面和網(wǎng)絡(luò)平面)層次化服務(wù)組合,須代以分層管控服務(wù).這樣的分類研究方法也影響到以結(jié)構(gòu)作為實現(xiàn)理念基礎(chǔ)的面向SFC的領(lǐng)域語言和應(yīng)用設(shè)計,前述的NAPL語言僅關(guān)注網(wǎng)絡(luò)平面的轉(zhuǎn)發(fā)節(jié)點、鏈路、服務(wù)構(gòu)成的拓?fù)溥B接關(guān)系,SDNSOC僅關(guān)注VNF間的關(guān)聯(lián)關(guān)系.當(dāng)前領(lǐng)域語言研究面向單一層面,缺少適用于云網(wǎng)融合整體架構(gòu)的組織和設(shè)計.本文參照領(lǐng)域語言設(shè)計原則和云系統(tǒng)應(yīng)用、設(shè)備管理、并行編程、深度學(xué)習(xí)等不同領(lǐng)域語言設(shè)計場景[16-20],通過設(shè)計一套面向云網(wǎng)融合環(huán)境的自定義語言SFCDSL(SFC Domain Specific Language)以提高SFC應(yīng)用能力和效率.為此,需要研究解決以下3方面問題:

        1)SFCDSL編程框架.

        2)SF和SFC統(tǒng)一規(guī)范抽象.

        3)SFCDSL設(shè)計和評價.

        3 SFCDSL編程架構(gòu)

        從規(guī)范化、可擴展性角度考慮,本文參照NFV和SDN控制器抽象化層次架構(gòu)[21],進(jìn)一步細(xì)化SFC領(lǐng)域?qū)哟?首先提出SFC抽象化層次框架,明確SFCDSL語言的定位,如圖1所示,說明如下.

        圖1 SFC抽象化層次框架

        1)SFC北向應(yīng)用層:面向北向用戶提供透明服務(wù)的需求應(yīng)用層,通過需求應(yīng)用接口向用戶或第三方應(yīng)用提供服務(wù),如基于YANG語言的API程序接口、基于查詢語言的高級管理接口等.

        2)SFC南向管理層:面向南向系統(tǒng)管理控制器提供規(guī)范跨異構(gòu)的管理層,如NFV控制器、SDN控制器、SFC編排層控制器等,通過封裝適配南向控制器API、通信協(xié)議或者程序等以交互和實現(xiàn)用戶需求應(yīng)用.

        3)SFC驗證層:支持SFC需求和實現(xiàn)等驗證,包括靜態(tài)驗證(如模型驗證)和動態(tài)驗證(如測試驗證).

        4)SFC中間層:關(guān)聯(lián)支持SFC相關(guān)各層面的核心中間層.本文通過自定義領(lǐng)域編程語言方式實現(xiàn)自動化支持.

        從圖1可以得出,SFC抽象層次框架的核心是中間層.本文通過實現(xiàn)SFC領(lǐng)域語言SFCDSL以向各方提供編程能力支持.需要說明的是,SFCDSL本身關(guān)注的是為用戶提供統(tǒng)一編程服務(wù),具體平臺最終資源配置管理和實現(xiàn)依賴一般通過適配器封裝轉(zhuǎn)換為平臺控制器調(diào)用完成.圖2是SFCDSL編程架構(gòu),分為模型層、算法層和實現(xiàn)層.

        圖2 SFCDSL編程架構(gòu)

        1)模型層:SF和SFC抽象描述,可通過“北向適配”將上層應(yīng)用層需求轉(zhuǎn)為SFCDSL支持的模型格式.

        2)算法層:包括內(nèi)置算法和語言特性.內(nèi)置算法提供優(yōu)化算法代碼片段或完整實現(xiàn),語言特性包括語法糖、面向?qū)ο笤O(shè)計等.

        3)實現(xiàn)層:編譯SFCDSL程序,通過“南向適配”對接不同南向?qū)?

        4 SF和SFC統(tǒng)一規(guī)范抽象

        SFC是基于SF構(gòu)造的,本質(zhì)反映的不僅是用戶對于服務(wù)本身的需求,也有服務(wù)間的關(guān)聯(lián)的需求.云網(wǎng)融合架構(gòu)下的服務(wù)種類繁多類型各異,不同技術(shù)基于關(guān)注服務(wù)的角度區(qū)別,對服務(wù)會有不同理解,進(jìn)而會側(cè)重創(chuàng)建不同類型的SFC.比如NFV著重于業(yè)務(wù)處理,一般通過業(yè)務(wù)功能鏈構(gòu)建SFC,SDN著重于網(wǎng)絡(luò)轉(zhuǎn)發(fā),一般通過網(wǎng)絡(luò)功能鏈構(gòu)建SFC.現(xiàn)有實現(xiàn)融合理念的關(guān)鍵主要是通過基于并結(jié)合現(xiàn)有云、網(wǎng)兩部分,在支持交互的基礎(chǔ)上各自定義并管理本域范圍內(nèi)的具體“服務(wù)”.由于缺少一致的SF和SFC定義,所以較難實現(xiàn)統(tǒng)一的云網(wǎng)交叉應(yīng)用管理.因此本文設(shè)計領(lǐng)域語言須首先規(guī)范SF和SFC的模型.

        深入分析SFC結(jié)構(gòu)可以發(fā)現(xiàn)SFC與SF間是具有遞歸特征的,即:SFC既可以是扁平化的,也可以分層的,SFC既可內(nèi)在表現(xiàn)為一組相關(guān)聯(lián)的SF,還可以一般地外化表現(xiàn)為統(tǒng)一的邏輯實體SF,進(jìn)而與其它SFC或SF通過關(guān)聯(lián)組合構(gòu)造更高一級的SFC,反過來一個SFC也可以分解為若干SF(或子SFC).由此,借鑒Web服務(wù)和OWL-S統(tǒng)一規(guī)格化服務(wù)理念,對于云網(wǎng)架構(gòu)中的每類服務(wù),從軟件角度都可以作為服務(wù)分類,由此可以按照對象化方式,即通過刻畫對象的屬性、行為方式以體現(xiàn)服務(wù).

        定義.軟件定義的服務(wù)功能(Software-Defined Service Function)

        泛指通過軟件對象化方式體現(xiàn)服務(wù)屬性、服務(wù)行為以表現(xiàn)服務(wù)能力的功能單元.業(yè)務(wù)服務(wù)和網(wǎng)絡(luò)服務(wù)均可統(tǒng)一視為軟件定義的服務(wù)功能.

        根據(jù)前述SFC與SF間的遞歸特征,本文給出基于EBNF[22]的以面向關(guān)系抽象化的SFC定義:

        SFC = SF | "(" SF,SFC ")" //SFC是SF或者一系列SF

        SF =(Property,Action) | SFOOConstruction //SF可由屬性、行為和約束直接刻畫,可基于SF構(gòu)造

        SFOOConstruction = Generation | Realization |Composition | Aggregation | Dependency //基于面向?qū)ο箨P(guān)系構(gòu)造

        Generation =("extends" SF) //繼承泛化

        Realization =(SF "implements" Interface)

        Composition =(SF "compose" SF) //組合

        Aggregation =(SF "aggregate" SF) //聚合

        Dependency =("<" SF,SF ">")//依賴

        通過以上分析,各類SFC技術(shù)均可以規(guī)范化表示為對象關(guān)系,下面將基于這一理念設(shè)計SFCDSL.

        5 SFCDSL設(shè)計

        5.1 SFCDSL對象關(guān)系設(shè)計

        雖然本文中的SF面向所有可提供服務(wù)的功能單元,但在設(shè)計時是以云網(wǎng)結(jié)合為背景,關(guān)注NFV+SDN場景下涉及的需求對象關(guān)系.

        通過前述分析可以看出,SFC的結(jié)構(gòu)特性恰好體現(xiàn)了面向?qū)ο笤O(shè)計中對象之間的關(guān)系,各種SFC演化的需求行為,例如SFC組合分解、SFC彈性、SFC鏈路分裂聚合等的實質(zhì),都可以看做是服務(wù)對象間的泛化、組合、依賴等一系列邏輯關(guān)系.因此基于軟件定義SF構(gòu)建SFC,可以將SFC領(lǐng)域中的服務(wù)和服務(wù)連接統(tǒng)一映射為面向?qū)ο箨P(guān)系表示,即服務(wù)及服務(wù)間關(guān)系兩類.本文基于UML圖描述對象關(guān)系,說明如下.

        1)SF以及基于SF自身的彈性擴展:泛化、實現(xiàn).SF的屬性和行為均可以定義為接口,SF通過實現(xiàn)接口和泛化繼承進(jìn)行擴充.

        例如:對于入侵檢測服務(wù),可以認(rèn)為是虛擬服務(wù)VNF的泛化擴展,并且實現(xiàn)檢測接口.

        2)基于SF的組合演化:組合、聚合.組合與聚合的差別體現(xiàn)在組合整體代表各部分的生命周期.

        例如:對于應(yīng)用防火墻WAF,可以認(rèn)為是防火墻與入侵檢測設(shè)備的組合,建立或刪除WAF服務(wù)則各部分服務(wù)同時建立或刪除.而對于冗余應(yīng)用服務(wù),可以認(rèn)為是主服務(wù)和備份服務(wù)的聚合,某一部分失效并不影響其余部分.

        3)SF間的連接:依賴.須注意,依賴表現(xiàn)為服務(wù)關(guān)聯(lián)的有向性,如果是對稱鏈路通信,應(yīng)建立相互依賴.

        設(shè)計原則主要考慮以下兩點:

        1)可演化性

        NFV和SDN的設(shè)計角度分別是以業(yè)務(wù)服務(wù)為核心和以網(wǎng)絡(luò)鏈路為核心,但在實際應(yīng)用場景中卻存在大量個性化需求,經(jīng)常是云網(wǎng)環(huán)境跨層需求交織疊加.比如有需求從性能和安全考慮,要求對于一個由若干SF構(gòu)成的NFV SFC鏈,在特定交換機間按規(guī)定規(guī)則轉(zhuǎn)發(fā).一般控制器默認(rèn)功能行為僅針對各自關(guān)注點,不支持異構(gòu)平臺集成統(tǒng)一編程環(huán)境,需要用戶根據(jù)具體要求和環(huán)境進(jìn)行有針對性編程,編程難度和實現(xiàn)成本高,程序可演化性較差.

        2)可擴展性

        不同場景對象各異,屬性、行為差異很大,設(shè)計應(yīng)允許在核心基礎(chǔ)上具備充分可擴展性.

        按照上述設(shè)計原則要求,云網(wǎng)融合環(huán)境主要核心類圖如圖3所示,具體說明如下.

        圖3 SFCDSL類圖

        1)Property:屬性.抽象列舉元素對象常規(guī)屬性,如性能屬性延遲、吞吐量等等,個性化屬性可由具體SF派生擴展.

        2)Action:行為.抽象說明元素對象常規(guī)功能和事件,如功能性說明、周期性行為等,具體功能由具體SF設(shè)計實現(xiàn).

        3)Constraint:約束.抽象說明元素對象約束條件,如云網(wǎng)環(huán)境服務(wù)基于策略(Policy)規(guī)則(Rule),由具體SF設(shè)置并解釋策略規(guī)則內(nèi)容.

        4)Element:抽象基類元素.

        5)SF和SFC:服務(wù)功能和服務(wù)功能鏈.

        6)VNF、NF和VM、LINK、Path和Switch:不同視角不同層次下的服務(wù)功能.

        7)Flow:數(shù)據(jù)流.

        5.2 SFCDSL風(fēng)格設(shè)計

        領(lǐng)域特定語言(domain-specific language、DSL)是專注于某個應(yīng)用程序領(lǐng)域的計算機語言,可分為外部DSL和內(nèi)部DSL.外部DSL不同于宿主語言,通常自定義語法,宿主應(yīng)用代碼通過文本解析執(zhí)行外部DSL腳本,難度高但可靈活實現(xiàn),如SQL語言.內(nèi)部DSL采用宿主語言語法結(jié)構(gòu)定義,受限于宿主語言功能特性但可具有特定風(fēng)格,如Scala語言.構(gòu)建一個DSL須符合3個原則,即該DSL應(yīng)能完整描述領(lǐng)域、簡單易用并且隱藏實現(xiàn)細(xì)節(jié).

        根據(jù)SFC形式化定義,SFCDSL語言應(yīng)是支持面向?qū)ο蟮?應(yīng)可以靈活支持適于SFC領(lǐng)域的自定義操作.Scala語言是兼容Java語言的,具有多繼承、支持特征trait、隱式類型轉(zhuǎn)換、符號重載等特性,可通過增加庫等形式設(shè)計符合領(lǐng)域需求的自定義DSL.綜合以上情況,本文基于Scala語言設(shè)計內(nèi)部DSL類型的SFCDSL.

        SFCDSL文法規(guī)則遵循Scala語言,支持類定義和各類常規(guī)運算符操作.在此基礎(chǔ)上,本文主要基于SFCDSL對象關(guān)系設(shè)計,利用Scala隱式轉(zhuǎn)換特性,構(gòu)建符合SFC領(lǐng)域描述應(yīng)用風(fēng)格的自定義DSL文法.

        1)對于SFC領(lǐng)域?qū)ο箝g的關(guān)系,通過重載運算符以實現(xiàn)SFC的建立、刪除和彈性擴展.

        ·算術(shù)運算符:+ |-| * | /分別表示建立服務(wù)鏈接、刪除服務(wù)鏈接、服務(wù)數(shù)擴展和服務(wù)數(shù)收縮.

        需要說明,由于服務(wù)鏈路的有向性,+和-并不滿足交換律,即服務(wù)u+服務(wù)v不等于服務(wù)v+服務(wù)u.

        舉例:

        u+v //建立服務(wù)u和服務(wù)v連接

        u-v //刪除服務(wù)u和服務(wù)v連接

        u*2 //服務(wù)u數(shù)量擴展2倍

        u/2 //服務(wù)u數(shù)量收縮一半,同時刪除所有與刪除服務(wù)間的關(guān)聯(lián)

        ·關(guān)系運算符:> | < | = 同類服務(wù)可比較屬性間的大小關(guān)系.

        舉例:

        u>v //u和v之間的屬性關(guān)系,如用于服務(wù)質(zhì)量性能比較

        ·二元邏輯運算符:判定服務(wù)間的訪問邏輯關(guān)系.多重鏈路間默認(rèn)為并發(fā)關(guān)系,&&表示并發(fā),‖表示選擇.

        舉例:

        link(u,v)&& link(u,w) //uv和uw之間是否為并發(fā)關(guān)系.

        2)對于查詢拓?fù)?、最短路徑等SFC領(lǐng)域常用功能,通過隱式轉(zhuǎn)換方式實現(xiàn)內(nèi)嵌算法.

        舉例:

        sfc select topology //查詢sfc的拓?fù)?/p>

        u shortpath v //搜索服務(wù)u和v間的最短路徑

        6 應(yīng)用及分析

        以上介紹了SFCDSL基本設(shè)計原理和實現(xiàn),下面通過示例展示SFCDSL在SFC編程應(yīng)用方面的整體性自動化支持能力,然后與其它常規(guī)技術(shù)進(jìn)行功能性對比分析.

        6.1 SFCDSL在SFC架構(gòu)原型中的應(yīng)用

        根據(jù)前述架構(gòu)設(shè)計,SFCDSL作為中間層為SFC各層提供支持服務(wù),SFCDSL內(nèi)部以面向?qū)ο箨P(guān)系組織服務(wù).所以從可擴展性、兼容性考慮,對于SFC北向應(yīng)用層接口描述,本文首先通過北向適配器統(tǒng)一轉(zhuǎn)換為基于UML的面向?qū)ο箨P(guān)系,然后基于UML圖的對象關(guān)系轉(zhuǎn)換為SFCDSL程序,之后通過南向適配器完成SFC實際部署.圖4是本文設(shè)計了一個在Floodlight SDN環(huán)境下擴展文獻(xiàn)[7]設(shè)計的ETSI NFV環(huán)境Intent的SFC架構(gòu)實現(xiàn)原型,在該原型下通過結(jié)合如下需求變更示例演示SFCDSL的可擴展應(yīng)用步驟.

        圖4 SFC架構(gòu)示例

        需求示例演示兩階段變更:

        ·S1:構(gòu)建1個由入口防火墻FW經(jīng)指定交換機SW至WebService構(gòu)成的SFC,要求FW至WebService的帶寬應(yīng)達(dá)到100M.

        ·S2:因業(yè)務(wù)擴大,WebService擴大數(shù)量為2個,須為WebService增加負(fù)載均衡LB服務(wù).

        1)擴展的ETSI NFV環(huán)境Intent

        文獻(xiàn)[7]設(shè)計的ETSI NFV環(huán)境下Intent主體結(jié)構(gòu)如下所示,其中service_block塊部分聲明各種服務(wù),如防火墻、入侵檢測服務(wù)等,其中order表示服務(wù)次序;service_requirements塊部分聲明服務(wù)需求,如帶寬、延遲等.

        {"name":

        "service_blocks":[

        {

        "block":"service_block_name",

        "order":int:Order_inside_SFP,

        "symmetric":Bool:Block_On_Reverse_path

        },],

        "service_requirements":{}}

        與文獻(xiàn)[7]僅關(guān)注ETSI NFV平臺服務(wù)不同,本文是將所有服務(wù)均作為基于SFCDSL服務(wù)類圖擴展的可編排對象,所以在其基礎(chǔ)上增加可識別服務(wù)類型的type字段.

        根據(jù)S1需求構(gòu)建的擴展的ETSI NFV環(huán)境Intent關(guān)鍵描述如下:

        "service_blocks":[

        {

        "block":"FW",

        "order":1,

        "type":VM,

        },

        {

        "block":"SW",

        "order":2,

        "type":Switch,

        },

        {

        "block":"WebService",

        "order":3,

        "type":VNF,

        },],

        "service_requirements":{

        "bandwidth":"100M",

        }

        2)擴展的ETST NVF 環(huán)境Intent轉(zhuǎn)換為UML圖

        主要映射規(guī)則如下:

        ·將service_blocks塊中的各block轉(zhuǎn)換為繼承于SFCDSL已定義的type類型的UML類UMLClass

        ·按照order次序建立UML類間的依賴UMLDependency

        ·將service_requirements中的需求轉(zhuǎn)為UML類或者依賴的約束(Constraints)

        以擴展的ETSI NFV環(huán)境Intent描述的S1需求經(jīng)轉(zhuǎn)換后的UML如圖5所示.

        圖5 Intent到UML圖示例

        3)UML圖轉(zhuǎn)換為SFCDSL程序

        讀入并解析XML格式的UML圖數(shù)據(jù),提取其中的UMLClass和UMLDependency等關(guān)鍵代碼塊,轉(zhuǎn)為SFCDSL程序代碼,生成代碼片段示例如下.

        var sfcreq = FW composition SW composition WebService //構(gòu)造sfc請求

        var dependency1 = FW + SW

        var dependency2 = SW + WebService

        sfcreq addlink dependency1

        sfcreq addlink dependency2

        sfcreq compute shortpath //按照最短路徑計算SFC鏈路

        4)基于Floodlight SDN的部署

        根據(jù)不同南向環(huán)境的,構(gòu)建不同的南向適配器.對于基于Floodlight的SDN環(huán)境,根據(jù)鏈路需求約束計算的相應(yīng)鏈路,通過調(diào)用Floodlight REST API接口或者命令行配置方式下發(fā)流表建立符合需求的鏈路.

        var adapter = new FloodlightAdapter

        adapter create sfcreq

        典型Floodlight下發(fā)流表規(guī)則方式如下:

        curl-X POST-d ′{"switch":"00:00:00:00:00:00:00:01","name":"flow-mod-1","cookie":"0","priority":"32768","in_port":"1","active":"true","actions":"output=2"}′http://controller_ip:8080/wm/staticentrypusher/json

        3https://wiki.openstack.org/wiki/Neutron/ServiceInsertionAndChaining

        4https://wiki.opendaylight.org/view/Service_Function_Chaining:Main

        5)基于UML的負(fù)載均衡需求變更實現(xiàn)優(yōu)化

        對于基于S1產(chǎn)生的S2負(fù)載均衡需求變更,在設(shè)計時首先為WebService增加“服務(wù)集群”屬性說明,對于變更實現(xiàn)可采用兩種流程方式:

        第1種方式,一般流程.按照前述方式構(gòu)造目標(biāo)Intent,轉(zhuǎn)換為UML圖,生成SFCDSL程序執(zhí)行.可以通過編輯S1的UML圖方式簡化Intent至UML步驟.

        第2種方式,變更流程.通過增加service_operation塊操作擴展Intent描述能力,增加建立和刪除鏈路的操作說明,直接生成如下相關(guān)變更代碼:

        SW-WebService

        SW+LB

        LB+WebService[0]

        LB+WebService[1]

        在實現(xiàn)方面,相比常規(guī)構(gòu)造LB服務(wù)以及增加相應(yīng)鏈路的一般方式,本設(shè)計在實現(xiàn)時考慮到Floodlight quantum已支持負(fù)載均衡服務(wù)池實現(xiàn),所以實現(xiàn)是通過南向適配器調(diào)用Floodlight API實現(xiàn)負(fù)載均衡.

        通過以上技術(shù)實現(xiàn)分析可以看出,相比于一般分階段局部化結(jié)合多段接口的非全流程自動化方案,本文研究通過北向適配將目的轉(zhuǎn)換為UML圖,然后基于統(tǒng)一服務(wù)鏈描述的SFCDSL特性,自動生成集成內(nèi)置優(yōu)化算法的SFCDSL代碼,之后通過南向適配進(jìn)行自動化部署,能夠?qū)崿F(xiàn)完成整體服務(wù)管理方案的自動化支持,為用戶提供了可用的統(tǒng)一抽象簡便的SFC領(lǐng)域編程服務(wù),節(jié)省了常規(guī)編程工作和子系統(tǒng)集成環(huán)節(jié).

        6.2 SFC相關(guān)技術(shù)功能性對比分析

        現(xiàn)有技術(shù)一般均采用租戶理念設(shè)計,為不同SFC建立獨立連接.基于VLAN[23]隔離性劃分服務(wù)鏈租戶,技術(shù)復(fù)雜度低,實現(xiàn)了不同VLAN服務(wù)不同SFC,但不支持VLAN內(nèi)的服務(wù)編排.基于Openstack+OVS的NFV方案雖提供編程和協(xié)議配置實現(xiàn)SFC的管理和部署,但缺少面向高級管理人員的服務(wù)管理抽象和全流程的自動化配置服務(wù)支持,需要較高能力和較多環(huán)節(jié)的的編程服務(wù),技術(shù)復(fù)雜度高.PCE[24]、LISP[25]、GRE[26]和MPLS[27]等協(xié)議方式側(cè)重于實現(xiàn)服務(wù)間的鏈路,配置相對方便但設(shè)備技術(shù)有特定要求,服務(wù)編排靈活性響應(yīng)方面較弱.NSH協(xié)議雖然獨立于北向控制器并抽象南向設(shè)備,但其因用于實現(xiàn)南向平面轉(zhuǎn)發(fā)而與具體跳轉(zhuǎn)聯(lián)系緊密,抽象層次不高,并且相關(guān)實現(xiàn)沒有考慮基于對象的演化擴展設(shè)計.相比而言,SFCDSL定位服務(wù)于SFC管理應(yīng)用,服務(wù)于自北向南的整體自動化服務(wù)支持,所以在需求描述能力、自動化、靈活性、易用性等方面相比較強,但系統(tǒng)設(shè)計實現(xiàn)相對復(fù)雜,在部署時需要配套底層實現(xiàn)技術(shù)適配器以具體實現(xiàn).具體比較見表1.

        表1 SFC技術(shù)功能性對比分析

        7 總 結(jié)

        針對SFC領(lǐng)域需求復(fù)雜缺乏編程能力現(xiàn)狀,本文首先給出基于軟件定義SF和面向?qū)ο蟮腟FC形式化定義,在此基礎(chǔ)上設(shè)計實現(xiàn)了面向SFC領(lǐng)域的內(nèi)部DSL風(fēng)格的SFCDSL,并實現(xiàn)了一個基于SFCDSL的SFC框架.下一步,一方面繼續(xù)擴展提升語言描述領(lǐng)域能力,另一方面將在所提出的SFC其它層面開展研究,增強自動化驗證和高級查詢能力等.

        猜你喜歡
        定義語言服務(wù)
        語言是刀
        文苑(2020年4期)2020-05-30 12:35:30
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        讓語言描寫搖曳多姿
        招行30年:從“滿意服務(wù)”到“感動服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        累積動態(tài)分析下的同聲傳譯語言壓縮
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        我有我語言
        修辭學(xué)的重大定義
        日本按摩偷拍在线观看| 国产精品无码Av在线播放小说| 国产高清白浆| 国产视频一区2区三区| 很黄很色很污18禁免费| 99精品国产高清一区二区麻豆| 国产国产人免费人成免费视频| 国产成人无码免费看片软件| 国产成人影院一区二区| 极品美女尤物嫩模啪啪| 国产黄片一区二区三区| 一边捏奶头一边高潮视频| 久久伊人色av天堂九九| 久久艹影院| 绿帽人妻被插出白浆免费观看| 国产女优一区在线观看| 丰满少妇呻吟高潮经历| 99精品久久这里只有精品| 日本看片一区二区三区| 亚洲成人精品在线一区二区| 欧美激情一区二区三区 | 国产成人免费高清激情明星| 青青草精品在线免费观看| 老熟妇乱子交视频一区| 水蜜桃亚洲一二三四在线| 99re国产电影精品| 日韩中文字幕不卡在线| 大地资源在线观看官网第三页| 久久AⅤ无码精品为人妻系列| 日韩精品中文字幕人妻中出| 亚洲综合av一区二区三区蜜桃| 一本一道久久a久久精品综合| 亚洲一区二区三区久久不卡| 国产一级内射一片视频免费| 人妻插b视频一区二区三区| 国产乱视频| 人妻少妇激情久久综合| 狠狠摸狠狠澡| 粗一硬一长一进一爽一a级| 男女干逼视频免费网站| 白嫩丰满少妇av一区二区|