吉祖勤,沈軍,丁德林,崔效瑋
(1. 東南大學計算機科學與工程學院,江蘇 南京 211189;2. 東南大學計算機網絡和信息集成教育部重點實驗室,江蘇 南京 211189;3. 鹽城師范學院信息科學與工程學院,江蘇 鹽城 224002)
隨著網絡技術的不斷發(fā)展和各種新型應用的大量涌現,網絡服務的需求及形態(tài)不斷增加,網絡服務模型實現服務可擴展的能力呈現出不足[1-2]。網絡的服務可擴展能力是指在網絡性能不明顯下降的前提下,網絡提供新服務功能的能力。雖然傳統網絡的集成服務模型與區(qū)分服務模型通過添加協議補丁等方法實現了一定程度上的服務可擴展,但隨著添加的新協議越來越多,這種方法的缺陷也越來越明顯,主要體現在以下方面:首先,新協議的開發(fā)和部署往往都需要很長的周期;其次,協議補丁的添加使網絡系統變得越發(fā)龐大復雜;此外,新協議實現的服務功能與已有服務之間往往存在一定的功能冗余性,從而影響網絡系統的實際執(zhí)行性能,降低網絡系統的處理效率。
為打破傳統網絡的僵化問題,實現網絡的適應性,眾多的研究機構開始圍繞如何改進網絡體系結構展開研究,以解決服務可擴展性問題。在此基礎上,出現了一些具有代表性的研究成果。RBA(role-based architecture)[3]打破傳統的層次化結構思想,以角色作為通信的實體,這種設計思想能夠避免傳統網絡模型層次間功能的冗余,但沒有給出組織和管理角色功能的具體方法,因而服務可擴展性難以較好實現。SILO(services integration, control and optimization for the future Internet)[4]也是非層次體系結構,服務筒倉可以按需、自動地被創(chuàng)建,用于自適應控制以及以優(yōu)化行為為目的的交互機制被內置到框架中。但服務筒倉的偏序關系界定困難,服務筒倉的定制添加難以實現,因此服務可擴展性較弱。RNA(recursive network architecture)[5-6]提出了協議可以在層之間復用的思想,并提出了元協議的概念,即元協議部署在協議棧中,層數可以動態(tài)變化,旨在消除傳統網絡的冗余服務,但是動態(tài)棧難于實現,從而服務可擴展性較弱。在服務元網絡體系結構(SUNA, service unit network architecture)[7-8]中,服務元之間相互獨立,沒有服務功能的交叉,有效地避免了功能的冗余性。但各類服務元間粒度不一致,且粒度較大,難以較好地實現服務擴展。SDN(software defined network)架構[9]主要包含數據平面、控制平面和應用平面三層,每兩層之間通過統一的接口進行通信(如OpenFlow[10])。SDN提出的背景使對SDN的研究與應用多局限在網絡層以下,上層網絡應用的差異性使 SDN暫無統一的北向接口標準,并且OpenFlow作為SDN普遍使用的南向接口規(guī)范,其協議規(guī)則并不成熟,版本仍在更新[11],這些問題嚴重影響了基于 SDN的網絡服務可擴展性??蓴U展網絡服務模型(ENSM, extensible network service model)[12-13]打破了傳統網絡層次協議機制,顯式地給出服務模型。ENSM以原子服務組合的形式避免了傳統網絡中協議逐層封裝所產生的功能冗余,以定制原子服務和原子服務組合的形式提高了網絡服務可擴展性,從根本上解決了服務擴展這一網絡核心問題,具有很好的服務擴展能力。
文獻[13]雖然分析論證了ENSM具有服務可擴展性(即能夠實現動態(tài)、按需和優(yōu)性能的擴展服務),但是沒有對其服務擴展能力的程度進行分析評價。ENSM旨在提供良好的服務擴展能力,為了驗證ENSM模型思想的有效性,本文深入地分析了衡量ENSM的服務擴展能力。此處,本文還介紹了ENSM的基本原理,對ENSM的服務擴展能力進行了定性分析;使用網絡服務擴展能力分析方法對ENSM的服務擴展能力的進行了定量分析;由定性分析和定量分析結果可知,ENSM具有很好的服務擴展能力。
本文對傳統網絡的各層網絡協議功能進行拆分、歸納和抽象,得出一個初始的功能粒度很小的原子服務集合和原子服務間的關系集合(如原子服務間的依賴關系、交互關系等),這2個集合隨著應用需求的增加而不斷變大?;谠臃占虾驮臃臻g的關系集合這2個集合,ENSM實現了服務的動態(tài)、按需擴展,即動態(tài)按需地向原子服務集合中添加新定制的原子服務、動態(tài)按需地選擇所需原子服務并進行服務組合。因此,ENSM以原子服務組合的形式避免了傳統網絡中協議逐層封裝所產生的功能冗余,以定制原子服務和原子服務組合的形式提高了網絡服務的可擴展性。
ENSM位于網絡應用之下、網絡硬件設施之上,包括 4個功能模塊(服務組合管理模塊、用戶需求解析模塊、服務執(zhí)行控制引擎、原子服務管理模塊)和 2個服務庫(原子服務庫和常用服務實例庫)。ENSM的工作原理如圖1所示,具體工作過程如下:1) 在使用ENSM前,管理用戶將原子服務庫和常用服務實例庫部署到網絡節(jié)點,并更新服務信息;2) 業(yè)務用戶根據自身的個性網絡服務化需求從網絡服務層提交服務請求;3) 需求解析模塊將用戶需求解析表達后發(fā)送到服務組合管理模塊;4) 服務組合管理模塊根據需求解析結果,先從常用服務實例庫查找組合方案,若沒有找到方案,再從原子服務庫中選擇出相應的原子服務(若原子服務庫中沒有所需原子服務,則由原子服務管理模塊按需定制原子服務并添加到原子服務庫中),并生成服務組合方案,原子服務庫和服務實例庫在被訪問調用的過程中從網絡硬件設施讀取參數信息,最后將組合方案發(fā)送至服務執(zhí)行控制引擎;5) 服務執(zhí)行控制引擎接收到組合方案和生成服務實例的請求,根據組合方案生成滿足用戶需求的服務實例并發(fā)送給網絡服務層。
圖1 ENSM的工作原理
在ENSM中,本文將基于協議數量決定網絡服務能力的一維策略方法拓展為基于原子服務集合和定制、組合機制共同決定網絡服務能力的二維策略方法,這樣有利于靈活、可控地對網絡服務進行擴展?;?ENSM 的服務提供與擴展機制可以對ENSM的服務擴展能力進行定性分析。
傳統網絡與ENSM提供服務的模式對比如圖2所示,圖中虛線表示存在邏輯關系,實線表示存在信息交互。傳統網絡通過一層或幾層協議來提供服務,一般一個協議只能提供一種網絡服務,m個協議只能提供m種網絡服務,且在進行服務擴展時需要開發(fā)部署網絡協議。因此,協議數目與提供服務的種類基本以 1:1的趨勢增長。而ENSM則是通過定制原子服務和服務組合來提供服務,ENSM能夠提供服務的種類是由原子服務個數和原子服務間的組合關系決定的。在 ENSM中,原子服務的功能粒度遠小于傳統網絡的協議功能粒度,定制一個原子服務即是提供了一種服務,而一組原子服務使用不同組合方式即可提供多種不同的服務。因此,原子服務的數目與提供服務的種類以m:n(n≥m)的趨勢增長。由此可知,隨著模型中原子服務數量以及原子服務間組合關系的增加,可擴展網絡服務模型的服務擴展能力將遠超傳統網絡。
圖2 傳統網絡與ENSM提供服務的模式對比
ENSM的工作機理可形式化表示為
其中,xServ表示可擴展網絡服務模型,AS表示服務模型中的原子服務集合,SR表示原子服務間的組合運算集合[13]。本質上,任何一個網絡服務都是 xServ的一個實例,SR就是該服務實例的應用控制邏輯。由式(1)可知,ENSM中服務的提供與擴展基于2個因素,即AS和SR;基于同一個原子服務集合 AS,使用不同的組合運算集合 SR,可以提供多種不同的服務;向一個原子服務集合AS中按需定制、添加原子服務,并使用所需組合運算集合 SR,可以實現網絡服務的按需動態(tài)擴展。因此,ENSM能夠較好地實現服務的擴展。
通過對 ENSM 的服務擴展定性分析可知,ENSM能夠靈活地實現按需定制服務與組合服務,具有很好的服務擴展能力。
網絡的服務可擴展性研究實質上是基于服務以及服務之間關系對網絡提供服務能力的探究。文獻[14-15]把握住這一實質關系,在此基礎上提出了網絡的服務可擴展性的分析方法。本文使用文獻[14-15]提出的網絡服務擴展能力分析方法來定量分析ENSM的服務擴展能力。
文獻[14-15]提出的網絡服務擴展能力分析方法由描述模型和服務評價模型兩部分組成。網絡的服務可擴展性的分析步驟如圖3所示,具體介紹如下:1) 待評價網絡的服務擴展實例使用描述模型,來抽象服務擴展實例中服務及服務間的關系,并設置動態(tài)擴展規(guī)則;2) 對網絡服務擴展實例的描述使用服務評價模型選擇評價指標并確定評價策略;3)經計算與分析得出評價結果。
圖3 網絡的服務可擴展性的分析步驟
4.1.1 描述模型
描述模型用于抽象網絡中服務擴展實例服務、服務間關系以及服務擴展時的擴展規(guī)則。用S={A,c}來描述服務,其中,A表示服務的性能屬性向量,c表示按服務功能分類的服務類型。本文中,J表示服務擴展實例的擴展規(guī)則;f表示服務到服務的映射關系,描述模型中服務映射關系有多種,最基本的有依賴關系、交互關系等。依賴關系是指服務擴展實例中服務間的一方對另一方性能、功能方面的依賴,其中,R={<c1,c2>,r?,v}表示服務間的依賴關系;<c1,c2>表示發(fā)生依賴關系的2個服務種類必須符合的約束條件;r?表示依賴關系規(guī)則向量,用于對依賴關系進行邏輯描述;v表示依賴關系代價,即發(fā)生依賴關系時在某性能上的代價。交互關系是指服務擴展實例中服務間具有功能方面的交互,用服務集合E={S1,S2,…,Sm}表示服務間的交互關系。
S_set(t)表示t時刻的服務集合,J(t)表示t時刻的服務擴展實例的擴展規(guī)則集合,f(t)表示t時刻服務到服務的映射關系集合,則t時刻的描述模型可以表示為M(t)={S_set(t),f(t),J(t),t}。
4.1.2 服務評價模型
由于網絡中服務擴展實例可能存在多個益害性不同的評價指標,因此將網絡的服務擴展能力細分為性能特征維持能力(Keep_ability)和性能特征演進能力(Evo_ability)。假設在初始狀態(tài)下,原服務為T,評價指標數量為i,第i個評價指標為Fi(t)。經過j次動態(tài)變化,T變成T′,Fi(t)變成Fi′(t)。diff表示動態(tài)變化的平均變化系數,如式(2)所示。
其中,αi表示第i個評價指標的權值,n表示變化的次數。
當網絡的某些性能隨著網絡中服務擴展實例的服務擴展而降低時(無論是有害指標的增大還是有益指標值的減?。?,需要計算的是網絡的性能特征維持能力。性能特征維持能力計算值始終小于或等于1,其值越接近1則表示性能特征維持得越好,計算式如式(3)所示。
當網絡的某些性能隨著網絡中服務擴展實例的服務擴展而得到優(yōu)化時(無論是有害指標的減小還是有益指標的增大),需要計算的是網絡的性能特征演進能力。性能特征演進能力計算值始終大于或等于 1,其值越大則表示演進能力越好,計算式如式(4)所示。
從理論和網絡實際應用2個角度對ENSM的服務擴展進行舉例,并對其服務擴展能力進行定量分析。
4.2.1 理論角度服務擴展實例的定量分析
從理論角度選用包含了ENSM服務組合基本流程的服務擴展實例作為分析實例,擴展前后服務的SPN(stochastic petri net)模型[16]分別如圖4和圖5所示,使用SPN的P/T系統中的時間變遷ti(1≤i≤9)表示原子服務,使用SPN的P/T系統中的庫所在位置Pi(1≤i≤9)表示服務執(zhí)行所處的狀態(tài)。假設在圖 5所示的擴展后的服務實例中,位置P6處的選擇概率為在位置P9處的循環(huán)概率為各服務的執(zhí)行速率為λ={λ1=14,λ2=7,λ3=4,λ4=8,λ5=28,λ6=42},變遷速率單位為bit/s。
圖4 擴展前服務的SPN模型
圖5 擴展后服務的SPN模型
1) 服務擴展實例的抽象與描述
使用文獻[14-15]方法中的描述模型對該服務擴展實例進行描述和抽象。實例中服務間最基本的映射關系有依賴關系和交互關系。依賴關系R是指原子服務間存在著行為約束即傳輸依賴;交互關系Er是指原子服務間存在資源交互。由此,建立網絡描述如下。
其中,服務S的屬性向量A中,throughput表示該實例網絡的吞吐量,response time表示該實例網絡的響應時間;服務類型c有 2種,即原子服務 Si和組合服務Sci;在依賴關系R中,Sx與Sy表示2個不同的原子服務,Sx.c表示原子服務Sx的類型,Sy.c表示服務Sy的類型,代價v表示服務間一次交互所需付出的傳輸時間代價。
在該實例中,執(zhí)行每個原子服務時吞吐量和響應時間不會變化,影響整個實例網絡變化的是新原子服務加入導致的網絡吞吐量和響應時間的變化。所以在設定動態(tài)變化規(guī)則時,主要考慮服務擴展的方式,擴展規(guī)則J設定如下。
規(guī)則r1:擴展兩次,每次擴展中增加2個服務,且服務類型是原子服務。
規(guī)則r2:增加原子服務時,服務的擴展流程有順序、選擇、并列和循環(huán)。
2) 服務擴展的計算與分析
使用文獻[14-15]方法中的服務評價模型對該服務擴展實例的服務擴展能力進行計算與分析。在該實例中,服務組合后吞吐量增加是有益指標,因此對其進行特征演化分析;組合后響應時間增加,是有害指標,因此對其進行特征維持分析。假設組合時權值
根據文獻[16]中性能等價化簡分析,響應時間組合運算后可得用式(3)對該實例的響應時間進行特征維持能力分析。由于選擇的評價指標只有一個(即響應時間),因此服務組合時評價指標權值根據式(2)可知
代入式(3),可得
由上述計算可知,隨著原子服務數量的增加,特征維持能力的計算值小于1且越來越接近1,即該實例在服務擴展中具有較好的特征維持能力。
根據文獻[16]中性能等價化簡分析和式(5)可得,吞吐量
其中,R(t,s)表示變遷的標記流速,W(t,s)表示變遷t到狀態(tài)s的權值,U(t)表示變遷利用率,λ表示變遷速率。
用式(4)對該實例的吞吐量進行演化能力分析,由于選擇的評價指標只有一個(即吞吐量),因此服務組合時評價指標權值根據式(2)可知
代入式(4),可得
由上述計算可知,隨著原子服務數量的增加,特征演化能力的計算值大于1且越來越遠離1,即該實例在服務擴展中具有較好的特征演化能力。
4.2.2 網絡應用角度服務擴展實例的定量分析
從網絡實際應用角度,選用數據傳輸服務擴展作為分析實例。圖6是帶有窗口流控功能數據傳輸服務的 SHLPN(stochastic high-level petri net)模型[16],涉及的原子服務類別有系統類、報文類、安全類等。用位置表示執(zhí)行狀態(tài),變遷表示原子服務,符號說明如下:A為數據緩沖器,B為報文緩沖器,C為報文處理緩沖器,D為報文輸出緩沖器,E為報文發(fā)送接口,F為報文檢驗緩沖器,G為報文接受緩沖器,H為報文重組緩沖器,I為應答報文緩沖器,J為應答報文處理緩沖器,K為窗口計數器,L為應答報文接受接口,M 為應答報文檢驗緩沖器, S為發(fā)送序號產生器,R為接收序號產生器,T1為構造報文,T2為報文加校驗和,T3為報文分片,T4為發(fā)送報文,T6為檢驗報文校驗和,T7為錯誤報文處理,T8為接受報文,T9為分片報文的重組,T10為產生應答報文,T11為應答報文加校驗和,T12為發(fā)送應答報文,T13為檢驗應答報文的校驗和,T14為接受應答報文。
圖6 數據傳輸服務
增加位置Q(重發(fā)隊列)、N(錯誤報文接受緩沖器)、O(錯誤報文應答緩沖器),增加變遷T5(重發(fā)報文)、T15(錯誤報文應答的產生)和T16(錯誤報文應答加校驗和)后,數據傳輸服務被擴展成帶有錯誤重傳功能的數據傳輸服務,其SHLPN模型如圖7所示。
圖7 帶有錯誤重傳功能的數據傳輸服務
隨機 Petri網仿真的工具有 SPNP(stochastic petri net package)[17]、GreatSPN1.5、UltraSAN2.0、DSPNexpress1.3等。SPNP是C語言的一個擴充,附加了 SPN模型的描述和性能參數測試函數,一些重要的SPN模型特性都可以在SPNP中規(guī)定和應用。由于SPNP功能強大、使用方便,因此本文選用SPNP作為仿真工具。設定在2個服務的SHLPN模型中,發(fā)送窗口的大小用w表示,傳輸的錯誤率為 0.05。ENSM 數據傳輸服務實例模型中的控制報文長度為128 bit,數據報文長度為1 024 bit,一共傳輸60個數據報文。圖 6服務實例模型中設定變遷速率為{λ1=100.0,λ2=100.0,λ3=100.0,λ4=9.0,λ6=100.0,λ7=5.0,λ8=95.0,λ9=100.0,λ10=100.0,λ11=100.0,λ12=100.0,λ13=100.0,λ14=100.0}。圖7中新增的原子服務變遷速率為{λ5= 100.0,λ15=100.0,λ16=100.0}。變遷速率單位為bit/s。
使用文獻[14-15]提出的網絡服務擴展能力分析方法對該服務擴展實例進行抽象描述和計算分析。該服務擴展實例的抽象描述與4.2.1節(jié)中闡述的“理論角度服務擴展實例”的抽象描述類似。該實例的服務擴展規(guī)則J設定如下。
規(guī)則r1:擴展兩次,第一次擴展中增加1個原子服務,第二次擴展中增加2個原子服務。
規(guī)則r2:增加原子服務時,服務的擴展流程有順序和選擇。
只實現了一次服務于擴展操作,即一次性新增2個原子服務。新增原子服務時會導致網絡的吞吐量和響應時間發(fā)生變化。在該實例中,服務組合后吞吐量變大是有益指標,因此對其進行特征演化分析;組合后響應時間變大,是有害指標,因此對其進行特征維持分析。假設組合時權值
根據仿真實驗可得,增加原子服務之前響應時間為13.685 s,第一次擴展增加T5這個原子服務后的響應時間為13.714 s,第二次擴展增加T15和T16這2個原子服務后的響應時間為13.925 s。使用式(3)對該實例的響應時間進行特征維持能力分析。由于選擇的評價指標只有一個(即響應時間),因此服務組合時評價指標權值根據式(2)可知
代入式(3),可得
由上述計算可知,隨著原子服務的數量的增加,特征維持能力的計算值小于1且越來越接近1,即該實例在服務擴展中具有較好的特征維持能力。
根據仿真實驗可得,增加原子服務之前吞吐量為4.384 kbit/s,第一次擴展增加T5這個原子服務后的吞吐量為4.390 kbit/s,第二次擴展增加T15和T16這2個原子服務后的吞吐量為4.401 kbit/s。使用式(4)對該實例的吞吐量進行演化能力分析。由于選擇的評價指標只有一個(即吞吐量),因此服務組合時評價指標權值根據式(2)可知
代入式(4),可得
由上述計算可知,隨著原子服務的數量的增加,特征演化能力的計算值大于1且越來越遠離1,即該實例在服務擴展中具有較好的特征演化能力。
通過對ENSM中2種服務擴展實例的服務擴展能力定量分析可知,ENSM能夠根據需求靈活定制或組合出某一服務功能,實現服務功能種類的增加;ENSM在實現服務擴展時具有較好的性能特征維持能力和性能特征演化能力,具有很好的服務擴展能力。
綜上所述,ENSM可以按需定制、添加原子服務,并且能夠根據應用需求進行服務組合操作,進而實現網絡服務的按需動態(tài)優(yōu)性能地擴展;隨著ENSM中原子服務數量上的增加以及原子服務間組合關系的增多,ENSM服務擴展所實現服務的功能不斷增加,其服務擴展能力將遠超傳統網絡;ENSM在實現服務擴展時具有交互的性能特征維持能力與演化能力,具有很好的服務擴展能力。
在傳統網絡體系結構中,提供服務是通過開發(fā)、部署和運作網絡協議的方式來實現的。隨著計算機網絡的迅速發(fā)展,各種新型網絡技術和用戶應用需求層出不窮[18],傳統網絡體系結構在服務的定制和擴展能力上的問題也隨之逐漸突顯,協議的針對性開發(fā)部署、協議之間過多的功能性冗余、過高的協議開發(fā)部署成本等都制約著服務定制的能力。如何實現提供穩(wěn)定網絡服務并具備良好的服務定制和擴展能力一直是計算機網絡研究的熱點之一。
本文提出了ENSM,ENSM是對未來網絡提供服務方式和能力的一種探索;介紹了ENSM的基本原理,對ENSM的服務擴展能力進行了定性分析;使用網絡服務可擴展能力分析方法對 ENSM 的服務擴展能力進行了定量分析。由定性分析和定量分析可知,ENSM具有很好的服務擴展能力。
ENSM可按需動態(tài)部署,能很好地實現服務可擴展的特性,從而能夠提供遞歸的服務能力。為了以后更好地設計、實現與推廣使用ENSM,還需要更多的理論分析與論證工作作為堅實地基。下一步的研究工作將對 ENSM 的服務組合運算和 ENSM的性質等進行理論分析與論證。